我知道之前已经在这里得到了解答,而且这一切都在谷歌上面,但我似乎无法让它发挥作用。我想做的是赶上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页面。
有人可以告诉我我做错了什么,或者我需要做些什么来解决这个问题。 谢谢:))