在用springmvc3时经常会碰到登录拦截这种需求,最新想到的办法是用拦截器,但在用拦截器时想让某些静态文件和某些url不需要拦截,实现如下:
spring-servlet.xml:
<mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.xxx.interceptor.UserLoginCheckInterceptor"> <property name="excludeUrlPatterns"> <list> <value>/login/*</value> <value>/resources/**</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors>
UserLoginCheckInterceptor.java
public class UserLoginCheckInterceptor extends HandlerInterceptorAdapter { private List<String> excludeUrlPatterns; private PathMatcher pathMatcher = new AntPathMatcher(); public void setExcludeUrlPatterns(List<String> excludeUrlPatterns) { this.excludeUrlPatterns = excludeUrlPatterns; } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String servletPath = request.getServletPath(); for(String urlPattern : excludeUrlPatterns){ if(pathMatcher.match(urlPattern,servletPath)){ return true; } } HttpSession session = request.getSession(); if(!Constants.CORRECT.equals(session.getAttribute(Constants.USER_NAME))){ response.sendRedirect(request.getContextPath() +"/login.jsp"); return false; } return true; } }
说明:
在配置文件中可以写不被拦截url pattern,写法和requestMapping一样,此处用到了AntPathMatcher类,springmvc中url映射本身也是用的此类,这里只是借用一下,即可完成urlpattern.
相关推荐
企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告
本篇文章主要介绍了防止SpringMVC拦截器拦截js等静态资源文件的解决方法,具有一定的参考价值,有兴趣的同学可以了解一下
SpringMVC框架下对限定时间拦截(适用于初学者)
SpringMVC拦截器例子详解,
SpringMVC - 拦截器
Springmvc框架进行登录验证,除了某些特定的action请求不需要登录验证,例如登录,注册等。其他的action请求均需要登录验证,若没有登录则直接调到登录界面。若登录成功,则通过拦截
SpringMVC中的拦截器-拦截器方法的作用和执行顺序.avi
SpringMvc 拦截器 原理清楚,代码简单,值得学习!
主要介绍了SpringMVC配置拦截器实现登录控制的方法,SpringMVC读取Cookie判断用户是否登录,对每一个action都要进行判断,有兴趣的可以了解一下。
springmvc 拦截器
主要介绍了SpringMvc自定义拦截器(注解)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springmvc拦截器实现登录验证
SpringMVC拦截器源代码
可下载部署直接运行
SpringMVC拦截器的使用,通俗易懂!
自定义拦截器的具体实现、自定义拦截器的配置方式、多个拦截器之间的执行执行顺序
初学期间研究的一些东西,随意看看,可以参考,嘿嘿嘿~~springmvc分页拦截器文件上传下载。
Spring MVC AOP通过自定义注解方式拦截Controller等实现日志管理, springMVC里做添加AOP拦截,用于捕获异常。
1.拦截器的配置 2.异常处理器的两种方式配置
主要介绍了SpringMVC自定义拦截器实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下