溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java項目中訪問WEB-INF下jsp頁面的方法

發(fā)布時間:2020-08-10 10:22:48 來源:億速云 閱讀:540 作者:小新 欄目:開發(fā)技術(shù)

Java項目中訪問WEB-INF下jsp頁面的方法?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

Java小項目中WEB-INF下jsp頁面如何訪問

一:一般為啥要把jsp頁面放在WEB-INF吶?

     這樣主要是為了網(wǎng)站的安全的角度來說的,WEB-INF是安全目錄Tomcat 默認的訪問路徑是WebRoot下的index.jsp,放在WEB-INF下的頁面一般不配置是無法訪問的。

你的站點肯定有些頁面是需要經(jīng)過登錄驗證或其他驗證后才能訪問的啊,這些頁面就放在web-inf里。
如果是能不經(jīng)過驗證就訪問的頁面,比如主頁、登錄頁、歡迎頁這種,就不要放在web-inf里

 二: 下面來看如何訪問Web-INF下的頁面?

     在創(chuàng)建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的

工程目錄如下:

Java項目中訪問WEB-INF下jsp頁面的方法

 便可以訪問了:

在瀏覽器中輸入如下地址

Java項目中訪問WEB-INF下jsp頁面的方法

訪問訪問成功后的頁面:

Java項目中訪問WEB-INF下jsp頁面的方法

在SpringMVC的視圖解析器中也是配置的WEB-INF下的頁面;

最后追加的一句:使用如下的地址也是訪問不到的:

http://localhost:8080/JSTLTest/WebRoot/WEB-INF/jsp/test.jsp

來看具體的案例:SSM整合實現(xiàn)用戶登錄的例子中對WEN-INF下的頁面的訪問實現(xiàn):開發(fā)環(huán)境MyEclipse 2016 CI 7

    1:Java項目中訪問WEB-INF下jsp頁面的方法

這個是基于Maven 下的SSM虧框架的整合:實現(xiàn)的功能是用戶登錄:

來看web.xml中的寫法:

<welcome-file-list>
     <welcome-file>/WEB-INF/jsp/main.jsp</welcome-file>
 </welcome-file-list>

 來看如何訪問這個小Demo:

 瀏覽器中的地址的寫法:

http://localhost:8080/TestSSM/

Java項目中訪問WEB-INF下jsp頁面的方法

這樣就訪問成功頁面了,用Maven創(chuàng)建項目的時候使用web-app的項目名稱上會多出Maven Webapp的訪問的時候不用加的,只用你項目的名稱即可;

           下面來看WEB-INF下的JSP頁面如何實現(xiàn)跳轉(zhuǎn)的(用a標簽實現(xiàn)跳轉(zhuǎn))

1:一般來說將JSP頁面放在Webapp下就比較容易實現(xiàn)了,加項目的路徑就可以了或者是添加<%=basePath>絕對路徑就可以了;

2:這里使用SpringMVC的控制器實現(xiàn):

首先是之前的定制首頁中可以用控制器實現(xiàn)的:

首先新建一個Controller類

@Controller
public class PageController {
   //打來首頁,可以取代web.中定義首頁的
   //這個只是一個視圖,模型數(shù)據(jù)可以在形參里面來表示的
 
   //這里是訪問的根路徑
 
  @RequestMapping(value="/",method=RequestMethod.GET)
  public String showLogin(){
   System.out.println("進入頁面控制器啦");  
   return "login";  
  }
  //頁面跳轉(zhuǎn)的控制器
  @RequestMapping("/upload")
  public String showUpload(){
   System.out.println("進入跳轉(zhuǎn)頁面控制器");
   return "upload";
  }
}

這個就可以不用寫的:

<welcome-file-list>
    <welcome-file>/WEB-INF/jsp/test.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 這樣部署項目啟動服務器就可以訪問了

http://localhost:8080/TestSSM   就可以訪問了

來看跳轉(zhuǎn)的:main.jsp位于WEB-INF下,upload.jsp位于WEB-INF下.

   1: <!-- 配置跳轉(zhuǎn)頁面控制器 -->
      <a href="upload" rel="external nofollow" >上傳文件</a>

    2: 頁面控制器里面寫

      @RequestMapping("/upload")
    public String showUpload(){
      System.out.println("進入跳轉(zhuǎn)頁面控制器");
      return "upload";
    }            

   之前那個視圖解析器是這樣配置的.

<!--配置視圖解析器 -->

         <bean     class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
        </bean>    

感謝各位的閱讀!看完上述內(nèi)容,你們對Java項目中訪問WEB-INF下jsp頁面的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI