程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 怎麼樣讓servlet訪問web-inf下的網頁或jsp文件呢

怎麼樣讓servlet訪問web-inf下的網頁或jsp文件呢

編輯:關於JSP


怎麼樣讓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的訪問方式,
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>
於是在下面添加
 <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
結果:一切OK,訪問a.htm,和a.html在work/web-inf/下者有a$htm.class,a$html.class生成

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved