问题描述
- Spring mvc做登录拦截,诡异的报404,tomcat日志没有任何输出
- 先看出错提示
TOMCAT没有日志输出,直接在浏览器报的404
拦截器类方法:
public boolean preHandle(HttpServletRequest request
HttpServletResponse response Object handler) throws Exception {
LoginAccount user=(LoginAccount) request.getSession().getAttribute(""user"");
String url=request.getRequestURL().toString();
System.out.println(""进入拦截器,请求地址:""+url);
if(user==null){
response.sendRedirect(""index.jsp"");
return false;
}else{
return true;
}
}拦截器配置 <mvc:view-controller path=""/"" view-name=""index""/> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path=""/**""/> <mvc:mapping path=""/""/> <mvc:exclude-mapping path=""/login.do""/> <mvc:exclude-mapping path=""/logout.do""/> <mvc:exclude-mapping path=""/room.do""/> <bean id=""loginInterceptor"" class=""com.jszy.oa.intercepter.LoginInterceptor""> <property name=""loginUrl"" value=""login.do""></property> </bean> </mvc:interceptor> </mvc:interceptors>
WEB.XML 配置,节点参考http://iammr.7.blog.163.com/blog/static/49102699201222643458216/文章,拦截根目录。在用户SESSION未超时访问根目录时跳转到后台首页
spring-mvc
org.springframework.web.servlet.DispatcherServletspring MVC 配置文件
contextConfigLocation
classpath:spring-mvc-websocket.xml1
spring-mvc
出问题的地方就在访问http://localhost:8080/oa/,点击登录时请求http://localhost:8080/oa/login.do报了404,没有输出日志。
如果把改成*.do
拦截器能正常工作,就是没有办法拦截这个地址http://localhost:8080/oa/
解决方案
定义时,设定拦截器不对login.do、logout.do起作用。exclude是把这些排除在外
解决方案二:
找不到login。do,你是不是把没登录的方法也做session验证了
解决方案三:
login.do没有找到,,拦截器设置未成功
时间: 2024-11-08 19:46:43