JAVAWEB——絕對路徑和相對路徑,到底加不加“/“,以及解決方案
一、地址分類
- 絕對地址
帶有協議名稱的是絕對地址, http://www.baidu.com , ftp://202.122.23.1
- 相對地址
沒有協議開頭的, 例如 user/some.do , /user/some.do
相對地址不能獨立使用,必須有一個參考地址。 通過參考地址+相對地址本身才能指定資源
二、表單中的action加“/”區別
1. 不加“/”
<form action="some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
注意此時的action是不以斜槓“/”開頭的。此時我們點選表單訪問的地址是
“http://localhost:8080/SpringMVC_05/” + “some.do”
2.加"/"
<form action="/some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
注意此時的action是以斜槓“/”開頭的。此時我們點選表單訪問的地址是http://localhost:8080/some.do
三、解決加"/"這個問題
方式一:我們只需要在/前面加上我們的專案名即可
<form action="/SpringMVC_05/some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
注意此時的表單名稱前面加入了我們的專案名
該方式不夠靈活,我們一般都是使用EL表示式
方式二:使用EL表示式
在jsp中我們一般使用EL表示式進行處理
<form action="${pageContext.request.contextPath}/some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
方式三:使用base標籤
-
加入一個base標籤, 是html語言中的標籤。
-
表示當前頁面中訪問地址的基地址。
你的頁面中所有 沒有“/”開頭的地址,都是以base標籤中的地址為參考地址
使用base中的地址 + some.do 組成訪問地址
<head>
<title>靜態資源測試</title>
<base href="http://localhost:8080/SpringMVC_05/">
</head>
<body>
<form action="some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
</body>
</html>
這樣獲取的好處,就是我們可以不用每次都使用EL表示式,但我們也不可能每次去手動輸入http://localhost/…這樣的表示式,所以我們一般動態獲取絕對路徑
<%
String basePath = request.getScheme() + "://" +
request.getServerName() + ":" + request.getServerPort() +
request.getContextPath() + "/";
%>
<html>
<head>
<title>動態獲取絕對路徑</title>
<base href="<%=basePath%>" />
</head>
<body>
<form action="some.do" method="post">
姓名:<input type="text" name="name"><br/>
年齡:<input type="text" name="age"><br/>
<input type="submit" value="提交引數">
</form>
</body>
</html>
相關文章
- JavaWeb 專案中的絕對路徑和相對路徑以及問題的解決方案JavaWeb
- 檔案的相對路徑和絕對路徑以及根相對路徑
- 檔案絕對路徑和相對路徑
- Jsp相對路徑和絕對路徑JS
- 絕對路徑和相對路徑的區別,
- 絕對路徑和相對路徑的區別
- HTML絕對路徑與相對路徑HTML
- 05_Linux相對路徑和絕對路徑Linux
- html中的路徑的介紹:絕對路徑和相對路徑HTML
- Linux檔案的路徑定位-相對路徑和絕對路徑Linux
- 深入解析Java絕對路徑與相對路徑Java
- javascript將相對路徑修改為絕對路徑JavaScript
- Qt的相對路徑轉為絕對路徑QT
- javaweb相對路徑file使用JavaWeb
- JSP 和 Servlet 中的絕對路徑和相對路徑問題JSServlet
- Linux中絕對路徑和相對路徑有什麼區別?Linux
- python如何將相對路徑轉換為絕對路徑?Python
- web專案絕對路徑與相對路徑的問題Web
- 使用Javascript將相對路徑地址轉換為絕對路徑JavaScript
- 關於函式由絕對路徑轉為相對路徑函式
- 相對路徑轉換為絕對路徑的程式碼例項
- 最最基礎的乾貨:Linux中的絕對路徑和相對路徑Linux
- nodejs路徑處理方法和絕對路徑NodeJS
- html中想把圖片絕對路徑 改成相對路徑怎麼操作?HTML
- 好程式設計師web分享圖片標籤、絕對路徑和相對路徑程式設計師Web
- JSP、Servlet中的相對路徑和絕對路徑 頁面跳轉問題JSServlet
- 好程式設計師分享html圖片絕對路徑改相對路徑程式設計師HTML
- 好程式設計師web前端分享絕對路徑與相對路徑的引用程式設計師Web前端
- struts/Servlet,action轉到jsp後,路徑問題(struts2,jsp路徑,action路徑,action跳轉,相對路徑,絕對路徑)...ServletJS
- Linux中絕對路徑和相對路徑是什麼?二者有何區別?Linux
- Java工程路徑及相對路徑(轉載)Java
- PHP取url絕對路徑PHP
- JSP取得絕對路徑JS
- vue2.0 配置絕對路徑Vue
- JavaScript 獲取目錄絕對路徑JavaScript
- Eclipse-拷貝絕對路徑Eclipse
- iOS開發:相對路徑與相對工程名iOS
- Create React app 引用中使用絕對路徑ReactAPP