jax-rs(Java API for RESTful Web Services) 实践教程 之四 —— @Context注入HttpServletRequest 使REST保持状态!
2009-11-20 15:50
951 查看
转载请注明出处http://blog.csdn.net/exsuns
jax-rs提供了一个注解注入的方式来取得客户端的信息
当jax-rs服务基于servlet发布的时候
,还可以通过@Context注入servlet中的ServletConfig
, ServletContext
, HttpServletRequest
, HttpServletResponse
然后REST就可以通过sessionid来保持住用户状态
使用方法:
建个web工程,并加入jax-rs(jsr311)的JAR包
新建一个类
部署部运行
http://localhost:8080/rest/services/UserContext
后台会提示:
然后运行
http://localhost:8080/rest/services/UserContext?name=hello
后台会出现
jax-rs提供了一个注解注入的方式来取得客户端的信息
当jax-rs服务基于servlet发布的时候
,还可以通过@Context注入servlet中的ServletConfig
, ServletContext
, HttpServletRequest
, HttpServletResponse
然后REST就可以通过sessionid来保持住用户状态
使用方法:
建个web工程,并加入jax-rs(jsr311)的JAR包
新建一个类
@Path("UserContext") public class UserContext { @Context UriInfo uriInfo; @Context HttpHeaders httpHeaders; @Context SecurityContext sc; @Context Request req; @Context Response resp; @Context HttpServletResponse response; @Context HttpServletRequest request; @GET public String hi(@QueryParam("name") String yourName ){ if(yourName!=null) request.getSession().setAttribute("name", yourName); String username = (String) request.getSession().getAttribute("name"); if(username!=null){ System.out.println(request.getSession().getId() + ":" + username); } else{ System.out.println(request.getSession().getId() + "没有用户"); } return null; } }
<!--在web.xml加入--> <servlet> <display-name>JAX-RS REST Servlet</display-name> <servlet-name>JAX-RS REST Servlet</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JAX-RS REST Servlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
部署部运行
http://localhost:8080/rest/services/UserContext
后台会提示:
A46756539D2E39CC2CFFCB3FE1C99E70没有用户
然后运行
http://localhost:8080/rest/services/UserContext?name=hello
后台会出现
A46756539D2E39CC2CFFCB3FE1C99E70:hello
相关文章推荐
- jax-rs(Java API for RESTful Web Services) 实践教程 之五 —— 注入全局变量 和 rest的生命周期
- jax-rs(Java API for RESTful Web Services)实践教程 之二 —— get/post/put/delete/head
- jax-rs(Java API for RESTful Web Services) 实践教程 之一 —— 初探jax-rs
- jax-rs(Java API for RESTful Web Services)实践教程 之二 —— get/post/put/delete/head
- jax-rs(Java API for RESTful Web Services) 实践教程 之三 —— 生产Produces与消费Consumes
- JAX-RS(Java API for RESTful Web Services)常用注解
- JAX-RS -- Java API for RESTful Web Services
- jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档
- JAX-RS介绍——Java API forRESTful WebServices,JAX-RS的目标是Web Services开发(这与HTML Web应用不同)而Spring MVC的目标则是Web应用开发
- JAX-RS(Java API for RESTful Web Service)_1.1解析
- jax-ws(Java API for XML Web Services)实践教程
- java resteasy restful webservice教程(六):实现文件下载功能实例文章来源:爱上123 原文地址:http://www.ishang123.com/jishubowen/
- RESTEasy:JAX-RS restful webservices 示例
- RESTful Web Services with RESTeasy JAX-RS on Tomcat 7
- jax-ws(Java API for XML Web Services)实践教程
- RESTful Webservices with Java (Jersey / JAX-RS)
- Java Web HttpServletRequest
- Restful Web services(jax-Rs)
- 10005---JavaWeb基础--HttpServletRequest
- 不二极端编程之JavaWeb详解(HttpServletRequest,HttpServletResponse)