admin管理员组

文章数量:1794759

Spring mvc interceptor配置拦截器

Spring mvc interceptor配置拦截器

xml代码:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.Springframework/schema/beans" xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns:context="www.springframework/schema/context" xmlns:mvc="www.springframework/schema/mvc" xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/beans/spring-beans.xsd www.springframework/schema/context www.springframework/schema/context/spring-context.xsd www.springframework/schema/mvc www.springframework/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>

Java代码:

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.msapwebmon.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 { } }

本文标签: 拦截器springMVCInterceptor