java - 从 HTML 调用 REST Web 服务

标签 java xml web-services rest jersey-1.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 文件时,我收到错误:

webpage not found 404 html files not running in restful web services using jersey

最佳答案

为了使 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>

更多信息here

关于java - 从 HTML 调用 REST Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734985/

相关文章:

java - 以编程方式调用黑莓中的默认媒体播放器?

php - XmlReader::next 在返回 false 时如何定位光标

python - 使用 lxml 解析并使用 python 请求

java - 使用 DataSource 的 Wildfly 配置

web-services - OTRS 网络服务端点在哪里?

java - Tomcat问题启动服务器

Java - 套接字数据传输是否可能因内存太少而被阻止?

java - 在 Android 中存储和显示图像的最佳方式

java - XML 添加与子元素相同的元素(获取 HIERARCHY_REQUEST_ERR)

java - JBoss Fuse 6.3.0 CXF 引用教程与 JBoss Deveoper Studio 最新版本如 9.* 或 10.*