我们有Tomcat 9 Web服务器在生产中。我们面临的问题是,如果Tomcat收到任何格式错误的URL,我们希望显示我们应用程序的自定义错误页面,如下所示
http://URL/|
或
http://URL/[
我在Tomcat应用服务器的web.xml中添加了错误页面标签,如下所示
<error-page>
<error-code>400</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
我们在tomcat的webapps目录下的应用程序根文件夹中有error.html。
每当用户试图请求任何不存在的网页时,他都会收到与上述404错误代码正确对应的错误页面。
真正的问题是,当用户在浏览器中输入格式错误的URL时,Tomcat无法重定向到error.html,例如超文本传输协议://URL/|
Tomcat显示的是默认的400错误请求错误页面,而不是自定义错误页面。
您可以编写自己的错误页面https://aspiresoftware.in/blog/catalinatomcat-custom-error-report-valve-to-handle-errors-exceptions/
你必须把你的罐子放在汤姆卡特图书馆里。
下面是以下示例配置,https://stackoverflow.com/a/55702749/2532710 以节省其他人的时间。在服务器中.xml在主机标记中:
<Valve className="org.apache.catalina.valves.ErrorReportValve"
errorCode.400="webapps/ROOT/error400.html"
errorCode.0="webapps/ROOT/errorOthers.html"
showReport="false"
showServerInfo="false" />
把静态html错误400.html...错误其他.html在 webapps/CATALINA_BASE 的根中。
这不是错误,而是配置问题。
Tomcat 9改进了错误处理,以便将更多错误,特别是在请求处理开始之前发生的错误,传递给标准错误处理机制,而不仅仅是返回错误代码。
在格式错误的URI的情况下,Tomcat无法解析URI,因此URI无法映射到Web应用程序。因此,Tomcat无法触发应用程序级别的错误处理,因为它无法识别应用程序。在这种情况下,错误由Error ReportValve处理,该错误可以在server.xml.中配置
Error ReportValve最近增加的一个功能是能够以与每个Web应用程序错误页面配置类似的方式,为每个状态代码和/或异常类型定义静态网页(即没有Servlet或JSP,只有超文本标记语言)。
示例错误报告阀门:
<Valve className="org.apache.catalina.valves.ErrorReportValve"
errorCode.400="webapps/ROOT/error400.html"
errorCode.0="webapps/ROOT/errorOthers.html"
showReport="false"
showServerInfo="false" />
我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:
目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示:
我们已经部署了一个ASP。NET MVC应用于Azure应用程序服务。 如果请求耗时超过230秒,Azure将返回错误页面“500-请求超时。web服务器未能在指定时间内响应。”-https://stackoverflow.com/a/38676086 我们正在进行更改,以确保对网络请求进行更少的处理,但是仍然有可能达到这些限制。有人知道是否有一种方法可以配置自定义错误页面来显示,而不是下面显示的
Flask 自带了很顺手的 abort() 函数用于以一个 HTTP 失败代码 中断一个请求,他也会提供一个非常简单的错误页面,用于提供一些基础的描述。 这个页面太朴素了以至于缺乏一点灵气。 依赖于错误代码的不同,用户看到某个错误的可能性大小也不同。 通常的错误代码 下面列出了一些用户经常遇到的错误代码,即使在这个应用准确无误的情况下也可能发生: 404 Not Found 经典的“哎呦,您输入的
我正在开发一个API网关,将请求重定向到一些微服务。这是application.properties文件的一部分: 我正在尝试重定向来自API网关的请求(http://localhost:8080/PetApp/auth/login)到正在运行的服务(http://localhost:8086/PetApp_Auth/auth/generateToken)我已经和邮递员一起将请求直接发送到微服务,
这应该很简单。我修改了项目的web.xml,以便显示我自己的500错误页面: 然后我写了最简单的servlet来测试它: 然后完全忽略自定义页面(位于根目录),而是获得默认的 Tomcat 错误页面。 我使用的是MyEclipse调试器附带的Tomcat 6版本。我已经三重检查了拼写错误,但我找不到任何异常。我想知道错误页面标签是否需要在文档的某个部分。有谁知道可能出了什么问题? *编辑:这是请求