SpringMVC 拦截器路径怎么写

相对这样的请求进行拦截 /HTML/xxx.html

clipboard.png

拦截器我是这么写的

<mvc:interceptors>

<mvc:interceptor>

<mvc:mapping path="/HTML/*" />

<mvc:mapping path="/HTML/*.html" />

<bean class="com.staffos.interceptor.CommonInterceptor"></bean>

</mvc:interceptor>

</mvc:interceptors>

但实际上没有拦截到, 那像 /HTML/xxx.html 的请求拦截器怎么写,是我哪里错了?

回答:

为何不从根目录起设置?或者用**代替前缀

回答:

你如何判断没有拦截到?
CommonInterceptor里面是如何实现的?

回答:

首先,你的拦截路径需要根据的实际应用场景来定,按照你的拦截配置,我猜测你可能是要拦截HTML/路径下,.html的页面请求,如果这个猜测成立,那么你的配置和CommonInterceptor类需要实现如下几步:

1.修改配置

<mvc:interceptors>

<mvc:interceptor>

<mvc:mapping path="/HTML/**" />

<bean class="com.staffos.interceptor.CommonInterceptor"></bean>

</mvc:interceptor>

</mvc:interceptors>

2.implements HandlerInterceptor (@Override 让IDE去帮你完成)

3.重写 preHandle 方法,其中需要你写自己的业务逻辑

Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

//此判断需完善

if(StringUtils.contains(request.getRequestURL().toString(),".html")){

//doBus...

return false; //如果需要跳转

}

//如果不处理则直接

return true;

}

希望能帮到你~

回答:

拦截器拦截的是请求噢~从根目录开始写起

以上是 SpringMVC 拦截器路径怎么写 的全部内容, 来源链接: utcz.com/a/166199.html

回到顶部