SpringMVC拦截器跳转会自动在跳转的路径加请求!

首先感谢各位朋友帮忙!!
问题如下:
我使用了拦截器控制登录状态,现在我能够进入拦截器,问题在于我转发到页面的时候,转发路径会在我写的 地址前面+ 请求,变成新的地址
比如,我发的请求是 back/getAll,会自动返回一个新jsp页面的地址
SessionFilter:
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
Employee employee = (Employee) request.getSession().getAttribute("employee");
if (null == employee) {
// 跳转方式一:(二选一)我两种都试了
response.sendRedirect("WEB-INF/pages/back/login/login.jsp");
//跳转方式二:
request.getRequestDispatcher("WEB-INF/pages/back/login/login.jsp").forward(request, response);
return false;
} else {
return true;
}
}
SpringMVC配置文件:
mvc:interceptors
mvc:interceptor
<!--我这里有多级请求-->

/mvc:interceptor
/mvc:interceptors

结果页面:
图片说明

6个回答

?????????????

lao__feng
岂安 是不是没有明白??
3 年多之前 回复

你把login,jsp文件放到back里面不就行 了

lao__feng
岂安 谢谢回答,但是还是不行,主要是会自动在相应路径前面加我我的请求名称,我觉得是哪里的配置出了问题,我之前都可以的!
3 年多之前 回复

图片说明
我从前台发送的/back/brand请求,能够进入拦截器,我的拦截器目标是:WEB-INF/pages/back/login.jsp;但是会返回/back/brand/WEB-INF/pages/back/login.jsp

是应该把返回的目标路径写成绝对路径,在前面加 /

我也遇到这个问题了,同问

遇到这个问题的大概都是把jsp放在web-inf下的,
当请求/back/brand完了执行到return “xx”时,应该导向xx.jsp,不幸的是再被springmvc处理,变成/back/xx.jsp这样,
你配置一下<mvc:resources就好了,或者用HttpServletRequest的forward来指定具体的jsp就不会有问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问