SpringAOP在项目中的简单应用(四)

2014-11-23 23:37:56 · 作者: · 浏览: 2
tpServletRequest) request); SysContext.setResponse((HttpServletResponse) response); chain.doFilter(request, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } }

SysContext 存储变量:

package cn.qtone.xxt.base.aop;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Description: 系统请求上下文(主要存储request及response对象)
 * @author 柯颖波
 * @date 2014-4-1 下午02:49:58
 * @version v1.0
 */
public class SysContext {
	private static ThreadLocal
    
      requestLocal = new ThreadLocal
     
      (); private static ThreadLocal
      
        responseLocal = new ThreadLocal
       
        (); /** * @Description: 获取HttpServletRequest对象 * @return 设定文件 */ public static HttpServletRequest getRequest() { return (HttpServletRequest) requestLocal.get(); } /** * @Description: 设置HttpServletRequest对象 * @return 设定文件 */ public static void setRequest(HttpServletRequest request) { requestLocal.set(request); } /** * @Description: 获取HttpServletResponse对象 * @return 设定文件 */ public static HttpServletResponse getResponse() { return (HttpServletResponse) responseLocal.get(); } /** * @Description: 设置HttpServletResponse对象 * @return 设定文件 */ public static void setResponse(HttpServletResponse response) { responseLocal.set(response); } /** * @Description: 清除配置相关变量 */ public static void clear() { requestLocal.remove(); responseLocal.remove(); } }
       
      
     
    
那么,只要配好过滤器,那么上面的request,response对象可以这样获取:

HttpServletResponse response = SysContext.getResponse();
HttpServletRequest request =  SysContext.getRequest();