spring mvc 通过<error-page> 处理404,怎么记录造成404的请求

web.xml 中定义了如下配置

<!-- 出错页面定义 -->
    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/error_500</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/error_500</location>
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/error_404</location>
    </error-page>
    

/error_404请求到这里:

@RestController
public class ErrorController {

    private final static String URL_500 = "500";
    private final static String URL_404 = "404";

    @RequestMapping(value="/error_500")
    public ModelAndView error_500(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName(URL_500);
        return modelAndView;
    }

    @RequestMapping(value="/error_404")
    public ModelAndView error_404(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName(URL_404);
        return modelAndView;
    }
}

我想通过java的日志打出是哪个请求来以后触发了404。怎么实现。。不然每次还得查nginx日志

阅读 5.9k
1 个回答
@Autowired  
private  HttpServletRequest request;  

获取到request对象,然后获取请求路径。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题