gpt4 book ai didi

java - 如何在 JSP 页面之外获取 Web 应用程序路径?

转载 作者:行者123 更新时间:2023-12-04 07:04:00 27 4
gpt4 key购买 nike

我是 JSP 和 Java EE 的新手。所以也许我错过了一些非常明显的东西。

我有一个 Web 过滤器类,需要将 Web 请求重定向回当前 Web 应用程序的根目录。但是由于我们的应用程序没有部署在根目录中,所以我需要知道当前 Web 应用程序的路径。

例如http://www.mydomain.com/myapplication/index.htm

我需要获得“myapplicaiton”部分。

我尝试过 ServletContext、ApplicationContext 没有成功。我意识到我可以从 HttpServletRequest 获取它,但我无法在我的过滤器类中访问它。

请帮忙。我被困住了。我来自 .NET 世界。这在那里很容易。

最佳答案

根据您的 Servlet 版本,您可能无法在没有请求的情况下获得它。在 Servlet 2.5 之前,它假设一个 servlet 可能有多个上下文路径,因此您只能从请求中获取它。这在 2.5 和 ServletContext.getContexPath() 中有所改变被添加。

如果你在 doFilter() 中需要这个,你可以访问请求。如果您真的想在 init() 中执行此操作在 Tomcat 5.5 或更早版本上,您可以进行 hack,

String contextPath = ((org.apache.catalina.core.ApplicationContext)filterConfig.getSevletContext()).getContextPath();

当然,这不会是可移植的。

关于java - 如何在 JSP 页面之外获取 Web 应用程序路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com