0

我正在推进 jee 编程。从基本教程中,如果我想在扩展 HttpServlet 的类中阅读我的应用程序目录,我使用 getServletContext().getRealPath(relativePath)。但就我而言,我使用泽西岛进行序列化。Servlet 未扩展 HttpServlet,请查看 image 在此处输入图像描述。我主要是前端程序员,所以这可能是个愚蠢的问题,但我想要简单的静态/实用方法来解析我的 webapp 中不同静态资源的路径。我在Tomcat上运行它。一个也是唯一一个 servlet,如图所示。

4

2 回答 2

2

根据规范(JAX-RS 1.1,ch. 6.1),将其添加到您的资源类中:

@Context
private ServletContext application;

完全合格的名称是:

import javax.servlet.ServletContext;
import javax.ws.rs.core.Context;
于 2013-10-29T11:33:25.090 回答
0

您的目录的绝对路径webApp/WEB-INF/classes可以访问如下:

URL resource = getClass().getResource("/");
String path = resource.getPath();

这将返回一个绝对路径,如下所示:

/C:/SERVERS/x/y/x/yourApp/WEB-INF/classes

从这里你可以得到 webapp 目录的路径:

path = path.replace("WEB-INF/classes/", "");

现在,如果您的静态资源直接位于 下webapp,您可以使用以下命令访问该资源:

path = path + "resource_name"; 
于 2013-10-29T11:32:50.767 回答