package util; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class RequestContext { private ServletContext servletContext; private HttpSession session; private HttpServletRequest request; private HttpServletResponse response; private final static ThreadLocal<RequestContext> context = new ThreadLocal<RequestContext>(); protected static RequestContext begin(ServletContext servletContext, HttpServletRequest req, HttpServletResponse res) throws UnsupportedEncodingException { RequestContext rc = new RequestContext(); rc.servletContext = servletContext; req.setCharacterEncoding("UTF-8"); rc.request = req; rc.response = res; rc.session = req.getSession(); context.set(rc); return rc; } protected void end() { this.servletContext = null; this.request = null; this.response = null; this.session = null; context.remove(); } protected static ServletContext getServletContext() { return context.get().servletContext; } protected static HttpSession getSession() { return context.get().session; } protected static HttpServletRequest getRequest() { return context.get().request; } protected static HttpServletResponse getResponse() { return context.get().response; } protected static void redirect(String url) { try { HttpServletRequest request = getRequest(); String basePath = getRequest().getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/"; context.get().response.sendRedirect(basePath + url); } catch (IOException e) { e.printStackTrace(); } } protected static void forward(String url) { RequestDispatcher rd = getRequest().getRequestDispatcher(url); try { rd.forward(getRequest(), getResponse()); } catch (Exception e) { e.printStackTrace(); } } protected static void invalidate() { RequestContext.getSession().invalidate(); } }
RequestContext
猜你喜欢
转载自rzy.iteye.com/blog/1986100
今日推荐
周排行