做項目的時候,jsp、js、java形式中可能會需要獲取一些變化的路徑,避免輸入過多的硬代碼
在java(servlet)中
String contextPath = request.getContextPath(); String realPath = request.getSession(). getServletContext().getRealPath("/"); String basePath = request.getScheme()+"://"+request.getServerName()+":"+ request.getServerPort()+contextPath+"/"; contextPath =”/項目名稱”; //獲取的是項目的相對路徑 realPath = F:\tomcat_home\webapps\項目名稱\ //獲取的是項目的絕對路徑 basePath = http://localhost:8080/項目名稱/ //獲取的是服務的訪問地址
上面這個可以在jsp中這樣寫,或在jsp的<script>中
var basePath="<%=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath() %>";
(java獲取服務器一些信息的方法(服務器地址/相對路徑/端口/項目名字)
request.getServletContext().getRealPath("/") 獲取項目所在服務器的全路徑,如:D:\Program Files\apache-tomcat-7.0.25\webapps\TestSytem\
request.getServletPath() 獲取客戶端請求的路徑名,如:/object/delObject
request.getServerName() 獲取服務器地址,如:localhost
request.getServerPort() 獲取服務器端口,如8080
request.getContextPath() 獲取項目名稱,如:TestSytem
request.getLocalAddr() 獲取本地地址,如:127.0.0.1
request.getLocalName() 獲取本地IP映射名,如:localhost
request.getLocalPort() 獲取本地端口,如:8090
request.getRealPath("/") 獲取項目所在服務器的全路徑,如:D:\Program Files\apache-tomcat-7.0.25\webapps\TestSytem\
request.getRemoteAddr() 獲取遠程主機地址,如:127.0.0.1
request.getRemoteHost() 獲取遠程主機,如:127.0.0.1
request.getRemotePort() 獲取遠程客戶端端口,如:3623
request.getRequestedSessionId() 獲取會話session的ID,如:823A6BACAC64FB114235CBFE85A46CAA
request.getRequestURI() 獲取包含項目名稱的請求路徑,如:/TestSytem/object/delObject
request.getRequestURL().toString() 獲取請求的全路徑,如:http://localhost:8090/TestSytem/object/delObject