JSP中的:request.getScheme()+://+request.getServerName()+:+request.getServer

String path = request.getContextPath();?
String basePath = request.getScheme()
+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";?
? ? <base href=" <%=basePath%>">?

這個語句是用來拼裝當前網頁的相對路徑的。?

<base href="...">是用來表明當前頁面的相對路徑所使用的根路徑的。?
比如,頁面內部有一個連接,完整的路徑應該是 http://localhost:80/myblog/authen/login.do?
其中http://
server/是服務器的基本路徑,myblog是當前應用程序的名字,那么,我的根路徑應該是那么http://localhost:80/myblog/。?

有了這個 <base ... >以后,我的頁面內容的連接,我不想寫全路徑,我只要寫 authen/login.do就可以了。服務器會自動把 <base ...>指定的路徑和頁面內的相對路徑拼裝起來,組成完整路徑。?
如果沒有這個 <base...>,那么我頁面的連鏈接就必須寫全路徑,否則服務器會找不到。?

request.getSchema()可以返回當前頁面使用的協議,就是上面例子中的“http”?
request.getServerName()可以返回當前頁面所在的服務器的名字,就是上面例子中的“localhost"?
request.getServerPort()可以返回當前頁面所在的服務器使用的端口,就是80,?
request.getContextPath()可以返回當前頁面所在的應用的名字,就是上面例子中的myblog?
這四個拼裝起來,就是當前應用的跟路徑了

?

最近在自學struts,被里面struts中action 的path與form表單的action屬性弄迷糊了。

struts-config.xml 文件中,action元素中的path屬性表示的是瀏覽器地址欄中相對于應用程序根目錄的請求路徑,與form 中提交表單以后有誰處理的action屬性指定的根路徑一致。(只是一致,千萬不要以為是絕對相等~)

例如:form表單的提交處理請求是classesAdd.do,其在ie地址欄中的路徑如下所示,

http://localhost:9000/Struts_study/classesMan/classesAdd.do

紅色部分表示的根路徑,所以,action中的classesAdd.do請求的完整路徑是classesMan/classesAdd.do

<form name="form1" action="classesAdd.do" method=post>

所以 struts 中的action 的path路徑是指/classesMan/classesAdd。

大家可以看著瀏覽器的地址欄加以配置。祝大家晚上睡覺快樂。

?

補充一下吧,form中的action的默認路徑就是當前路徑,

而struts中的action 的path屬性默認路徑為根路徑,所以要加上所在的文件夾得路徑。

?

使用方法如:

<%@ 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秒后返回主頁,可根據需要修改或者刪除這段代碼 -->
<link href="css/error.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- 代碼 開始 -->
<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>
<!-- 代碼 結束 --></body>
</html>

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

迷宮回溯問題分析和實現

原文鏈接:傳送門 迷宮問題 說明: 小球得到的路徑&#xff0c;和程序員設置的找路策略有關即&#xff1a;找路的上下左右的順序相關再得到小球路徑時&#xff0c;可以先使用(下右上左)&#xff0c;再改成(上右下左)&#xff0c;看看路徑是不是有變化測試回溯現象思考: 如何求出…

canvas clear 指定屬性的元素_好程序員web前端分享CSS屬性組成及作用

好程序員web前端分享CSS屬性組成及作用學習目標1、css屬性和屬性值的定義2、css文本屬性3、css列表屬性4、css背景屬性5、css邊框屬性6、css浮動屬性一、css屬性和屬性值的定義屬性&#xff1a;屬性是指定選擇符所具有的屬性&#xff0c;它是css的核心&#xff0c;css2共有150多…

mybatis大于小于等于

大于&#xff1a;<![CDATA[>]]> 小于&#xff1a;<![CDATA[<]]> 等于&#xff1a;<![CDATA[]]> 大于等于&#xff1a;<![CDATA[>]]> 小于等于&#xff1a;<![CDATA[<]]>轉載于:https://www.cnblogs.com/YuanFan123/p/7234530.html

2017年秋招-廣聯達面試及思考

面試官提問&#xff1a; 自我介紹&#xff08;沒有做充分的準備&#xff0c;總感覺說的不好&#xff09;為什么選擇做前端&#xff1f;在前端方向&#xff0c;你認為自身有哪些優點&#xff1f;前端需要掌握哪些技術知識點&#xff1f;看過哪些比較好的網站&#xff1f;會不會使…

排序算法介紹和分類

原文鏈接:傳送門 排序算法的介紹 排序也成排序算法 排序也稱排序算法(Sort Algorithm)&#xff0c;排序是將一組數據&#xff0c;依指定的順序進行排列的過程。 排序的分類&#xff1a; 1) 內部排序: 指將需要處理的所有數據都加載到**內部存儲器(內存)**中進行排序。 2) 外…

認識高清視頻編碼(MPEG、H.264、WMV-HD、RMVB)

文章出處&#xff1a;www.net1980.com 原創 最近兩年&#xff0c;“高清”這個詞語非常火熱&#xff0c;已經成為家電和IT行業的最新潮流了。高清視頻和普通視頻有什么區別呢&#xff1f;主要是分辨率上的區別&#xff0c;720P視頻的分辨率為1280X720&#xff0c;1080P視頻的分…

解讀SPP / SPPF / SimSPPF / ASPP / RFB / SPPCSPC

SPP與SPPF 一、SPP的應用的背景 在卷積神經網絡中我們經常看到固定輸入的設計&#xff0c;但是如果我們輸入的不能是固定尺寸的該怎么辦呢&#xff1f; 通常來說&#xff0c;我們有以下幾種方法&#xff1a; &#xff08;1&#xff09;對輸入進行resize操作&#xff0c;讓他們…

go mongodb排序查詢_《MongoDB》day two

Mongodb的更新方式有&#xff1f;db.集合名.update() 函數:用于更新已存在的文檔。語法格式&#xff1a;db.COLLECTION_NAME.update({查詢條件},{更新內容},{更新參數(可選)}) 注&#xff1a;這種方式會覆蓋原有的文檔。使用更新操作符 使用 save()函數更新文檔 Mongodb的updat…

【轉】 JMeter學習(二十四)linux啟動jmeter,執行./jmeter.sh報錯解決方法

1.l-bash: ./jmeter.sh: Permission denied解決辦法&#xff1a;jmeter.sh的執行權限改改&#xff0c;是權限不夠chmod 777 jmeter.sh2.An error occurred:No X11 DISPLAY variable was set, but this program performed an operation which requires it.步驟一&#xff1a;Lin…

哈希表思路圖解和代碼實現

原文鏈接傳送門 哈希表(散列)-Google上機題 看一個實際需求&#xff0c;google公司的一個上機題: 有一個公司,當有新的員工來報道時,要求將該員工的信息加入(id,性別,年齡,住址…),當輸入該員工的id時,要求查找到該員工的 所有信息. 要求: 不使用數據庫,盡量節省內存,速度越…

android開發學習——Mina框架

Apache Mina Server 是一個網絡通信應用框架&#xff0c;對socket進行了封裝。 http://www.cnblogs.com/moonandstar08/p/5475766.html http://blog.csdn.net/u010739551/article/details/47361365 http://www.cnblogs.com/yanghuiping/p/4108063.html &#xff08;mina 自定…

glibc交叉編譯_TSN之linuxptp交叉編譯

0 開發環境1 linuxptp是什么2 為什么要交叉編譯linuxptp3 修改makefile4 修改源碼5 交叉編譯0 開發環境筆記本&#xff1a;ubuntu18.04.5&#xff0c;內核版本為5.3 開發板&#xff1a;imx8mp-evk內核版本&#xff1a;Linux5.4.24交叉編譯工具鏈&#xff1a;fsl-imx-xwayland-g…

230. Kth Smallest Element in a BST

題目&#xff1a; Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always valid, 1 ≤ k ≤ BSTs total elements. Follow up:What if the BST is modified (insert/delete operations) often …

聲音編碼

1.脈沖編碼調制PCM文件格式簡介 將音頻數字化&#xff0c;其實就是將聲音數字化。最常見的方式是透過脈沖編碼調制PCM(Pulse Code Modulation) 。運作原理如下。首先我們考慮聲音經過麥克風&#xff0c;轉換成一連串電壓變化的信號&#xff0c;如圖一所示。這張圖的橫座標為秒&…

Elastic Stack簡介

Elastic Stack簡介 如果你沒有聽說過Elastic Stack&#xff0c;那你一定聽說過ELK&#xff0c;實際上ELK是三款軟件的簡稱&#xff0c;分別是Elasticsearch、 Logstash、Kibana組成&#xff0c;在發展的過程中&#xff0c;又有新成員Beats的加入&#xff0c;所以就形成了Elast…

webpack v3 結合 react-router v4 做 dynamic import — 按需加載(懶加載)

為什么要做dynamic import&#xff1f; dynamic import不知道為什么有很多叫法&#xff0c;什么按需加載&#xff0c;懶加載&#xff0c;Code Splitting&#xff0c;代碼分頁等。總之&#xff0c;就是在SPA&#xff0c;把JS代碼分成N個頁面份數的文件&#xff0c;不在用戶剛進來…

go kegg_工具篇丨GO和KEGG富集不到通路?快試試這個超贊的功能分析工具吧

GO和KEGG富集分析是我們在篩選出差異表達基因之后&#xff0c;都會去做的套路性分析。然鵝……我相信&#xff0c;總有那么一些“倒霉孩子”會遇到跟我一樣的窘境吧&#xff0c;好不容易篩選出來的差異基因&#xff0c;嘗試了DAVID(https://david.ncifcrf.gov/)、Metascape(htt…

大齡程序員的未來在何方

來源&#xff1a;http://www.gad.qq.com//article/detail/30358?sessionUserTypeBFT.PARAMS.229862.TASKID&ADUIN114328649&ADSESSION1501026740&ADTAGCLIENT.QQ.5533_.0&ADPUBNO26719 作者&#xff1a;foruok 大家都對大齡技術人員的未來非常關心&#xff0c…

搭建Telnet服務器

搭建Telnet服務器 作者&#xff1a;尹正杰 版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。 可能大家都知道現在已經很少有人用TELNET服務器&#xff0c; 因為它傳輸數據是以明文的方式&#xff0c;我們很容易通過抓包軟件講數據進行抓包&a…

table取tr對象 vue_Vue筆記

Vue集成了React和Angular的優點&#xff0c;摒棄了他們的缺點。Vue的官網&#xff1a;https://cn.vuejs.org/v2/api/Vue誕生于2016年&#xff0c;是現在非常流行的MVVM框架。Vue提供了“引包”的使用方法&#xff0c;初學者可以在這之下學習語法。不需要webpack&#xff0c;不需…