日期:2014-05-17  浏览次数:20710 次

java web filter问题
今天我在模拟一个小项目中,用过滤器处理后台过滤式发现被过滤后的URL位置是要过滤的地址目录,我的后台页面单独放在一个文件目录中,但登录页面(login.jsp)放在根目录下,不需要过滤,但是当执行过滤之后的URL竟然是存放后台页面的目录,这是我就无法让其重定向到login.jsp !由于我需要过滤后台页面和servlet,所以我无法在同一个filter中同时完成两者的过滤,我自己的解决方案是分别为后台页面和servlet写一个filter,这样就可以在其中一个filter里写不同于另外的一个重定向地址,response.sendRedirect("login.htm"); 和response.sendRedirect("manage/login.htm");

url为何会转到过滤目标目录下,而我要重定向到项目根目录下却无从着手!
哪位高人能给我一个更好的解决方案呢!

------解决方案--------------------
重定向时 写绝对路径 response.sendRedirect("/项目名称/login.htm");
------解决方案--------------------
重定向到login.jsp没啥难度吧? 自己把它写成绝对路径不就行了?

response.sendRedirect(request.getContextPath() + "/login.htm");
------解决方案--------------------
不知道楼主在说什么,但还是感觉很厉害的样子~~
------解决方案--------------------
[Quote=引用:]

重定向到login.jsp没啥难度吧? 自己把它写成绝对路径不就行了?

response.sendRedirect(request.getContextPath() + "/login.htm");

还有一种就是写成适配器的模块,但是一搬在项目开发中都很少用。可以在小项目中写个别特殊的方法过滤器