0
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>";  
  }  


}

以下 URL 以 XML 形式返回结果:

.../SampleRest/ServiceProvider2/InchToFeet?i=2

这很好,但是当我尝试使用 tomcat 服务器运行 HTML 文件时,我得到了错误:

未找到网页 404 html 文件未在使用 jersey 的 RESTful Web 服务中运行

4

1 回答 1

1

为了使 html 文件也可以工作,您应该修改 web.xml 文件以将您的 Jersey Servlet 仅映射到它应该处理的 url(RESTful url)。

<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>

更多信息在这里

于 2014-05-19T10:20:36.590 回答