我目前正在尝试为我的 webapp 中的配置文件设置上下文路径,但似乎无论我尝试什么解决方案,它们都没有给出正确的路径。配置文件位于 WEB-INF/Config 中。
我已经尝试使用ServletContextAware
以获取上下文路径,但它似乎给了我错误的路径。
C:\Documents and Settings\Person\My Documents\geronimo-tomcat6-javaee5-2.2-bin\geronimo-tomcat6-javaee5-2.2\bin\org.apache.catalina.core.ApplicationContextFacade@5d869c\WEB-INF\config\配置文件
private ServletContext context;
public void setServletContext(ServletContext context) {
this.context = context;
}
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
我还尝试通过调用 ServletActionContext.getServletContext,通过 org.apache.struts2.ServletActionContext 创建上下文路径,但这给了我类似的错误。
C:\Documents and Settings\Person\My Documents\geronimo-tomcat6-javaee5-2.2-bin\geronimo-tomcat6-javaee5-2.2\bin\org.apache.catalina.core.ApplicationContextFacade@156592a\WEB-INF\config\配置文件
ServletContext context = ServletActionContext.getServletContext();
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
我终于尝试使用 ServletRequestAware,它给了我更好的结果,但仍然不是我需要的完整上下文路径。我还想避免将我的操作类耦合到 servlet api。
\JSPPrototype\WEB-INF\config\config.xml
public HttpServletRequest request;
public void setServletRequest(HttpServletRequest request)
{
this.request = request;
}
String context = request.getContextPath();
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
我到底做错了什么,我应该如何构建一个有效的 ContextPath?