首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何找出请求到达错误处理程序的url?

如何找出请求到达错误处理程序的url?
EN

Stack Overflow用户
提问于 2015-10-02 23:19:05
回答 1查看 1.1K关注 0票数 2

我发送以下http请求:

代码语言:javascript
复制
http://localhost:8081/member/createCompany/getSmallThumbnail/

在服务器端,我遇到了控制器方法:

代码语言:javascript
复制
@RequestMapping("/error")
public String error(Model model, HttpServletRequest request){
    if(request.getRequestURI().contains("thumbnail")){
        System.out.println("thumbnail accepted");
     }
     request.toString();
     model.addAttribute("message", "page not found");
     return "errorPage";
}

在这个方法中,我想知道请求到达时的url。

如果在debug中,我在此方法中停止,我会看到我需要的信息:

但我在请求中找不到将返回此消息的方法。

请帮助返回我想要的url。

附注:

实际上,我还没有在我的spring mvc应用程序(url被破坏)中为http://localhost:8081/member/createCompany/getSmallThumbnail/映射控制器。此url("/error")在web.xml中配置为错误页面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-02 23:42:49

您的请求被重新分派到/error (可能是为了错误处理)。

如果这个框架遵循正常的Servlet错误分派行为,那么您的原始请求可以在各种javax.servlet.RequestDispatcher.ERROR_*键下的HttpServletRequest.getAttributes()中找到。

  • ERROR_EXCEPTION -异常object
  • ERROR_EXCEPTION_TYPE -异常object
  • ERROR_MESSAGE的类型-异常message
  • ERROR_REQUEST_URI -导致错误的原始请求uri dispatch
  • ERROR_SERVLET_NAME -导致error
  • ERROR_STATUS_CODE的servlet的名称-为此错误调度确定的响应状态代码

你想要的是

代码语言:javascript
复制
String originalUri = (String) request.getAttribute(
                                       RequestDispatcher.ERROR_REQUEST_URI)
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32910492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档