在线等:Spring MVC 拦截器拦截失败

zfz1214 2012-04-22 09:35:03
项目架构用的是springMVC,版本是spring2.X。
我的配置文件如下:
<bean id="loginInterceptor" class="com.company.program.interceptor.LoginInterceptor" />

<!-- 判断用户会话是否失效 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="loginInterceptor"/>
</list>
</property>
</bean>

java类如下:
package com.company.program.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.company.program.bean.UserInfo;
/**
* 用户登录会话校验
*
*/
public class LoginInterceptor extends HandlerInterceptorAdapter {
private String mappingURL;
public void setMappingURL(String mappingURL) {
this.mappingURL = mappingURL;
}


/**
* 在DispatcherServlet完全处理完请求后被调用
*/
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("--sdfsd");
// TODO Auto-generated method stub

}


/**
* 在业务处理器处理请求执行完成后,生成视图之前执行的动作
*/
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
System.out.println("--sdfsd");
// TODO Auto-generated method stub

}


/**
* 在业务处理之前调用
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
System.out.println("--sdfsd");
String url=request.getRequestURL().toString();
UserInfo userInfo = (UserInfo) request.getSession().getAttribute(
"userInfo");
if (mappingURL == null || url.matches(mappingURL)) {
if (userInfo == null)
response.sendRedirect("/login.htm");
return false;
}
return true;
}

}


但实际运行过程中任何请求都没有进入我设好的拦截器,不知道哪配置有问题,各位大虾帮忙看看哪出的问题!
...全文
495 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyuanshan3 2012-12-19
  • 打赏
  • 举报
回复
使用注解方式就可以,我也是遇到这个问题,
linfssay 2012-06-14
  • 打赏
  • 举报
回复
这也太。。。衰
吴红军 2012-05-04
  • 打赏
  • 举报
回复
额。。。。
yu35531275 2012-04-27
  • 打赏
  • 举报
回复
靠 这样也行
zfz1214 2012-04-23
  • 打赏
  • 举报
回复
不是吧?我这死都不行,难道是RP问题?[Quote=引用 7 楼 的回复:]
我用的spring mvc3 一点问题都没有。
[/Quote]
zfz1214 2012-04-23
  • 打赏
  • 举报
回复
非常感谢6楼的帮助,满分送上
另说明下原因:我项目里面没有用注解,所以我的拦截器失效了
[Quote=引用 6 楼 的回复:]
有没有大侠知道啊?指点下迷津
[/Quote]
zfz1214 2012-04-22
  • 打赏
  • 举报
回复
现在上传不了,我在外面,但你看看哪些还需要注意的吗?我调试了好长时间,不知道是哪出错了,我这个配置文件和controller配置文件写在一块的
[Quote=引用 4 楼 的回复:]
,看起来是没错了,
要不你把这几个文件上传,我运行试试看
[/Quote]
zuxianghuang 2012-04-22
  • 打赏
  • 举报
回复
,看起来是没错了,
要不你把这几个文件上传,我运行试试看
zfz1214 2012-04-22
  • 打赏
  • 举报
回复
试过,按理说不配mappings是拦截所有的,但拦截器就是不执行,不知道神马情况

[Quote=引用 2 楼 的回复:]
<bean id="loginInterceptor" class="com.company.program.interceptor.LoginInterceptor" >

<property name="mappings">
<value>
/login.htm
</value>
</propery>
</bean>

试试
[/Quote]
zuxianghuang 2012-04-22
  • 打赏
  • 举报
回复
<bean id="loginInterceptor" class="com.company.program.interceptor.LoginInterceptor" >

<property name="mappings">
<value>
/login.htm
</value>
</propery>
</bean>

试试
zfz1214 2012-04-22
  • 打赏
  • 举报
回复
怎么没有人回答啊 ?
吴红军 2012-04-22
  • 打赏
  • 举报
回复
我用的spring mvc3 一点问题都没有。
zfz1214 2012-04-22
  • 打赏
  • 举报
回复
有没有大侠知道啊?指点下迷津

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧