Spring MVC拦截器实现
到这段时,
想起来了以前学底层一些的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拦截器实现相关推荐
- 使用session监听+spring MVC拦截器禁止用户重复登录
在许多web项目中,需要禁止用户重复登录.一般来说有两种做法: 一是在用户表中维护一个字段isOnLine(是否在线),用户登录时,设定值为true,用户退出时设定为false,在重复登录时,检索到该 ...
- spring mvc拦截器_Spring MVC拦截器示例
spring mvc拦截器 我认为现在是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示说:在传入的HTT ...
- Spring MVC拦截器~~~登陆验证拦截
[ 30 分 钟 轻 松 入 门 Spring MVC][web 三 大 组 件 之 ~ ~ Filter 过 滤 器] Interceptor 拦截器学习: 1.了解spring mvc拦截器的概念 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- Java Spring MVC框架 VIII 之 Spring MVC拦截器
Java Spring MVC框架 VIII 之 Spring MVC拦截器 Spring MVC拦截器 1.拦截器简介 拦截器是SpringMvc框架提供的功能 它可以在控制器方法运行之前或运行之后 ...
- spring mvc 拦截器拦截jsp页面
spring mvc 拦截器怎么拦截jsp页面 你这个 是拦截带 /jsp 的 .do请求 解决方案 用spring 的拦截器 去拦截 所有的 .do 请求, 然后写一个 过滤器去拦截 所有的.jsp ...
- Spring MVC拦截器
1.如何实现登录权限检查 使用session进行约定值的检查 实现方法: (1)使用Filter (2)使用Spring的拦截器 拦截器组件简介:Spring MVC特有组件,可以在调用Control ...
- Spring MVC拦截器示例
我以为是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示进行操作:在传入的HTTP请求到达您的Spring ...
- 面试:给我说一下Spring MVC拦截器的原理?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://urlify.cn/namaQ ...
最新文章
- python pdf处理 图片_python PDF文件合并、图片处理
- databinding学习(1)
- NSURLErrorRelatedURLSessionTaskErrorKey
- C语言 遍历字符串数组
- JSON数据与JavaScript对象转换
- 美国远程医疗公司First Stop Health获210万天使投资
- BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
- 【图像超分辨率】Remote Sensing Imagery Super Resolution Based on Adaptive Multi-Scale Feature Fusion Network
- 存图利器——链式前向星
- juery的跨域请求2
- linux 移动硬盘 优化,不花一分钱,给移动硬盘加速
- 迭代近邻算法Iterative Closest Point, ICP
- 【转】javascript弹出固定大小的窗口页面
- [MATLBA]imresize函数的用法
- perl脚本的参数输入
- 班级抽签小程序——项目总结
- Python常见问题与解决方案
- Eclipse编辑器基本设置
- c语言计算sum,C++ partial_sum(STL partial_sum)部分和计算方法详解
- JavaScript代码模拟鼠标自动点击事件