SpringMVC拦截器之拦截跳转页面
来源:互联网 发布:一夫一妻制 知乎 编辑:程序博客网 时间:2024/05/03 10:38
package com.guide.interceptors;import java.util.Enumeration;import java.util.HashMap;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;public class ProvinceInterceptor implements HandlerInterceptor{public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {HttpSession session = request.getSession();Enumeration<String> e = session.getAttributeNames();HashMap< String, String> map = new HashMap<String, String>();while(e.hasMoreElements()){map.put(e.nextElement(),"");}if (map.containsKey("login_level")) {if (session.getAttribute("login_level").equals("prov")) {return true;}else{//response.sendError(501, "您已经退出。请重新登录");response.sendRedirect("/CscaCenter/login.jsp");return false;}}else{//response.sendError(502, "这里有点问题,请访问登录页面!");response.sendRedirect("/CscaCenter/login.jsp");return false;}}public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {// TODO Auto-generated method stub}public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)throws Exception {// TODO Auto-generated method stub}}
response.sendRedirect是通过浏览器来做转向的。
假设在A.jsp页面设置request.setAttribute("username","admin");
那么在 request.sendredirect 转向的B.jsp页面中是不能通过request.getAttribute("username"); 来得到admin的。
这是因为上个页面请求已经结束,也就是 request这个对象已经消亡了。所以也就得不到admin了。
可以使用request.getDispatcherHeader(B.jsp").forward(request,response);在B.jsp页面就可以得到admin了。
此外要说明:如果你的jsp页面是在webroot目录下,那么在response.sendRedirect(参数);参数中的路径是不同的。
response.sendRedirect(参数);应该是:response.sendRedirect(request.getContextPath() + "/B.jsp");
而在request.getDispatcherHeader(参数).forward(request,response);应该使用request.getDispatcherHeader("B.jsp").forward(request,response);
0 0
- SpringMVC拦截器之拦截跳转页面
- struts2之通配符、页面跳转、拦截器
- springMVC 拦截器如何做登录检查及页面跳转
- springMVC 拦截器如何做登录检查及页面跳转
- springMVC之拦截器
- SpringMVC之拦截器
- java拦截器跳转页面
- vue页面跳转拦截器
- SpringMVC Controller内部跳转如何被拦截器拦截
- springMVC之拦截器详解
- springMVC之拦截器-HandlerInterceptor
- SpringMVC之Interceptor拦截器
- SpringMVC-3之拦截器
- SpringMVC之interceptor拦截器
- Struts2 拦截器控制jsp页面跳转
- springMVC运用拦截器实现页面保护
- SpringMVC之Interceptor拦截器之登录拦截器
- [SpringMVC] SpringMVC拦截器
- 如果有人问你 SQL 注入的资料,请叫他看这份速查表
- android studio设置Tab为四行缩进
- HDU 2085 核反应堆
- 【Unity资源】(模型/交通工具)
- SVM熟练到精通5:MATLAB实例
- SpringMVC拦截器之拦截跳转页面
- 03_3Pandas_数据统计
- JavaScript之浏览器对象
- RequestMapping的映射URL模板
- 架构师之我的看法
- JAVA选择题云集(一)
- oracl 导入数据示例 一个用户导入另一个用户
- maven学习笔记
- Redis 内存使用优化与存储