我们正在尝试构建一个RESTful Web服务来打印Hello World,但是在运行它时会发现找不到文件错误。
java文件:
package com.gslabs.contact;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Path("/Contact")
public class ContactREST {
@GET
@Produces(MediaType.TEXT_HTML)
public String gethtmlcontact_info()
{
return "<html>"+"<title>"+"Contact-info"+"</title>"+"<body><h1>"+"Contact-Info"+"</body></h1></html>";
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getXMLcontactinfo()
{
return "Contact info";
}
}
的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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>RestfulWS</display-name>
<servlet>
<servlet-name>Rest Service</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.gslabs.contact</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Contacts Info</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
答案 0 :(得分:0)
您必须发出http请求,例如:
http://domain-name2.domain-name1:port/jaxrs/rest/contact
其中:
domain-name2.domain-name1
- 已部署服务(指定您自己的服务)的服务器jaxrs
- 上下文根(输入您自己的)rest
- REST资源的路径(指定您自己的)并指定不带斜杠的资源标识符:
@Path("contact")
答案 1 :(得分:0)
尝试添加项目名称而不是jaxrs。
答案 2 :(得分:0)
blablahhost:port/blahblah/rest/contact
,你的网络服务器也会对它需要调用哪种方法感到困惑。那么为什么不定义两个获取请求的路径?