【发布时间】:2011-02-23 00:22:19
【问题描述】:
我正在使用一个为我的 jsp 内容实现过滤器的类。它看起来像这样:
public class MyFilter implements Filter
{
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
request.getRequestDispatcher("mypage.jsp").forward(request, response);
}
}
所以目标“mypage.jsp”就在我的顶级目录中。如果我输入以下网址,过滤器可以正常工作:
http://www.mysite.com/foo
http://www.mysite.com/boo
但如果我输入一个斜杠,我会得到一个 404:
http://www.mysite.com/foo/
http://www.mysite.com/boo/
HTTP ERROR: 404
/foo/mypage.jsp
RequestURI=/foo/mypage.jsp
如果我输入尾部斜杠,那么过滤器认为我希望它在子文件夹 foo 或 boo 中查找 mypage.jsp,但我真的总是希望它只在以下位置找到它:
http://www.mysite.com/mypage.jsp
我该怎么做?
谢谢
【问题讨论】:
标签: jsp servlets servlet-filters