请问,java高手,spring mvc拦截器如何拦截所有的请求啊,包括html和jsp页面?

目前配置的只能拦截controller的请求。我配置如下:<mvc:interceptors><mvc:interceptor><mvc:mappingpath="/**... 目前配置的只能拦截controller的请求。
我配置如下:

<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean id="loginInterceptor" class="com.blibao.dianping.web.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
----

/**
* 登陆拦截器.
*
* @author leizhimin 2014/6/26 16:08
*/
public class LoginInterceptor extends HandlerInterceptorAdapter {
// private static final String[] IGNORE_URI = {"/login.jsp", "/Login/","backui/","frontui/"};
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String url = request.getRequestURL().toString();
boolean flag = false;
System.out.println(">>>: " + url);
/* for (String s : IGNORE_URI) {
if (url.contains(s)) {
flag = true;
break;
}
}
if (!flag) {
T_supplier_user user = LoginController.getLoginUser(request);
if (user != null) flag = true;
}*/
//跳转登录
if(url.contains("user/toLogin.do")){
return true;
}
request.getRequestDispatcher("/user/toLogin.do").forward(request, response);
return flag;
}
展开
 我来答
lin_chuhao
推荐于2017-11-01 · TA获得超过352个赞
知道小有建树答主
回答量:572
采纳率:57%
帮助的人:133万
展开全部
web.xml里面这样配置 他就拦截所有请求了
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
追问
还是没有用,只能拦截controller的请求,拦截不了jsp的请求
y158320
2019-03-26
知道答主
回答量:49
采纳率:0%
帮助的人:9.3万
展开全部
web.xml配置/*,如果是/默认不拦截jsp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhongtyler
2015-08-14 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:903万
展开全部
如果拦截所有的话,你应该用filter。
追问
filter有个问题,就是我拦截到session中有该用户时,我要帮她自动登录,此时service还没放入spring的容器中
追答
service还没放入spring容器,这个说法不会存在吧。 controller不会在filter的spring容器中倒是可能的。至于service,不太可能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丞虾摩怀牧法1H
2017-11-04
知道答主
回答量:2
采纳率:0%
帮助的人:1830
展开全部
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
这样就会拦截所有请求了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cgyasd5
2017-11-01
知道答主
回答量:1
采纳率:0%
帮助的人:929
展开全部
貌似这个HandlerInterceptorAdapter不能拦截对静态资源的拦截,只能拦截controller,用HandlerInterceptor可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式