springMVC写的拦截器可以用,但页面不能转跳,求助
springmvc吧
全部回复
仅看楼主
level 1
springmvc实现HandlerInterceptor接口的拦截器,重新preHandle方法,拦截器能正常工作,就是拦截后不能转跳页面,有人说是因为Ajax,还有人让我在preHandle方法中抛出异常,在写类处理异常,然后将信息返回到Ajax中,让Ajax转跳页面,可是实现不了,也不知道是哪错了,求大神指点。
2016年11月24日 07点11分 1
level 8
request.getrequestdispatcher不能跳转吗?
2016年11月24日 08点11分 2
不能,好像是应为springmvc框架中比如输出return “index”;它在配置文件中就会自动匹配index的前缀"/项目名/jsp/"和后缀“.jsp”去转跳到index.jsp页面。
2016年11月29日 09点11分
level 1
重要代码贴出来啊
2016年11月24日 12点11分 3
level 1
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception {
String contextPath=request.getContextPath();
String url=request.getServletPath().toString(
HttpSession session = request.getSession()
String username = (String) session.getAttribute("username")
if (username == null)
response.sendRedirect(contextPath+"index.jsp");
}
return true;
}
2016年11月29日 09点11分 4
好像是应为springmvc框架中比如输出return “index”;它在配置文件中就会自动匹配index的前缀"/项目名/jsp/"和后缀“.jsp”去转跳到index.jsp页面。
2016年11月29日 09点11分
求解决办法
2016年11月29日 09点11分
level 3
拦截器的本质不是跳转页面 而是拦截 或者放行
2016年12月03日 02点12分 5
拦截到了,但拦截到后得有操作啊,要不你拦它干什么,我拦截后就是要他跳转页面。
2016年12月03日 13点12分
回复 夜暮云闯天涯 :跳转页面到servlet处理 拦截器不是用来处理跳转的
2016年12月03日 14点12分
@欧尼酱迪斯 拦截器拦截的最终目的是拦截后的处理,拦截只是手段,要不拦截到内容干什么,那拦截器拦截后怎么用servlet转跳页面。
2016年12月10日 12点12分
level 9
把视图解析式删了
2016年12月17日 03点12分 7
也算是一种解决办法吧,但好像可以在拦截器中抛出异常,通过处理异常来处理页面转跳,具体就不会了。
2016年12月19日 13点12分
level 1
我也遇到了,你怎么解决的???
2017年03月03日 06点03分 8
没解决,最后用基本的filter过滤实现需求[泪]
2017年03月04日 15点03分
我也是用filter过滤实现需求,springmvc自带的拦截器可以拦截各种.do请求就是不能跳转。。。。。。。
2017年03月06日 05点03分
@a353548 我也一样,你可以试试在拦截器中抛出一个自己定义的异常,然后在写一个处理该异常的类,让前端页面接受该类的处理结果,在前端页面上转跳,反正我是没成功。自己琢磨[泪]没人教不好弄啊
2017年03月09日 15点03分
level 1
req.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(req, resp);完美解决此问题
2018年07月22日 06点07分 9
1