Spring mvc interceptor配置拦截器,没有登录跳到登录页
2015-11-24 14:10
531 查看
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd" default-autowire="byName"> <!-- auto register Processor --> <context:annotation-config /> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.anxin.msapweb.db.mybatis.mapper" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="db2dataSource" /> </bean> <mvc:interceptors> <mvc:interceptor> <!-- 需拦截的地址 --> <!-- 一级目录 --> <mvc:mapping path="/*.do" /> <mvc:mapping path="/*.ajax" /> <mvc:mapping path="/*.htm" /> <!-- 二级目录 --> <mvc:mapping path="/*/*.do" /> <mvc:mapping path="/*/*.ajax" /> <mvc:mapping path="/*/*.htm" /> <!-- 需排除拦截的地址 --> <mvc:exclude-mapping path="/login.htm"/> <bean class="com.anxin.msapweb.web.interceptor.SecurityInterceptor" /> </mvc:interceptor> </mvc:interceptors> </beans>
注:不支持<mvc:mapping path="*.do" />
package com.anxin.msapweb.web.interceptor; 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; import com.anxin.msapweb.common.Config; public class SecurityInterceptor implements HandlerInterceptor { private static final String LOGIN_URL = "/login.htm"; @Override public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) throws Exception { HttpSession session = req.getSession(true); // 从session 里面获取用户名的信息 Object obj = session.getAttribute(Config.Passport.SESSION_NAME_LOGIN_RESULT); // 判断如果没有取到用户信息,就跳转到登陆页面,提示用户进行登陆 if (obj == null || "".equals(obj.toString())) { res.sendRedirect(LOGIN_URL); } return true; } @Override public void postHandle(HttpServletRequest req, HttpServletResponse res, Object arg2, ModelAndView arg3) throws Exception { } @Override public void afterCompletion(HttpServletRequest req, HttpServletResponse res, Object arg2, Exception arg3) throws Exception { } }
相关文章推荐
- java反射
- 由SpringJdbc引发的一点思考 (比较实用,如何选择Template)
- Java SE复习笔记67
- Bouncy Castle的Java JCE安装方法
- 用Scala推荐的Eclipse作为IDE开发Spark 1.5.1的程序
- java SE复习笔记66
- Java中的内部类和匿名类
- Ehcache 整合Spring 使用页面、对象缓存
- spring3.1中@ResponseBody返回中文乱码
- Java SE复习笔记65
- Java 8的八个新特性
- java system.out.printf()的使用方法 【转】
- Java中的位运算
- java中整数类型(short int long)的存储方式
- java compiler level does not match the version of the installed java project facet
- Spring MVC Controller配置方式
- Java 生成二维码
- JAVA中int、String的类型转换
- struts2源码分析
- 关于java web 启动socket