java:maven中webapp下的jsp不能訪問web-inf下面的bean
當然 WEB-INF下面的文件是不能訪問的,只能吧jsp文件放入到WEB-INF下面,然后通過配置WEB-INF下web.xml進行配置。
Java小項目中WEB-INF下jsp頁面如何訪問?
一:一般為啥要把jsp頁面放在WEB-INF吶?
這樣主要是為了網站的安全的角度來說的,WEB-INF是安全目錄Tomcat 默認的訪問路徑是WebRoot下的index.jsp,放在WEB-INF下的頁面一般不配置是無法訪問的。
你的站點肯定有些頁面是需要經過登錄驗證或其他驗證后才能訪問的啊,這些頁面就放在web-inf里。 如果是能不經過驗證就訪問的頁面,比如主頁、登錄頁、歡迎頁這種,就不要放在web-inf里
二: 下面來看如何訪問Web-INF下的頁面?
在創建JavaWeb工程時有個web.xml的部署描述符,在下面有個這樣可以定制首頁的:做如下配置來看:
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/test.jsp</welcome-file>
</welcome-file-list>
</web-app>
一般的Web.xml中默認的<welcome-file>中的頁面是WebRoot下的index.jsp的
工程目錄如下:
便可以訪問了:
在瀏覽器中輸入如下地址
訪問訪問成功后的頁面:
在SpringMVC的視圖解析器中也是配置的WEB-INF下的頁面;
最后追加的一句:使用如下的地址也是訪問不到的:
http://localhost:8080/JSTLTest/WebRoot/WEB-INF/jsp/test.jsp
來看具體的案例:SSM整合實現用戶登錄的例子中對WEN-INF下的頁面的訪問實現:開發環境MyEclipse 2016 CI 7
1:
這個是基於Maven 下的SSM虧框架的整合:實現的功能是用戶登錄:
來看web.xml中的寫法:
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/main.jsp</welcome-file>
</welcome-file-list>
來看如何訪問這個小Demo:
瀏覽器中的地址的寫法:
http://localhost:8080/TestSSM/
這樣就訪問成功頁面了,用Maven創建項目的時候使用web-app的項目名稱上會多出Maven Webapp的訪問的時候不用加的,只用你項目的名稱即可;
下面來看WEB-INF下的JSP頁面如何實現跳轉的(用a標簽實現跳轉)
1:一般來說將JSP頁面放在Webapp下就比較容易實現了,加項目的路徑就可以了或者是添加<%=basePath>絕對路徑就可以了;
2:這里使用SpringMVC的控制器實現:
首先是之前的定制首頁中可以用控制器實現的:
首先新建一個Controller類
@Controller
public class PageController {
//打來首頁,可以取代web.中定義首頁的
//這個只是一個視圖,模型數據可以在形參里面來表示的
//這里是訪問的根路徑
@RequestMapping(value="/",method=RequestMethod.GET)
public String showLogin(){
System.out.println("進入頁面控制器啦");
return "login";
}
//頁面跳轉的控制器
@RequestMapping("/upload")
public String showUpload(){
System.out.println("進入跳轉頁面控制器");
return "upload";
}
}
這個就可以不用寫的:
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/test.jsp</welcome-file>
</welcome-file-list>
</web-app>
這樣部署項目啟動服務器就可以訪問了;
http://localhost:8080/TestSSM 就可以訪問了
來看跳轉的:main.jsp位於WEB-INF下,upload.jsp位於WEB-INF下
1:
<!-- 配置跳轉頁面控制器 -->
<a href="upload">上傳文件</a>
2:頁面控制器里面寫:
@RequestMapping("/upload")
public String showUpload(){
System.out.println("進入跳轉頁面控制器");
return "upload";
}
之前那個視圖解析器是這樣配置的:
<!--配置視圖解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
http://blog.csdn.net/hcjsjqjssm/article/details/61615520