两简单
POST
和
GET
URL,
本地主机:8080/mdht restlet
,从intellij idea运行时两者都能完美工作。分别地,
mdht-restlet.war公司
落入
/opt/tomcat/webapp
部署,在tomcat应用程序管理器中显示为正在运行,在
加泰罗尼亚
. 获取和发布都产生404。不管我是从命令行生成战争文件,
mvn package
,或者从思想上,
Build-> Build Artifacts...
,结果相同。
如前所述,它在idea run/debug中工作得很好。我不知道该看什么。以下是一些相关细节:
Web.XML
内容:
<servlet>
<servlet-name>mdht-restlet</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>com.windofkeltia.servlet</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>mdht-restlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
XML
为战争构建插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version>
<configuration>
<webResources>
<resource>
<!-- this is relative to the project parent directory -->
<directory>web</directory>
</resource>
</webResources>
</configuration>
</plugin>
mdhtrestlet.java
:
package com.windofkeltia.servlet;
...
@Path( "/mdht-restlet" )
public class MdhtRestlet
{
@POST
@Consumes( MediaType.TEXT_PLAIN )
@Produces( MediaType.TEXT_XML )
public Response postPatientData( @Context HttpServletRequest request, @Context HttpHeaders header )
{
...
}
@GET
@Produces( MediaType.TEXT_PLAIN )
public String getStatusInPlainText()
{
return "The MDHT restlet is up.";
}
}