本帖最后由 cccp21 于 2013-04-30 11:03:49 编辑

解决方案 »

  1.   

    在Controller中拦截404页面请求固然可行,但是这只是拦截了404页面而不是错误的请求,getRequestURI()得到的地址只是404
      

  2.   

    可以在web.xml中配置 错误的no 404页面啊
      

  3.   


    正解 +1<error-page>
       <error-code>404</error-code>
       <location>/error404.jsp</location>
    </error-page>
    <error-page>
       <exception-type>java.lang.Exception</exception-type>
       <location>/except.jsp</location>
    </error-page>
      

  4.   

    我说了“我想把404错误记录下来”,而配置web.xml是系统自行处理,程序根本不知道,无法在程序里记录这个错误
      

  5.   

    “程序根本不知道”?
    <error-code>404</error-code><location>/error404.jsp</location> 这里可以是一个JSP页面也可以是一个servlet,在这里你想怎么处理就怎么处理,你可以在这里调用你的记录程序(所需信息可以从request对象取得),所以是可以实现的啊
      

  6.   

    但是这样做在处理程序中得到的来源地址就是web.xml设定的404.htm之类,而不是客户端请求的不存在的地址,比如说客户端猜测网站的管理路径,请求了“/admin”,依靠web.xml设定,在处理程序中得到的来源地址就是“404.htm”而不是客户端请求的“/admin”