今天学习了张龙老师的 <深度剖析过滤器的机制及其在实际开发中的应用场景_01.wmv> 中间代码出现的一些问题视频里面都解决了
后来无意间访问了" http://localhost:8080/javaWeb/session/index.jsp "页面,结果链接转到了" http://localhost:8080/javaWeb/session/login.jsp "页面(这两个页面时在学习session的时候的)
此时的LoginFilter里面的对未登录的重定向代码是: resp.sendRedirect("login.jsp");
在访问 http://localhost:8080/javaWeb/filter/index.jsp 时正如预期的一样 跳到了 http://localhost:8080/javaWeb/filter/login.jsp 页面
为什么访问" http://localhost:8080/javaWeb/session/index.jsp "页面,却转到了" http://localhost:8080/javaWeb/session/login.jsp "页面了?
后来我在网上查了一下:
http://jorton468.blog.163.com/blog/static/72588135201101711810508/
"绝对路径:response.sendRedirect("http://www.brainysoftware.com")发送至http://www.brainysoftware.com
根路径:response.sendRedirect("/ooo")发送至http://localhost:8080/ooo
相对路径:response.sendRedirect("ooo")发送至http://localhost:8080/Test/ggg/ooo。 "
是不是 resp.sendRedirect("login.jsp"); 用了相对于上次请求的路径来跳转的啊???
上次访问在session文件夹,这次就在session文件夹下找login.jsp页面?
后来我用了根路径 resp.sendRedirect("/javaWeb/filter/login.jsp"); 这样乱跳的问题就没出现了
不过,表示上面的疑问还是没有确定