当我使用Eclipse(Servers)启动Web服务时,它可以正常工作,我测试了GET和POST方法。但是,当我将应用程序导出为WAR文件并使用tomcat管理UI部署时,它返回404未找到状态。
以下是示例:
@Path("/webservice")
public class WebService {
@POST
@Path("/post")
@Produces(MediaType.APPLICATION_JSON)
public Response helloWorld(String inputJson) {
return Response.ok().entity("Hello World").build();
}
@GET
@Path("/{param}")
public Response getMessage(@PathParam("param") String message) {
String output = "Jersey say Hello World!!! : " + message;
return Response.status(200).entity(output).build();
}
}
这里是web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>WebService</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>package.webservice</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
有人能解释一下在eclipse中启动服务和在本地(或远程主机)部署的区别吗?我该如何调试或获取一些关于此的跟踪信息?