知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >
關(guān)于WEB開發(fā)-jsp的安全性
發(fā)表時(shí)間:2010-3-18
發(fā)布人:葵宇科技
瀏覽次數(shù):51
雖然做了大半年的web開發(fā)了,但一直浮于表面,東西會(huì)做,但很多原理不通,要想成為技術(shù)牛人光會(huì)做是遠(yuǎn)遠(yuǎn)不行的,因?yàn)榧词箷?huì)做但不會(huì)講且不能舉一反三,哎,想當(dāng)年高中數(shù)學(xué)之所以這么好就是因?yàn)楦咧袛?shù)學(xué)原理我都一清二楚,舉一反三,興手捻來,反而到了現(xiàn)在有點(diǎn)急功近利,急于求成,我這不是倒退了么?我甘心做一個(gè)下平庸的人么,答案顯然不是,所以從今天起我要做研究生階段所沒有做過的研究,從web開發(fā)做起,養(yǎng)成研究的習(xí)慣,養(yǎng)成動(dòng)腦的習(xí)慣,崛起吧。。呵呵,遙想了一下當(dāng)年,哎,往事知多少啊,開始正題啦!
今天就先寫一個(gè)WEB開發(fā)的小心得吧。
在我做的SSH項(xiàng)目,有大量的jsp頁(yè)面,在開始做項(xiàng)目的時(shí)候,我就只會(huì)機(jī)械的學(xué)別人在struts里面配頁(yè)面之間的跳轉(zhuǎn)路徑,雖然后來知道了struts的原理,了解了跳轉(zhuǎn)的過程,但是真正自己要用到非struts環(huán)境底下的頁(yè)面跳轉(zhuǎn)的時(shí)候發(fā)現(xiàn)經(jīng)常跳轉(zhuǎn)報(bào)錯(cuò),無論我是用相對(duì)路徑還是絕對(duì)路徑都報(bào)錯(cuò),這就搞的我很郁悶了,這究竟是為什么呢?
原來這是JSP的安全性作的鬼。
在J2EE中其主要安全性就體現(xiàn)在web工作目錄的WEB-INF文件夾下.如果將一個(gè)頁(yè)面保存在WEB-INF文件下 ,那么該頁(yè)面則不能被用戶訪問,就好比小偷都看不見我有什么,他還能知道要偷什么嗎.. 因此如果將一個(gè)頁(yè)面放在WEB-INF文件夾下,那么該頁(yè)面的安全性將得到提高... 但有時(shí)候當(dāng)我們需要訪問該頁(yè)面時(shí),卻無法訪問,如何能夠訪問WEB-INF文件夾下的頁(yè)面呢?
struts為此提供了很便捷的跳轉(zhuǎn)環(huán)境。在struts中每一個(gè)跳轉(zhuǎn)都是通過一個(gè)action來處理的,action處理完了之后在forward到相對(duì)地址就行,這個(gè)很簡(jiǎn)單。
但是問題是如果我不通過action來處理跳轉(zhuǎn),我想直接從web-inf的a.jsp頁(yè)面跳到b.jsp頁(yè)面怎么辦呢?通常這個(gè)時(shí)候我們會(huì)試下相對(duì)地址/b.jsp 絕對(duì)地址/WEB-INF/b.jsp或者<%=request.getContext()=%>/WEB-INF/b.jsp,但無論怎么搞都不行,這個(gè)時(shí)候就比較崩潰。想直接跳轉(zhuǎn)從安全性的角度來看肯定不行的,因?yàn)樵赪EB-INF底下web容器是不讓你看見他的跳轉(zhuǎn)路徑的。直接跳轉(zhuǎn)不行,間接跳轉(zhuǎn)還是有的,比如struts的action跳轉(zhuǎn)就是一種間接,為什么間接就是安全的呢?因?yàn)樗奶D(zhuǎn)地址是在web.xml里面配好的,訪問的人是看不見的所以是間接安全的。難道只有struts可以完成間接的任務(wù),顯然不是了。其實(shí)想一想struts的action是什么東西就知道怎么做了,struts的action說白了還是一個(gè)servlet,所以可以通過servlet來完成任務(wù)了。
首先在web.xml里面配置servlet和servlet mapping
<servlet>
<servlet-name>goto</servlet-name>
<jsp-file>/WEB-INF/jsp/test.jsp</jsp-file>--要跳轉(zhuǎn)到的頁(yè)面
</servlet>
<servlet-mapping>
<servlet-name>goto</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
配置好了之后在jsp頁(yè)面里用a就可以跳轉(zhuǎn)了<a href="/工程名/test">測(cè)試頁(yè)面跳轉(zhuǎn)</a>--這里一定要“/工程名/test”
通過servlet跳轉(zhuǎn)還是比較麻煩了,但是這樣能保證JSP頁(yè)面的安全性,想兩全其美是比較難的了。
當(dāng)然如果安全要求不高,那就可以做成很簡(jiǎn)單的了,直接把所有的jsp頁(yè)面全部放在webRoot底下,在WebRoot下頁(yè)面用戶可以直接輸入地址訪問。
相關(guān)案例查看更多
相關(guān)閱讀
- 服務(wù)器
- 排名
- 云南衛(wèi)視小程序
- 云南小程序開發(fā)制作公司
- 網(wǎng)站建設(shè)報(bào)價(jià)
- 網(wǎng)站排名
- 網(wǎng)站建設(shè)首頁(yè)
- 云南網(wǎng)站制作
- 網(wǎng)站建設(shè)哪家強(qiáng)
- 報(bào)廢車拆解管理系統(tǒng)
- 網(wǎng)站制作
- 云南電商網(wǎng)站建設(shè)
- 網(wǎng)站建設(shè)費(fèi)用
- 報(bào)廢車拆解系統(tǒng)
- 網(wǎng)頁(yè)制作
- 昆明軟件定制
- 云南建設(shè)廳官方網(wǎng)站
- 軟件開發(fā)
- 云南網(wǎng)絡(luò)推廣
- 昆明軟件公司
- 報(bào)廢車
- 昆明小程序代建
- 網(wǎng)站優(yōu)化
- 云南網(wǎng)站建設(shè)案例
- 制作一個(gè)小程序
- 云南網(wǎng)站建設(shè)首頁(yè)
- 網(wǎng)絡(luò)公司哪家好
- 微信分銷系統(tǒng)
- 昆明網(wǎng)站開發(fā)
- 云南小程序定制