springMVC的拦截器不拦截直接访问jsp的请求
写了一个springMVC拦截器,但是如果url是项目中的静态资源的话,就不拦截。我的目的是拦截所有请求配置如下<mvc:interceptors><mvc:interc...
写了一个springMVC拦截器,但是如果url是项目中的静态资源的话,就不拦截。我的目的是拦截所有请求
配置如下
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:mapping path="*.jsp"/>
<mvc:exclude-mapping path="/ropapi*"/>
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/function_list"/>
<bean id="loginInterceptor" class="com.rkylin.wheatfield.filter.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
项目是maven项目,jsp页面放在webapp目录下,没有放在web-inf下面,无论怎么配置,访问这些jsp页面的请求都不经过拦截器 展开
配置如下
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:mapping path="*.jsp"/>
<mvc:exclude-mapping path="/ropapi*"/>
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/function_list"/>
<bean id="loginInterceptor" class="com.rkylin.wheatfield.filter.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
项目是maven项目,jsp页面放在webapp目录下,没有放在web-inf下面,无论怎么配置,访问这些jsp页面的请求都不经过拦截器 展开
1个回答
展开全部
你好,分享一下我的拦截器,多多指教,代码如下:
在spring的配置文件里面进行配置拦截器
<!-- 拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 对所有的请求拦截使用/**-->
<mvc:mapping path="/**" />
<ref bean="userAccessInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
<bean id="userAccessInterceptor"class="com.web.interceptor.UserAccessInterceptor"></bean>
拦截器如下设置,当用户未登录时,返回到登录页面
class UserAccessInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {
//静态资源直接return true
if(handler instanceof ResourceHttpRequestHandler){
return true;
}
if(Utils.isNull(UserCookie.getApploginUserId())){
response.sendRedirect(request.getContextPath()+"/login.jsp");
return false;
}
return true;
}
在spring的配置文件里面进行配置拦截器
<!-- 拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 对所有的请求拦截使用/**-->
<mvc:mapping path="/**" />
<ref bean="userAccessInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
<bean id="userAccessInterceptor"class="com.web.interceptor.UserAccessInterceptor"></bean>
拦截器如下设置,当用户未登录时,返回到登录页面
class UserAccessInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {
//静态资源直接return true
if(handler instanceof ResourceHttpRequestHandler){
return true;
}
if(Utils.isNull(UserCookie.getApploginUserId())){
response.sendRedirect(request.getContextPath()+"/login.jsp");
return false;
}
return true;
}
追问
谢谢你的热心回答了,但是这些解决不了我的问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询