在很多地方都会用到路径,这节学习如何获取他们
- 获取项目名称
- 获取项目里面的资源路径(相对路径)
- 获取服务器映射路径
- new File("")
- 获取网址路径
- 例子
题外话:
request.getContextPath()
获取项目里面的资源路径(相对路径)request.getServletPath()
获取服务器映射路径this.getServletContext().getRealPath(“Test.java”)
即:在映射路径后添加Test.java,不是查找Test.java的路径
如:
E:\sts4WorkSpace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\pathtest\Test.java
映射路径:
就是服务器在运行这个项目的时候,会把项目之间映射到一个隐藏的地址。
如果我要new File(path)来创建一个文件就可以把文件创建到这里,同时真正的地址也会被 *** 作。
new File(“”)在java里默认是项目文件的地址,但这servlet中是程序执行的地址,也就是编译器的一些地址(E:\Compiler\sts-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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="../test"><input type="submit" value="查询servlet的路径"/></form>
<%=request.getContextPath()%><br>
getRealPath("Test.java"):<%=this.getServletContext().getRealPath("Test.java")%><br>
getRealPath("TestFile.jsp"):<%=this.getServletContext().getRealPath("TestFile.jsp")%>
getServerName:<%=request.getServerName() %><br>
getServerPort:<%=request.getServerPort()%><br>
getScheme:<%=request.getScheme()%><br>
request.getServletPath():<%=request.getServletPath() %><br>
request.getContextPath():<%=request.getContextPath() %>
</body>
</html>
这是放在jsp中的程序,如果在servlet中也是一样的,因为servlet会映射到WebContent根目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)