javascript
JSP中的:request.getScheme()+://+request.getServerName()+:+request.getServer
String path = request.getContextPath();?
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";?
? ? <base href=" <%=basePath%>">?
這個(gè)語(yǔ)句是用來(lái)拼裝當(dāng)前網(wǎng)頁(yè)的相對(duì)路徑的。?
<base href="...">是用來(lái)表明當(dāng)前頁(yè)面的相對(duì)路徑所使用的根路徑的。?
比如,頁(yè)面內(nèi)部有一個(gè)連接,完整的路徑應(yīng)該是 http://localhost:80/myblog/authen/login.do?
其中http://server/是服務(wù)器的基本路徑,myblog是當(dāng)前應(yīng)用程序的名字,那么,我的根路徑應(yīng)該是那么http://localhost:80/myblog/。?
有了這個(gè) <base ... >以后,我的頁(yè)面內(nèi)容的連接,我不想寫(xiě)全路徑,我只要寫(xiě) authen/login.do就可以了。服務(wù)器會(huì)自動(dòng)把 <base ...>指定的路徑和頁(yè)面內(nèi)的相對(duì)路徑拼裝起來(lái),組成完整路徑。?
如果沒(méi)有這個(gè) <base...>,那么我頁(yè)面的連鏈接就必須寫(xiě)全路徑,否則服務(wù)器會(huì)找不到。?
request.getSchema()可以返回當(dāng)前頁(yè)面使用的協(xié)議,就是上面例子中的“http”?
request.getServerName()可以返回當(dāng)前頁(yè)面所在的服務(wù)器的名字,就是上面例子中的“l(fā)ocalhost"?
request.getServerPort()可以返回當(dāng)前頁(yè)面所在的服務(wù)器使用的端口,就是80,?
request.getContextPath()可以返回當(dāng)前頁(yè)面所在的應(yīng)用的名字,就是上面例子中的myblog?
這四個(gè)拼裝起來(lái),就是當(dāng)前應(yīng)用的跟路徑了
?
最近在自學(xué)struts,被里面struts中action 的path與form表單的action屬性弄迷糊了。
struts-config.xml 文件中,action元素中的path屬性表示的是瀏覽器地址欄中相對(duì)于應(yīng)用程序根目錄的請(qǐng)求路徑,與form 中提交表單以后有誰(shuí)處理的action屬性指定的根路徑一致。(只是一致,千萬(wàn)不要以為是絕對(duì)相等~)
例如:form表單的提交處理請(qǐng)求是classesAdd.do,其在ie地址欄中的路徑如下所示,
http://localhost:9000/Struts_study/classesMan/classesAdd.do
紅色部分表示的根路徑,所以,action中的classesAdd.do請(qǐng)求的完整路徑是classesMan/classesAdd.do
<form name="form1" action="classesAdd.do" method=post>
所以 struts 中的action 的path路徑是指/classesMan/classesAdd。
大家可以看著瀏覽器的地址欄加以配置。祝大家晚上睡覺(jué)快樂(lè)。
?
補(bǔ)充一下吧,form中的action的默認(rèn)路徑就是當(dāng)前路徑,
而struts中的action 的path屬性默認(rèn)路徑為根路徑,所以要加上所在的文件夾得路徑。
?
使用方法如:
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; %> <!DOCTYPE html> <html> <head> <base href="<%=basePath%>"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>404</title> <meta http-equiv="refresh" content="60;url=index.jsp"> <!-- content="600,即600秒后返回主頁(yè),可根據(jù)需要修改或者刪除這段代碼 --> <link href="css/error.css" rel="stylesheet" type="text/css" /> </head> <body> <!-- 代碼 開(kāi)始 --> <div id="container"><img class="png" src="images/404.png" /> <img class="png msg" src="images/404_msg.png" /><p><a href="index.jsp"><img class="png" src="images/404_to_index.png" /></a> </p> </div> <div id="cloud" class="png"></div> <!-- 代碼 結(jié)束 --></body> </html>?
?
總結(jié)
以上是生活随笔為你收集整理的JSP中的:request.getScheme()+://+request.getServerName()+:+request.getServer的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php读取客户机本地时间,PHP如何获取
- 下一篇: java和redis统计在线,在Spri