package com.leadwinner;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
@Path("ServiceProvider2")
public class ServiceProvider2 {
@GET
@Path("/InchToFeet")
@Produces(MediaType.TEXT_XML)
public String convertInchToFeet(@QueryParam("i") int i) {
int inch=i;
double feet = 0;
feet =(double) inch/12;
return "<InchToFeetService>"
+ "<Inch>" + inch + "</Inch>"
+ "<Feet>" + feet + "</Feet>"
+ "</InchToFeetService>";
}
}
以下网址以XML格式返回结果:
... / SampleRest / ServiceProvider2 / InchToFeet?I = 2
这很好,但是当我尝试使用tomcat服务器运行HTML文件时,我收到错误:
网页未找到404 html文件未在restful Web服务中运行 使用球衣
答案 0 :(得分:1)
为了使html文件也有效,你应该修改web.xml文件,将你的Jersey Servlet映射到它应该处理的URL(RESTful urls)。
<web-app>
<servlet>
<servlet-name>MyApplication</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
...
</init-param>
</servlet>
...
<servlet-mapping>
<servlet-name>MyApplication</servlet-name>
<url-pattern>/ServiceProvider2/*</url-pattern>
</servlet-mapping>
...
</web-app>
更多信息here