1
我有一个简单的项目RESTful API使用泽西框架和Netbean SDK。REST风格的泽西多个资源和包
我创建了一个资源,并把它放在不是默认不同的包,还指定了包中的XML文件: The resource is CustomerProfile, and package is Profile. Package "Profile" is not part of the default package 这里是我的XML:
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>trial1.jerseytutorial</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>Profile</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
我也定义在资源CustomerProfile.java
package Profile;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/CustomerProfile") // the URL path leading to the resource
public class CustomerProfile {
@GET // map the method to HTTP Get
@Produces(MediaType.TEXT_PLAIN) // tell the return format of the request
public String getProfile() {
return "Got the profile !";
}
}
然而,当我浏览到http://localhost:8080/JerseyTutorial/webapi/CustomerProfile,我得到404错误。我怀疑我的XML servlet是不正确的。
感谢您的尝试。它还没有工作。 –
'trial1.jerseytutorial'中的类是否工作? –
它确实有效。看起来我创建了一个“子包”,但不是一个包。所以,我应该只用: jersey.config.server.provider.packages trial1.jerseytutorial参数值> 我的Java类,我能说出我的包为:trial1 .jerseytutorial.Profile 而不是只是个人资料。 我仍然困惑于如何创建一个不同的包,而不是一个子包 –