加载web应用资源文件路径

时间:2021-07-07 18:44:36

给服务器使用的:/  代表当前web应用的根目录(webRoot下)转发

给浏览器使用的:/  代表在webapps的根目录下跳转  请求重定向  表单  要加项目名称

request.getServletContext().getContextPath(); 获取当前应用名,例如:/web-portals


file.getAbsolutePath();   取file的绝对路径  

单个.代表当前运行目录

"./src/db.properties"普通项目读src下db资源文件的写法

在web项目中,。代表在tomcat/bin目录下开始,所以不能使用这种相对路径;


1.getRealPath读取,返回资源文件的绝对路径。

String path=this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");

File file =new File(path);

FileInputStream in =new FileInputStream(file);


2.getResourceAsStream() 得到资源文件,返回的是输入流

InputStream in=this.getServletContext.getResourceAsStream("/WEB-INF/classes/db.properties");


web.xml  配置文件中

下面的写法是错误的,必须要以  /   开头,如:  /WEB-INF/404.jsp

<error-page>
        <error-code>404</error-code>
        <location>WEB-INF/404.jsp</location>
</error-page>

Element : location
The location element contains the location of the resource in the web application relative to the root
 of the web application. The value of the location must have a leading `/'.