我已经尝试了很多建议,但似乎没有一个对我有用。在tomcat上部署我的jersey应用程序时,不会发生错误。但是当访问任何指定的路径时,它给了我404资源不可用。 我将为您提供文件的相关部分:
的web.xml
<web-app>
<servlet>
<servlet-name>o2r</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>
jersey.config.server.provider.packages
</param-name>
<param-value>com.mypackage.project.MyClass</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>o2r</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
MyClass.java
package com.mypackage.project;
... //imports etc
@Path("control")
public class MyClass
{
@GET
@Path("{param}")
public Response getMsg(@PathParam("param") String msg)
//this part is from some mykong tutorial
{
String output = "Jersey say : " + msg;
return Response.status(200).entity(output).build();
}
}
的pom.xml
...
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.16</version>
</dependency>
...
尝试访问时
http://localhost:8080/MyClass/control/lala
(应该返回&#34; Jersey说:lala&#34;)它只给了我404。 注意:MyClass是我的.WAR文件的正确名称。
答案 0 :(得分:1)
试试这个
com.mypackage.project
代替com.mypackage.project.MyClass