我正在使用jaxrs 2.23.2版创建一个简单的RESTful Web服务。但@Path无法正常工作。 服务类
package com;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
@Path("/User/Services")
public class UserServices {
@PUT
@Path("/create")
public void createUser(){
System.out.println("Inside createUser");
}
@GET
public void getUser(){
System.out.println("Inside getUser");
}
@POST
public void updateUser(){
System.out.println("Inside updateUser");
}
@DELETE
public void deleteUser(){
System.out.println("Inside deleteUser");
}
}
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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>RestFullTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>myrest</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myrest</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
创建此项后,如果我在浏览器URL中提供/ User / Services,则控制台中不会打印任何内容。 例如:
http://localhost:8089/RestFullTest/rest/User/Services
答案 0 :(得分:1)
System.out.println()
方法在服务器端打印,因此文本不会按预期发送到客户端。要在Web浏览器中将消息视为文本,您需要返回一个String作为响应:
@GET
public String getUser(){
return "Inside getUser";
}
你可以在这里找到一个简单的休息示例(转到6.3.Java类部分): http://www.vogella.com/tutorials/REST/article.html