1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > jsp中的url拼接的参数传递到controller乱码_Spring MVC中的拦截器

jsp中的url拼接的参数传递到controller乱码_Spring MVC中的拦截器

时间:2022-02-12 05:50:16

相关推荐

jsp中的url拼接的参数传递到controller乱码_Spring MVC中的拦截器

拦截器是 AOP 编程思想的典型应用

详述 Spring MVC 框架中拦截器 Interceptor 的使用方法​

实现

1:创建一个controller类

package

2:创建一个类实现HandlerInterceptor接口作为拦截器

package

preHandle()方法在“处理方法”之前执行postHandle()方法在“处理方法”之后执行afterCompletion()方法在“Dispatcherservlet ”结束之后执行

3:在spring配置文件中对拦截器进行配置

<?xml version="1.0" encoding="UTF-8"?>

注意,使用Spring MVC的拦截器需要导入头文件:xmlns:mvc="/schema/mvc";/schema/mvc; /schema/mvc/spring-mvc.xsd<mvc:mappingpath="/**"/>中的“/**”表示:根路径及根路径下的所有子路径都添加了这个拦截器(实际范围看下方)

关于拦截器的作用范围

以上面为例,虽然在spring配置文件中配置了"cn.sxt.interceptor.MyInterceptor"(这个拦截器的)作用范围为<mvc:mappingpath="/**"/>(根路径下即其所有子路径),但是并不是所有链接的申请都可以被这个拦截器拦截。

因为这个拦截器的真是范围还收到web.xml与spring配置文件中影响。

还是以上面为例,其web.xml为:

<servlet>

可以看到,其作用范围设置为<url-pattern>/</url-pattern>(所有),但在随后的spring配置文件中通过“可使用包标签(暂且这么称呼)”对其进行了限制

<context:component-scan

而拦截器也受着两个配置文件的限制,所以,上面例子中的拦截器其真是范围应该是:通往这两个包(cn.sxt.controller、cn.sxt.servlet)的所有链接

PS:“猜想”:所有spring配置文件中的组件的作用范围都受“可使用包标签(暂且这么称呼)”(dispatcherservlet)的限制,例如视图渲染器与拦截器等

例:设置登录操作的拦截器

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。