Java普通类取request | session
2013-09-30 10:30
274 查看
很多人在找,在一个普通类里如何才能取系统的request或session,我也找了下,但没有,就自己实现了一下,期待需要的有缘人,希望能帮到一点点。
具体如下:
实现步骤:
1.定义一个线程类,普通的:
类里最主要的就是定义了一个参数:
private static ThreadLocal<HttpServletRequest> httpRequest = new ThreadLocal<HttpServletRequest>();
另外给了set get remove和线程相关的三个方法;
具体如下:
2.定义一个filter,拦截所有的请求,把request装入
代码如下:
3.如何使用:
具体如下:
实现步骤:
1.定义一个线程类,普通的:
类里最主要的就是定义了一个参数:
private static ThreadLocal<HttpServletRequest> httpRequest = new ThreadLocal<HttpServletRequest>();
另外给了set get remove和线程相关的三个方法;
具体如下:
public class SystemRequestContext{ private static ThreadLocal<HttpServletRequest> httpRequest = new ThreadLocal<HttpServletRequest>(); private static ThreadLocal<HttpSession> session = new ThreadLocal<HttpSession>(); public static void removeHttpSession() { session.remove(); } public static HttpSession getSession() { return session.get(); } public static void setSession(HttpSession _session) { session.set(_session); }
2.定义一个filter,拦截所有的请求,把request装入
SystemRequestContext
代码如下:
public void doFilter(ServletRequest req, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)req; SystemRequestContext.setHttpRequest(request); SystemRequestContext.setSession(request.getSession()); try{ chain.doFilter(request, response); }finally{ SystemRequestContext.removeHttpRequest(); SystemRequestContext.removeHttpSession(); } }
3.如何使用:
public class UserModuleValidateTag { public static boolean validateModule(String module) { HttpServletRequest request = SystemRequestContext.getHttpRequest(); if(null!=request) System.out.println("^_^"+request);
相关文章推荐
- 教你在Java的普通类中轻松获取Session以及request中保存的值
- 在java中如何在非servlet的普通类中获取request、response、session
- 在java中如何在非servlet的普通类中获取request、response、session
- 普通java类得到request、session等
- flex 中通过 RO 调用一个java写的Bean的时候获得IP地址的方法 .也就是获得session 和 request的方法
- java HttpServletRequest 获取和设置session
- java中使用request,application,session,cookie对象
- spring的普通类中如何取session和request对像
- java中request,application,session三个域及参数简单示例
- java 中的request.setAttribute和session.setAttribute的区别
- Java乔晓松-Struts2中文件上传和多文件上传以及获取HttpServletRequest / HttpSession / ServletContext / HttpServletRespon
- java类文件获取页面的request,session.response
- Java 中遍历 Session or Request
- JAVA程序通过后台登陆网站,获取Session,然后再POST Http Request添加数据到数据库的实例
- spring 普通类获取四大作用域request、applicationContext、session、page
- java中servletContextListener、httpSessionListener和servletRequestListener使用整理
- Java 中遍历 Session or Request
- java中servletContextListener、httpSessionListener和servletRequestListener使用整理
- java_web初学笔记之<Jsp四个域对象page/request/session/application>
- [转] spring的普通类中如何取session和request对像