当前位置: 首页 > 知识库问答 >
问题:

Web App中Java动态错误页面?

司徒宏远
2023-03-14

我正在开发我的第一个Java Web应用程序,并且我正在尝试学习web.xml配置文件的复杂性。根据文档,我的理解是,错误页面是通过指定要为给定的HTTP状态代码或Java异常提供的静态文件来配置的。例如。。。

...
<error-page>
    <error-code>500</error-code>
    <location>/errors/http/500.html</location>
</error-page>
...
...
<error-page>
    <exception-type>javax.servlet.ServletException</exception-type>
    <location>/errors/java/servlet_exception.html</location>
</error-page>
...
...
<error-page>
    <location>/errors/index.html</location>
</error-page>
...

我希望我的错误页面非常标准。可能包括徽标、错误代码和基于错误的简短消息。我希望状态代码或异常类型作为参数传递给脚本/类。有什么办法吗?

共有1个答案

易元青
2023-03-14

基本上,您需要:

  1. 将错误页面设置为 servlet 或 jsp(“错误处理程序”)
  2. 在错误处理程序中,您将获得几个数据,将错误描述为请求属性。示例:假设您使用 2 个指令配置 Web.xml来处理 404 状态代码和 java.lang.非法参数异常。

当您导致404时,错误处理程序将看到以下请求属性:

javax.servlet.forward.request_uri /testwebapp1/errordd 
javax.servlet.forward.context_path /testwebapp1 
javax.servlet.forward.servlet_path /errordd 
javax.servlet.forward.path_info /error 
javax.servlet.error.message /testwebapp1/errordd 
javax.servlet.error.status_code 404 
javax.servlet.error.servlet_name default 
javax.servlet.error.request_uri /testwebapp1/errordd 

javax.servlet.error.status_code包含超文本传输协议状态码

如果导致IllegalArgumentException,请求属性将包含一个属性“javax . servlet . error . exception _ type”并引发异常。有关这些常量的更多详细信息,请访问https://Tomcat . Apache . org/Tomcat-7.0-doc/servlet API/constant-values . html

 类似资料:
  • 我正在开发我的第一个springboot应用程序。我在写一本书,一步一步地做每一件事,当我运行这个程序的时候,很少有我无法修复的错误。也许他们很小,但我仍然在努力解决问题,这就是我来这里的原因。 WebStoreAppApplication:

  • 问题内容: 我的webapp是部署到websphere服务器中的较大EAR的一部分。该服务器在同一虚拟服务器上托管许多其他应用程序。我的webapp在ServletContextListener-> contextInitialized方法中进行了一些初始化/运行状况检查。如果初始化/运行状况检查失败,我想使Web应用程序不可用。什么是实现此目的的可行方法?从contextInitialized内

  • 我对这里的例子有疑问:配置单点登录 我按照描述它的所有步骤进行操作。完成配置服务提供商后,我去 http://localhost:8080/travelocity . com 与文档中所示的网页相同。我输入登录的数据,在新的页面中显示我的地址 https://localhost:9443/authenticationendpoint/login.do?commonAuthCallerPath=/s

  • 我试着运行我简单的“hello world”Spring Boot web应用程序,但它不起作用,我总是看到“白标签错误页面”。 我的控制器 一个pplication.java home.html pom.xml 我做错了什么?我试图改变我的项目结构,玩弄依赖关系,没有任何帮助。有人能启发我吗?

  • 我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包 我想将所有应用程序错误重定向到一个公共页面。我已经创建了这个控制器: 我的配置文件: 以及错误模板 但结果是: 这就是提出的解决方案的结果: 检查属性,这些是属性,消息就在那里:

  • 我试图建立一个CNN RNN模型,我得到以下错误。任何帮助都将不胜感激。 FC2具有形状(?,4096) 文件“rcnn.py”,第182行,在模型输出中。nn。动态文件(stack[fc2],dtype=tf.float32) 文件/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/rnn.py”,第574行,在动态文件dty