到这段时,

想起来了以前学底层一些的servlet & jsp技术时,

过滤器和拦截器也有相关实现,

但比起来,spring的实现,可用性高很多。

其它代码不再放上来,

只放拦截器实现和xml配置吧。

AuthorizationInterceptor.java

package org.fkit.interceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.fkit.domain.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;public class AuthorizationInterceptor implements HandlerInterceptor {private static final String[] IGNORE_URI = {"/loginForm", "/login"};@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object Handler, Exception exception) throws Exception {System.out.println("AuthorizationInterceptor afterCompletion-->");}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mv)throws Exception {// TODO Auto-generated method stubSystem.out.println("AuthorizationInterceptor postCompletion-->");}@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// TODO Auto-generated method stubSystem.out.println("AuthorizationInterceptor preCompletion-->");boolean flag = false;String servletPath = request.getServletPath();for (String s : IGNORE_URI) {if (servletPath.contains(s)) {flag = true;break;}}if (!flag) {User user = (User) request.getSession().getAttribute("user");if (user == null ) {System.out.println("AuthorizationInterceptor拦截讲求:");request.setAttribute("message", "请先登陆再访问网站");request.getRequestDispatcher("loginForm").forward(request, response);} else {System.out.println("AuthorizationInterceptor 放行请求:");flag = true;}}return flag;}}

springmvc-config.xml

<?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:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsd"><context:component-scan base-package="org.fkit.controller"/><mvc:annotation-driven /><mvc:default-servlet-handler/><mvc:interceptors><mvc:interceptor><mvc:mapping path="/*"/><bean class="org.fkit.interceptor.AuthorizationInterceptor" /></mvc:interceptor></mvc:interceptors><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix"><value>/WEB-INF/content/</value></property><property name="suffix"><value>.jsp</value></property></bean><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize"><value>10285760</value></property>  <property name="defaultEncoding"><value>UTF-8</value></property></bean></beans>

Spring MVC拦截器实现相关推荐

  1. 使用session监听+spring MVC拦截器禁止用户重复登录

    在许多web项目中,需要禁止用户重复登录.一般来说有两种做法: 一是在用户表中维护一个字段isOnLine(是否在线),用户登录时,设定值为true,用户退出时设定为false,在重复登录时,检索到该 ...

  2. spring mvc拦截器_Spring MVC拦截器示例

    spring mvc拦截器 我认为现在是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示说:在传入的HTT ...

  3. Spring MVC拦截器~~~登陆验证拦截

    [ 30 分 钟 轻 松 入 门 Spring MVC][web 三 大 组 件 之 ~ ~ Filter 过 滤 器] Interceptor 拦截器学习: 1.了解spring mvc拦截器的概念 ...

  4. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  5. Java Spring MVC框架 VIII 之 Spring MVC拦截器

    Java Spring MVC框架 VIII 之 Spring MVC拦截器 Spring MVC拦截器 1.拦截器简介 拦截器是SpringMvc框架提供的功能 它可以在控制器方法运行之前或运行之后 ...

  6. spring mvc 拦截器拦截jsp页面

    spring mvc 拦截器怎么拦截jsp页面 你这个 是拦截带 /jsp 的 .do请求 解决方案 用spring 的拦截器 去拦截 所有的 .do 请求, 然后写一个 过滤器去拦截 所有的.jsp ...

  7. Spring MVC拦截器

    1.如何实现登录权限检查 使用session进行约定值的检查 实现方法: (1)使用Filter (2)使用Spring的拦截器 拦截器组件简介:Spring MVC特有组件,可以在调用Control ...

  8. Spring MVC拦截器示例

    我以为是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示进行操作:在传入的HTTP请求到达您的Spring ...

  9. 面试:给我说一下Spring MVC拦截器的原理?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://urlify.cn/namaQ ...

最新文章

  1. python pdf处理 图片_python PDF文件合并、图片处理
  2. databinding学习(1)
  3. NSURLErrorRelatedURLSessionTaskErrorKey
  4. C语言 遍历字符串数组
  5. JSON数据与JavaScript对象转换
  6. 美国远程医疗公司First Stop Health获210万天使投资
  7. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
  8. 【图像超分辨率】Remote Sensing Imagery Super Resolution Based on Adaptive Multi-Scale Feature Fusion Network
  9. 存图利器——链式前向星
  10. juery的跨域请求2
  11. linux 移动硬盘 优化,不花一分钱,给移动硬盘加速
  12. 迭代近邻算法Iterative Closest Point, ICP
  13. 【转】javascript弹出固定大小的窗口页面
  14. [MATLBA]imresize函数的用法
  15. perl脚本的参数输入
  16. 班级抽签小程序——项目总结
  17. Python常见问题与解决方案
  18. Eclipse编辑器基本设置
  19. c语言计算sum,C++ partial_sum(STL partial_sum)部分和计算方法详解
  20. JavaScript代码模拟鼠标自动点击事件

热门文章

  1. arguments.callee查询调用b函数的是哪个函数
  2. iOS开发网络数据之AFNetworking使用
  3. 自动转发outlook的邮件
  4. 磁珠,电感,零欧电阻之间的区别
  5. Python之迭代器和生成器(Day17)
  6. 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰
  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(50)-Easyui 扁平化皮肤
  8. 7. PowerShell -- Provider,数据操作和注册表操作
  9. 大数据导论之为何需要引入大数据
  10. Hibernate的generator属性之意义【转】