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