【轉載】訪問WEB-INF目錄中的JSP檔案

來源:互聯網
上載者:User

標籤:blog   http   ar   os   sp   for   strong   檔案   on   

轉自:http://blog.csdn.net/eidolon8/article/details/7050114

方法1:
本來WEB-INF中的jsp就是無法通過地址欄訪問的.所以安全.如果說你要訪問這個檔案夾中的jsp檔案需要在項目的web.xml檔案中去配置servlet格式差不多的配置就ok了。如下:

[html] view plaincopy 
  1. <servlet>  
  2. <servlet-name>runtain</servlet-name>  
  3. <jsp-file>/WEB-INF/INF.jsp</jsp-file>  
  4. </servlet>  
  5. <servlet-mapping>  
  6. <servlet-name>runtain</servlet-name>  
  7. <url-pattern>/XXX</url-pattern>  

訪問地址:http://localhost:8080/runtain/xxx
就可以看見內容了!

方法2:<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />

方法3:request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);

怎麼樣讓servlet訪問web-inf下的網頁或jsp檔案呢.因為web-inf下,應用伺服器把它指為禁訪目錄,即直接在瀏覽器裡是不能訪問到的.
因些,可以讓servlet進行訪問,如web-inf下有a.jsp則可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);進行派遣訪問.但如果web-inf下有a.htm,則用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);就不能訪問.

一開始想不通,覺得怪.後來想想,jsp其實也是servlet,會自動編譯的,於是work目錄下會有/web-inf/a$jsp.class類型,於是有頭緒了,讓應用伺服器能夠編譯.htm,如a$htm.class.抱有這個想法,開始動手

在tomcat下的conf/web,找到jsp的訪問方式,

[html] view plaincopy 
  1. <servlet-mapping>  
  2. <servlet-name>jsp</servlet-name>  
  3. <url-pattern>*.jsp</url-pattern>  
  4. </servlet-mapping>  

於是在下面添加

[html] view plaincopy 
  1. <servlet-mapping>  
  2. <servlet-name>jsp</servlet-name>  
  3. <url-pattern>*.htm</url-pattern>  
  4. </servlet-mapping>  
  5. <servlet-mapping>  
  6. <servlet-name>jsp</servlet-name>  
  7. <url-pattern>*.html</url-pattern>  
  8. </servlet-mapping>  

結果:一切OK,訪問a.htm,和a.html在work/web-inf/下者有a$htm.class,a$html.class產生

【轉載】訪問WEB-INF目錄中的JSP檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.