JSP捕获错误

时间:2013-08-06 02:47:09

标签: java apache jsp tomcat7

我知道之前已经在这里得到了解答,而且这一切都在谷歌上面,但我似乎无法让它发挥作用。我想做的是赶上400,403,404,500等...

我有一个叫做索引的控制器......

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{

    String page = request.getParameter("p");

    if(page == null || page.equalsIgnoreCase("home"))
    {
        RequestDispatcher rd = request.getRequestDispatcher("pages/index.jsp");
        rd.forward(request, response);
    }
    else
    {
        RequestDispatcher rd = request.getRequestDispatcher("pages/error.jsp");
        rd.forward(request, response);          
    }}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
  doGet(request, response);
}

当有人输入像localhost这样的网址时,这可以正常工作:8080 / app / index?p = NOT_A_PAGE但是如果有人试图用localhost:8080 / app / notMYController之类的东西来破解网址,我不知道如何捕获错误?p = home或localhost:8080 / app /.

我在这里见过人,并在谷歌上说“将以下行添加到位于WEB-INF文件夹中的web.xml文件:”

<error-page>
    <error-code>500</error-code>
    <location>/pages/error.jsp</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/pages/error.jsp</location>
</error-page>

现在我尝试了这个,如果我去“localhost:8080 / app / indexs”之类的东西,我仍然可以获得正常的Apache / Tomcat / 7.0.12 404页面。

有人可以告诉我我做错了什么,或者我需要做些什么来解决这个问题。 谢谢:))

0 个答案:

没有答案