0

在我的 servlet 中:

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 new Action();
}

在我的行动课上:

Action(){
    System.out.println("--> " + this.getClass().getResource("/").toString());
}

我有结果,这个位置:

-->file:/C:/Users/saad/Desktop/apache-tomcat-7.0.37/wtpwebapps/Serveur/WEB-INF/classes/

但我想像这样访问我的 webApp 的根目录: file:/C:/Users/saad/Desktop/apache-tomcat-7.0.37/wtpwebapps/Serveur/

我坚持认为 Action 类不是从 HttpServlet 继承的,所以我不能使用 ServletContext.getResource("") 。

我怎样才能做到这一点 ?

4

1 回答 1

1

ServletContext.getRealPath()您可以通过 using方法获取 Web 资源的实际文件系统路径。

ServletContext ctx = request.getServletContext();
String path = ctx.getRealPath("/");

并修改您Action以将请求或 servlet 上下文作为参数:

public Action(ServletContext ctx) {
    System.out.println("--> " + ctx.getRealPath("/"));
}
于 2013-04-18T20:03:14.740 回答