lao__feng
岂安
采纳率0%
2017-04-22 08:30 阅读 5.8k

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条回答 默认 最新

  • qq_37794487 qq_37794487 2017-04-22 09:19

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

    点赞 评论 复制链接分享
  • qq_37794487 qq_37794487 2017-04-22 09:26

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

    点赞 评论 复制链接分享
  • lao__feng 岂安 2017-04-22 14:30

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

    点赞 评论 复制链接分享
  • lao__feng 岂安 2017-04-28 11:03

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

    点赞 评论 复制链接分享
  • xuxiaoyinliu 仰望星空_Star 2017-04-29 09:30

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

    点赞 评论 复制链接分享
  • snso71 158967790 2017-08-09 09:11

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

    点赞 评论 复制链接分享

相关推荐