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类获得当前路径