【发布时间】:2010-11-26 16:05:37
【问题描述】:
我是 JSP 和 Java EE 的新手。所以也许我错过了一些非常明显的东西。
我有一个 Web 过滤器类,它需要将 Web 请求重定向回当前 Web 应用程序的根目录。但是由于我们的应用程序没有部署在根目录中,所以我需要知道当前 Web 应用程序的路径。
例如http://www.mydomain.com/myapplication/index.htm
我需要获取“myapplicaiton”部分。
我试过 ServletContext、ApplicationContext 都没有成功。我意识到我可以从 HttpServletRequest 获取它,但我无法在我的过滤器类中访问它。
请帮忙。我被困住了。我来自 .NET 世界。这在那儿很容易。
【问题讨论】:
-
为什么您认为您无权访问您的 Filter 类中的 HttpServletRequest。对于通过 HTTP 运行的 Web 应用程序,您可以这样做。您可以在 doFilter() 方法中将 ServletRequest 转换为 HttpServletRequest。
-
@Asaph - 你是对的,假设我们正在谈论
doFilter()方法。 OP 可能会在init()中执行此操作。