Java小項(xiàng)目中WEB-INF下jsp頁(yè)面如何訪(fǎng)問(wèn)
一:一般為啥要把jsp頁(yè)面放在WEB-INF吶?
這樣主要是為了網(wǎng)站的安全的角度來(lái)說(shuō)的,WEB-INF是安全目錄Tomcat 默認(rèn)的訪(fǎng)問(wèn)路徑是WebRoot下的index.jsp,放在WEB-INF下的頁(yè)面一般不配置是無(wú)法訪(fǎng)問(wèn)的。
1
2
|
你的站點(diǎn)肯定有些頁(yè)面是需要經(jīng)過(guò)登錄驗(yàn)證或其他驗(yàn)證后才能訪(fǎng)問(wèn)的啊,這些頁(yè)面就放在web-inf里。 如果是能不經(jīng)過(guò)驗(yàn)證就訪(fǎng)問(wèn)的頁(yè)面,比如主頁(yè)、登錄頁(yè)、歡迎頁(yè)這種,就不要放在web-inf里 |
二: 下面來(lái)看如何訪(fǎng)問(wèn)Web-INF下的頁(yè)面?
在創(chuàng)建JavaWeb工程時(shí)有個(gè)web.xml的部署描述符,在下面有個(gè)這樣可以定制首頁(yè)的:做如下配置來(lái)看:
1
2
3
4
|
< welcome-file-list > < welcome-file >/WEB-INF/jsp/test.jsp</ welcome-file > </ welcome-file-list > </ web-app > |
一般的Web.xml中默認(rèn)的<welcome-file>中的頁(yè)面是WebRoot下的index.jsp的
工程目錄如下:
便可以訪(fǎng)問(wèn)了:
在瀏覽器中輸入如下地址
訪(fǎng)問(wèn)訪(fǎng)問(wèn)成功后的頁(yè)面:
在SpringMVC的視圖解析器中也是配置的WEB-INF下的頁(yè)面;
最后追加的一句:使用如下的地址也是訪(fǎng)問(wèn)不到的:
http://localhost:8080/JSTLTest/WebRoot/WEB-INF/jsp/test.jsp
來(lái)看具體的案例:SSM整合實(shí)現(xiàn)用戶(hù)登錄的例子中對(duì)WEN-INF下的頁(yè)面的訪(fǎng)問(wèn)實(shí)現(xiàn):開(kāi)發(fā)環(huán)境MyEclipse 2016 CI 7
這個(gè)是基于Maven 下的SSM虧框架的整合:實(shí)現(xiàn)的功能是用戶(hù)登錄:
來(lái)看web.xml中的寫(xiě)法:
1
2
3
|
< welcome-file-list > < welcome-file >/WEB-INF/jsp/main.jsp</ welcome-file > </ welcome-file-list > |
來(lái)看如何訪(fǎng)問(wèn)這個(gè)小Demo:
瀏覽器中的地址的寫(xiě)法:
http://localhost:8080/TestSSM/
這樣就訪(fǎng)問(wèn)成功頁(yè)面了,用Maven創(chuàng)建項(xiàng)目的時(shí)候使用web-app的項(xiàng)目名稱(chēng)上會(huì)多出Maven Webapp的訪(fǎng)問(wèn)的時(shí)候不用加的,只用你項(xiàng)目的名稱(chēng)即可;
下面來(lái)看WEB-INF下的JSP頁(yè)面如何實(shí)現(xiàn)跳轉(zhuǎn)的(用a標(biāo)簽實(shí)現(xiàn)跳轉(zhuǎn))
1:一般來(lái)說(shuō)將JSP頁(yè)面放在Webapp下就比較容易實(shí)現(xiàn)了,加項(xiàng)目的路徑就可以了或者是添加<%=basePath>絕對(duì)路徑就可以了;
2:這里使用SpringMVC的控制器實(shí)現(xiàn):
首先是之前的定制首頁(yè)中可以用控制器實(shí)現(xiàn)的:
首先新建一個(gè)Controller類(lèi)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
@Controller public class PageController { //打來(lái)首頁(yè),可以取代web.中定義首頁(yè)的 //這個(gè)只是一個(gè)視圖,模型數(shù)據(jù)可以在形參里面來(lái)表示的 //這里是訪(fǎng)問(wèn)的根路徑 @RequestMapping (value= "/" ,method=RequestMethod.GET) public String showLogin(){ System.out.println( "進(jìn)入頁(yè)面控制器啦" ); return "login" ; } //頁(yè)面跳轉(zhuǎn)的控制器 @RequestMapping ( "/upload" ) public String showUpload(){ System.out.println( "進(jìn)入跳轉(zhuǎn)頁(yè)面控制器" ); return "upload" ; } } |
這個(gè)就可以不用寫(xiě)的:
1
2
3
4
|
<welcome-file-list> <welcome-file>/WEB-INF/jsp/test.jsp</welcome-file> </welcome-file-list> </web-app> |
這樣部署項(xiàng)目啟動(dòng)服務(wù)器就可以訪(fǎng)問(wèn)了
http://localhost:8080/TestSSM 就可以訪(fǎng)問(wèn)了
來(lái)看跳轉(zhuǎn)的:main.jsp位于WEB-INF下,upload.jsp位于WEB-INF下.
1: <!-- 配置跳轉(zhuǎn)頁(yè)面控制器 -->
<a href="upload" rel="external nofollow" >上傳文件</a>
2: 頁(yè)面控制器里面寫(xiě)
@RequestMapping("/upload")
public String showUpload(){
System.out.println("進(jìn)入跳轉(zhuǎn)頁(yè)面控制器");
return "upload";
}
之前那個(gè)視圖解析器是這樣配置的.
<!--配置視圖解析器 -->
1
2
3
4
|
< bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver" > < property name = "prefix" value = "/WEB-INF/jsp/" /> < property name = "suffix" value = ".jsp" /> </ bean > |
到此這篇關(guān)于Java項(xiàng)目中如何訪(fǎng)問(wèn)WEB-INF下jsp頁(yè)面的文章就介紹到這了,更多相關(guān)Java訪(fǎng)問(wèn)WEB-INF下jsp頁(yè)面內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/HcJsJqJSSM/article/details/61615520