Spring mvc interceptor配置拦截器,没有登录跳到登录页
<?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 value="com.anxin.msapweb.db.mybatis.mapper" /></bean><bean id="sqlSessionFactory" 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 /></mvc:interceptor></mvc:interceptors></beans>
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";@Overridepublic 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;}@Overridepublic void postHandle(HttpServletRequest req, HttpServletResponse res, Object arg2, ModelAndView arg3) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest req, HttpServletResponse res, Object arg2, Exception arg3) throws Exception {}}