java - tomcat - 如何在重定向到错误页面后更改 url

标签 java tomcat redirect web.xml

我在 web.xml 中使用以下配置重定向到错误页面

<error-page>
        <error-code>401</error-code>
        <location>/</location>
</error-page>

当发生 401 错误时,它会重定向到“/”,但会保留 URI。

假设我正在尝试访问需要身份验证的“localhost:8080/account”资源,然后重定向正在进行但 URL 仍然是“localhost:8080/account”。

我想知道如何重定向到“/”并将 url 设置为“localhost:8080/”

最佳答案

<error-page>指令设置进程内转发,而不是客户端重定向(这将是 3xx 响应)。

如果您想将 401 转换为 302,请设置您的 <error-page>指向一个 JSP,它使用 Location 将响应代码更改为 302响应头。

请注意,将 401 响应更改为 302 响应(在遵循重定向时可能会以 200 结束)有点违背了最初使用 401 响应的目的。

关于java - tomcat - 如何在重定向到错误页面后更改 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48770345/

相关文章:

asp.net-mvc - ASP.Net MVC 将特定路由重定向到外部站点

java - Spring Boot 未连接到 RabbitMQ

当我尝试在 URL 中发送特殊字符时,Tomcat 返回 HTTP 状态 400 – 错误请求状态

tomcat - tomcat 服务器上的文件在哪里?

java - Tomcat 8停止Tomcat时出现内存泄漏警告

php - 将访问者从我的页面重定向到其他域(eshop)并在购买产品后将其重定向回来?

java - 使用 JSCH 在远程服务器上获取 MD5 校验和

java - 如何在发出网络请求的 Heroku Java 应用程序中运行定期进程

java - Java/Scala 中无效的 ZoneDateTime 解析

php - 在magento中将http上的整个页面重定向到https