servlet配置restful

所需jar包如下,jar下载地址如下http://download.csdn.net/detail/zhouminglan1992/9730354

1、web.xml配置

<!--给servlet配置restful风格  -->
    <servlet> 
    
        <servlet-name>Jersey 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.eviac.blog.restws</param-value> 
        </init-param> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>Jersey REST Service</servlet-name> 
        <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

 2、测试类

package com.eviac.blog.restws;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
* 
* @author pavithra
* 
*/
 
// 这里@Path定义了类的层次路径。 
// 指定了资源类提供服务的URI路径。
@Path("UserInfoService")
public class UserInfo {
 
// @GET表示方法会处理HTTP GET请求
@GET
// 这里@Path定义了类的层次路径。指定了资源类提供服务的URI路径。
@Path("/name/{i}")
// @Produces定义了资源类方法会生成的媒体类型。
@Produces(MediaType.TEXT_XML)
// @PathParam向@Path定义的表达式注入URI参数值。
public String userName(@PathParam("i") String i) {
 
String name = i;
System.out.println("<User>" + "<Name>" + name + "</Name>" + "</User>");
return "<User>" + "<Name>" + name + "</Name>" + "</User>";
}
 
@GET
@Path("/age/{j}") 
@Produces(MediaType.TEXT_XML)
public String userAge(@PathParam("j") int j) {
 
int age = j;
System.out.println("<User>" + "<Age>" + age + "</Age>" + "</User>");
return "<User>" + "<Age>" + age + "</Age>" + "</User>";
}
}

3、访问路径

http://localhost:8080/servleToRestful/rest/UserInfoService/name/zhangsan

servleToRestful:工程名

rest:web.xml中配置的路径

zhangsan:路径参数,用与传到后台

原文地址:https://www.cnblogs.com/zml-java/p/6255442.html