ssh中的相对路径与绝对路径的问题
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
一:前言:自己在學(xué)習(xí)ssh的時(shí)候常常被路徑給迷惑,就比如在剛剛學(xué)習(xí)jsp的servlet時(shí),絕對(duì)路徑和相對(duì)路徑我就弄混了,所以專門(mén)寫(xiě)了一篇博客來(lái)記載。而現(xiàn)在自己是在學(xué)ssh的時(shí)候在此遇到路徑問(wèn)題,本來(lái)是可以不用理會(huì)的,但是我試驗(yàn)了幾次,覺(jué)得和jsp中的servlet中的有區(qū)別,所以還是記載下來(lái)吧。一個(gè)中午沒(méi)睡覺(jué),好困阿。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
二:內(nèi)容
這次寫(xiě)的東西是我自己剛剛學(xué)完ssh的皮毛,仿作了一個(gè)簡(jiǎn)單的增刪改查的功能,所以就拿著說(shuō)明。具體內(nèi)容分為以下幾部分:
(1):ssh中的絕對(duì)路徑和相對(duì)路徑問(wèn)題
(2):struts2中的namespace的問(wèn)題
(3):jsp文件放在WEB-INF目錄下的一些安全問(wèn)題和訪問(wèn)問(wèn)題
?
三:具體內(nèi)容:
(一):ssh中的相對(duì)路徑和絕對(duì)路徑
首先,就開(kāi)門(mén)見(jiàn)山,直接上代碼來(lái)說(shuō)吧。下面的代碼jsp頁(yè)面代碼中我們主要看的是
<a href="${pageContext.request.contextPath}/AAA/listPersonAction">顯示用戶信息</a>這行代碼的變化。我的項(xiàng)目名字是:http://localhost/ssh??線給出主界面的網(wǎng)址:http://localhost/ssh/index.jsp。如果點(diǎn)第一個(gè)的鏈接會(huì)直接通過(guò)action跳轉(zhuǎn)到list.jsp頁(yè)面,網(wǎng)頁(yè)上的路徑是這樣顯示的:http://localhost/ssh/AAA/listPersonAction。點(diǎn)擊第二個(gè)沒(méi)有報(bào)錯(cuò),但是沒(méi)有數(shù)據(jù)顯示。顯示的路徑是這樣的:http://localhost/AAA/listPersonAction,也就是說(shuō)在第二個(gè)路徑中即是絕對(duì)路徑在找的時(shí)候的網(wǎng)址是http:localhost+自己寫(xiě)的絕對(duì)路徑(在此就是/AAA/listPersonAction);在說(shuō)明白點(diǎn)就是把項(xiàng)目名稱去掉了。結(jié)果找不到action。在此我只想告訴大家的時(shí)此時(shí)的絕對(duì)路徑?jīng)]有項(xiàng)目名稱?。謹(jǐn)記謹(jǐn)記!!!。而第三個(gè)的相對(duì)路徑其實(shí)沒(méi)什么,就是相對(duì)當(dāng)前的網(wǎng)址:http://localhost/index.jsp-------------->http://localhost/AAA/listPersonAction.
下面的是鏈接的代碼(第一個(gè)代碼是完整的路徑,第二個(gè)是絕對(duì)路徑路徑,第三個(gè)是相對(duì)路徑):
1 <body> 2 <h1>第二個(gè)頁(yè)面--web-inf頁(yè)面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用戶信息</a> 4 <a href="${pageContext.request.contextPath}/AAA/listPersonAction">顯示用戶信息</a> 5 </body> View Code 1 <body> 2 <h1>第二個(gè)頁(yè)面--web-inf頁(yè)面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用戶信息</a> 4 <a href="/AAA/listPersonAction">顯示用戶信息</a> 5 </body> View Code 1 <body> 2 <h1>第二個(gè)頁(yè)面--web-inf頁(yè)面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用戶信息</a> 4 <a href="AAA/listPersonAction">顯示用戶信息</a> 5 </body> View Code在附上action的代碼:
1 <package name="ssh" extends="struts-default" namespace="/AAA"> 2 <action name="savePersonAction" class="savePersonAction"> 3 <result name="success" type="redirect">listPersonAction</result> 4 </action> 5 6 <action name="listPersonAction" class="listPersonAction"> 7 <result name="success">/WEB-INF/page/list.jsp</result> 8 </action> View Code
?
(二):在來(lái)說(shuō)namespace的問(wèn)題。剛剛接觸namespace的時(shí)候覺(jué)得這家伙真么什么用處,但是我自己深入了解了之后,覺(jué)得還是很有用的,他能幫我們找到對(duì)應(yīng)的action。首先先看看struts.xml中,package中我配置了一個(gè)namespace:/AAA,而且在上面的jsp的代碼中也看到我的鏈接里面都加了一個(gè)/AAA進(jìn)去,所以我說(shuō)的直白點(diǎn),這就是為了我們找到對(duì)應(yīng)的action。在通過(guò)action跳轉(zhuǎn)的時(shí)候我們都可以這樣寫(xiě)${pageContext.request.contextPath}/namespace/action.action的形式。這樣最簡(jiǎn)單明了了。這里我寫(xiě)車工AAA是為了更加凸顯出不同。
?
?
?
(三):在來(lái)說(shuō)一說(shuō)把jsp的頁(yè)面放在WEB-INF下的安全和訪問(wèn)的問(wèn)題,我們把jsp頁(yè)面放在WEB-INF主要是為了安全的問(wèn)題(這個(gè)是百度和一本叫做javaEE核心上面有講)。
所以在我上面給出的代碼中可以看到我有一個(gè)save.jsp,如果點(diǎn)了那個(gè)鏈接,我顯示錯(cuò)誤:404的路徑錯(cuò)誤,那么為什么會(huì)是404錯(cuò)誤了,就是因?yàn)榘裫sp頁(yè)面放在WEB-INF下是不允許直接訪問(wèn)的,但是可以通過(guò)<jsp:forward/>跳轉(zhuǎn)(我有實(shí)驗(yàn)),servlet(沒(méi)實(shí)驗(yàn)過(guò),百度的結(jié)果),action(有實(shí)驗(yàn),成功,的確可以)等方式進(jìn)行跳轉(zhuǎn)。道友們可以自己實(shí)驗(yàn)下。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
(四):結(jié)束語(yǔ)
今天和一個(gè)工作的人聊天,他告訴我java基礎(chǔ)要好,這樣才能很快適應(yīng)其他東西。而且說(shuō)“學(xué)沒(méi)學(xué)好java基礎(chǔ)決定能不能進(jìn)公司,其他的決定了你進(jìn)公司的薪水”。我覺(jué)得這句話很經(jīng)典啊。“萬(wàn)丈高樓平地起啊”,所以基礎(chǔ)也好重要啊。努力加油。我要好好補(bǔ)習(xí)下java的基礎(chǔ)啊。我自己也不知道我的java基礎(chǔ)怎么樣。come on。沒(méi)出社會(huì)的小菜鳥(niǎo)就是這樣。默默奮斗吧。騷年!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuhao1991/p/3666308.html
總結(jié)
以上是生活随笔為你收集整理的ssh中的相对路径与绝对路径的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Nhibernate和 Entity F
- 下一篇: PHP解析URL并得到URL中的参数