使用servlet的getContextPath

时间:2010-03-10 15:10:05

标签: servlets

jboss-web.xml中的上下文路径被称为/Test,但我的war文件名是Test-0.0.1。 我需要使用HttpServlet这个war文件名。请告诉我功能名称。 我试过getContextPath(),但它返回Test。 感谢

4 个答案:

答案 0 :(得分:15)

以下是可用的功能列表,以及显示它们如何相关的图形。在此示例中,war文件名通常位于“context path”中,在本例中为“myapp”。这是TomCat从WAR文件创建的文件夹,虽然基于WAR文件名,但它不需要相同。查找名称为“Test”的文件夹。

enter image description here

(来自HttpServletRequest Path Decoding

答案 1 :(得分:7)

如果扩展了WAR,您可以将ServletContext.getRealPath()File.getName()结合使用以获取展开的文件夹名称。这与WAR文件名相同。

String name = new File(getServletContext().getRealPath("/")).getName();

答案 2 :(得分:2)

ServletContext.getContextPath()是获取上下文路径的方法。它可能与war-file名称不同,但我想不出你可能需要war文件名的原因。

答案 3 :(得分:1)

从Servlet API无法访问war文件名。 war文件名与上下文根不同。而且,即使ServletContext.getRealPath()是war文件的提取位置,也可能不同。