在很多地方都会用到路径,这节学习如何获取他们
- 获取项目名称
- 获取项目里面的资源路径(相对路径)
- 获取服务器映射路径
- new File("")
- 获取网址路径
- 例子
题外话:
request.getContextPath()
获取项目里面的资源路径(相对路径)request.getServletPath()
获取服务器映射路径this.getServletContext().getRealPath(“Test.java”)
即:在映射路径后添加Test.java,不是查找Test.java的路径
如:
E:sts4WorkSpace.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappspathtestTest.java
映射路径:
就是服务器在运行这个项目的时候,会把项目之间映射到一个隐藏的地址。
如果我要new File(path)来创建一个文件就可以把文件创建到这里,同时真正的地址也会被操作。
new File(“”)在java里默认是项目文件的地址,但这servlet中是程序执行的地址,也就是编译器的一些地址(E:Compilersts-4.6.0.RELEASE)
获取网址路径获取ip
getServerName:localhost
获取端口
getServerPort:8080
获取传输协议
例子getScheme:http
<%@page import="com.sun.xml.internal.bind.CycleRecoverable.Context"%>
<%@page import="org.eclipse.jdt.internal.compiler.ast.ThisReference"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
Insert title here
<%=request.getContextPath()%>getRealPath("Test.java"):<%=this.getServletContext().getRealPath("Test.java")%>
getRealPath("TestFile.jsp"):<%=this.getServletContext().getRealPath("TestFile.jsp")%> getServerName:<%=request.getServerName() %>
getServerPort:<%=request.getServerPort()%>
getScheme:<%=request.getScheme()%>
request.getServletPath():<%=request.getServletPath() %>
request.getContextPath():<%=request.getContextPath() %>
这是放在jsp中的程序,如果在servlet中也是一样的,因为servlet会映射到WebContent根目录



