1. 程式人生 > >SpringMVC攔截器

SpringMVC攔截器

tools nts exc java .net ping db2 handler ppi

配置springmvc.xml代碼:

[java] view plain copy 技術分享技術分享
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context.xsd
  9. http://www.springframework.org/schema/mvc
  10. http://www.springframework.org/schema/mvc/spring-mvc.xsd"
  11. default-autowire="byName">
  12. <!-- auto register Processor -->
  13. <context:annotation-config />
  14. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  15. <property name="basePackage" value="com.anxin.msapweb.db.mybatis.mapper" />
  16. </bean>
  17. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  18. <property name="dataSource" ref="db2dataSource" />
  19. </bean>
  20. <mvc:interceptors>
  21. <mvc:interceptor>
  22. <!-- 需攔截的地址 -->
  23. <!-- 一級目錄 -->
  24. <mvc:mapping path="/*.do" />
  25. <mvc:mapping path="/*.ajax" />
  26. <mvc:mapping path="/*.htm" />
  27. <!-- 二級目錄 -->
  28. <mvc:mapping path="/*/*.do" />
  29. <mvc:mapping path="/*/*.ajax" />
  30. <mvc:mapping path="/*/*.htm" />
  31. <!-- 需排除攔截的地址 -->
  32. <mvc:exclude-mapping path="/login.htm"/>
  33. <bean class="com.anxin.msapweb.web.interceptor.SecurityInterceptor" />
  34. </mvc:interceptor>
  35. </mvc:interceptors>
  36. </beans>

Java代碼:

[java] view plain copy 技術分享技術分享
  1. package com.anxin.msapweb.web.interceptor;
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import javax.servlet.http.HttpSession;
  5. import org.springframework.web.servlet.HandlerInterceptor;
  6. import org.springframework.web.servlet.ModelAndView;
  7. import com.anxin.msapweb.common.Config;
  8. public class SecurityInterceptor implements HandlerInterceptor {
  9. private static final String LOGIN_URL = "/login.htm";
  10. @Override
  11. public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) throws Exception {
  12. HttpSession session = req.getSession(true);
  13. // 從session 裏面獲取用戶名的信息
  14. Object obj = session.getAttribute(Config.Passport.SESSION_NAME_LOGIN_RESULT);
  15. // 判斷如果沒有取到用戶信息,就跳轉到登陸頁面,提示用戶進行登陸
  16. if (obj == null || "".equals(obj.toString())) {
  17. res.sendRedirect(LOGIN_URL);
  18. }
  19. return true;
  20. }
  21. @Override
  22. public void postHandle(HttpServletRequest req, HttpServletResponse res, Object arg2, ModelAndView arg3) throws Exception {
  23. }
  24. @Override
  25. public void afterCompletion(HttpServletRequest req, HttpServletResponse res, Object arg2, Exception arg3) throws Exception {
  26. }
  27. }

SpringMVC攔截器