java - 如何使用Java web.xml显示特定的错误消息?

标签 java

刚接触 Java,所以...

现在的调用堆栈是这样的,(可能缺少细节,但这些是基本步骤)

  1. 在java中的http请求的预处理中,如果身份验证信息错误,从UI说错误的密码,我们会发送403回来
 response.sendError(403);
  • web.xml 有这个
  •    <error-page>
            <error-code>403</error-code>
            <location>/error/forbidden</location>
        </error-page>
    
  • ErrorController.java 将/error/forbidden 映射到
  •     new ModelAndView("errorPage");
    
  • errorPage.jsp 将向用户显示静态错误消息。
  • 现在在第 1 步,我们有函数可以为 http 响应附加详细的错误消息

    sendErrorInResponse(response, errorMessage); 
    

    基本上我们会用 403 发回特定的错误消息。

    我的问题是,如何将此特定错误消息传递到 errorPage.jsp 进行显示?

    最佳答案

    你在哪里:

    new ModelAndView("errorPage");
    

    更改为:

    ModelAndView model = new ModelAndView("errorPage");
    String yourCustomErrorMessage = "This is a test";
    model.addObject("msg", yourCustomErrorMessage);
    

    然后将 yourCustomErrorMessage 替换为您想要的值。

    在JSP中直接在html代码中使用${msg}。像这样的东西:

    <html>
      <body>
        <h1>HTTP 403 Forbidden</h1>
        <h2>${msg}</h2>
      </body>
    </html>
    

    希望有帮助。

    关于java - 如何使用Java web.xml显示特定的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59830980/

    相关文章:

    java - 代号一网络服务 SOAP 调用不起作用

    java - 带有排序和限制的 mongodb 命令

    java - "this"在 Java 中可以为空吗?

    java - IDE 错误 JDBC java

    java - JUnit 什么是使 java.io.File.delete() 单元测试失败的最佳方法

    java - Servlet JDBC 也插入旧值

    java - 使用 XML 进行改造 - 元素在类中没有匹配项

    java - Project Euler 20,有人能告诉我为什么我的输出不正确吗?

    java - 合并两个自定义对象类型的 ArrayList

    java - 如何将数组列表左移 2 个位置?