日期:2014-05-16  浏览次数:20306 次

JSP 开发中的路径问题
1. 基本概念的理解
在 Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录, "../"代表上级目录。


2. 关于JSP/Servlet中的相对路径和绝对路径。

a) 服务器端的地址
指的是相对于你的web应用的地址,这个地址是在服务器端解析的.
在jsp和servlet中的相对地址应该是相对于你的web应用.
http://127.0.0.1:8080/webapp/

b) 客户端的地址
客户端的地址 所有的html页面中的相对地址都是相对于服务器根目录
http://127.0.0.1:8080/


3. 获得当前应用的相对路径和绝对路径

a) JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径
application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
new File(application.getRealPath(request.getRequestURI())).getParent()

b) Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
:request.getSession().getServletContext().getRealPath (request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");


4. java 的Class中获得相对路径,绝对路径的方法

a) 单独的Java类中获得绝对路径
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")
new File("/").getAbsolutePath()

b) 服务器中的Java类获得当前路径