spring MVC简单拦截器
来源:互联网 发布:淘宝联盟 佣金 冻结 编辑:程序博客网 时间:2024/04/29 18:05
><!-- 声明改变request的拦截器 --><mvc:interceptors> <mvc:interceptor> <!-- 声明request的拦截器拦截的url --> <mvc:mapping path="/origin/**/*"/> <!-- 声明改变request的拦截器不拦截的url --> <mvc:exclude-mapping path="/**/static/*"/> <mvc:exclude-mapping path="/**/*.css"/> <mvc:exclude-mapping path="/**/*.js"/> <bean class="com.qxwljs.jxp.sdk.interceptor.ApiGrantValidateInterceptorOrigin"></bean> </mvc:interceptor> </mvc:interceptors>
origin门户登陆权限验证拦截器java类
public class ApiGrantValidateInterceptorOrigin extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { try { String loginname = (String) request.getSession().getAttribute("LOGIN_SESSION");//获取session中当前登陆者账号 if(StringUtils.isNotBlank(loginname)){ return true; }else if(request.getRequestURI().contains("/origin/login")){//获取request中的url return true; }else if(request.getRequestURI().contains("/origin/ajax")){//获取request中的url return true; }else{ //如果未登录通过request转发并带着request,response request.getRequestDispatcher("/origin/login").forward(request, response); return true; } } catch (Exception e) { e.printStackTrace(); return false; }}
}
>
forward(转发)和redirect(重定向)的区别
从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.
从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
从效率来说
forward:高.redirect:低
在转发之前,在request中设置值
request.setAttribute(“root”, “123456”);
阅读全文
0 0
- spring MVC简单拦截器
- spring mvc 拦截器简单例子
- Spring mvc 拦截器的简单使用
- Spring MVC拦截器,登录拦截简单配置
- spring.spring mvc--SpringMVC拦截器简单使用
- Spring MVC 拦截器
- Spring MVC 拦截器
- Spring MVC 拦截器
- spring MVC拦截器
- Spring MVC拦截器
- spring mvc 拦截器
- spring mvc 拦截器
- spring mvc 拦截器
- Spring mvc 拦截器
- spring mvc 拦截器
- spring mvc 拦截器
- spring mvc 拦截器
- Spring MVC 拦截器
- 【UER #1】【UOJ #14】DZY Loves Graph
- IDEA 代码调试
- mysql常用函数
- IDEA解决mavenjar包冲突
- 68. Text Justification
- spring MVC简单拦截器
- matlab 调用java 代码(亲测可用)
- C# winform中一个类中如何调用另一个窗体的控件或方法
- ios 11 定位权限增加仅在使用期间使用方法
- CSAPP Note chap2
- Redis基本知识点
- BRD、MRD、PRD与FSD
- 程序员的提升空间
- 设计模式:备忘录模式