拦截器中加request、response

1 拦截器代码

package com.request;

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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.pingan.opt.clearing.account.constant.SysContent;

public class HandlerInterceptor extends HandlerInterceptorAdapter{

		@Override
	    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
			
			SysContent.setRequest((HttpServletRequest) request);
	        SysContent.setResponse((HttpServletResponse) response);
	        return true;
	    }
		
	    @Override
	    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
	    }
	    
	    @Override
	    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
	    	SysContent.removeRequest();
	    	SysContent.removeResponse();
	    }
}

2.添加request response

package com.request;

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

public class SysContent {
    private static ThreadLocal requestLocal = new ThreadLocal();
    private static ThreadLocal responseLocal = new ThreadLocal();
    public static HttpServletRequest getRequest() {
        return (HttpServletRequest) requestLocal.get();
    }
    public static void setRequest(HttpServletRequest request) {
        requestLocal.set(request);
    }
    public static HttpServletResponse getResponse() {
        return (HttpServletResponse) responseLocal.get();
    }
    public static void setResponse(HttpServletResponse response) {
        responseLocal.set(response);
    }

    public static void removeRequest() {
    	requestLocal.remove();
    }
    public static void removeResponse() {
    	responseLocal.remove();
    }
    public static HttpSession getSession() {
        return (HttpSession) ((HttpServletRequest) requestLocal.get()).getSession();
    }
    
}

你可能感兴趣的:(后端知识)