servlet配置restful

时间:2024-01-17 19:15:02

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

servlet配置restful

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:路径参数,用与传到后台