《TomCat與Java Web開發技術詳解》(第二版) 第三章節的學習總結--一個WEB應用的目錄結構以及如何發佈WEB應用

這章節主要學習:如何使用tomcat來發佈一個web應用:helloapphtml

1.tomcat/conf/server.xml中的以下配置java

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        ......
      </Host>web

決定了:名字爲localhost的虛擬主機,其應用的缺省目錄是webapps;也就是說:想要在此虛擬主機上發佈某一個web應用(好比這裏的helloapp),則須要將此web應用的所在目錄放到webapps目錄中。而一個web應用的缺省入口,就是該web應用的根目錄名。這就是說,能夠訪問http://localhost:8080/helloapptomcat

2.在helloapp這個web應用中,其自身的配置文件是 helloapp/WEB-INF/web.xml文件(此文件內容是區分大小寫的),其內容爲:app

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE web-app PUBLIC
  '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
  'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
 
<web-app>
 
  <servlet>
    <servlet-name>dispatcher</servlet-name>  //用於爲servlet類定義一個名字,這樣當在html中看到dispatcher,就知道它表示一個servlet類了
    <servlet-class>mypack.DispatcherServlet</servlet-class> //用於表示此servlet類的完整類名(也包括包名)。這個類名同時也就告訴了到哪裏能夠找到該類(helloapp/WEB-INF/classes/mypack/DispatcherServlet.class)
  </servlet>
 
  <servlet-mapping>   //映射可支持通配符,一個servlet能夠對應多個servlet-mapping
    <servlet-name>dispatcher</servlet-name>  //用於指定要進行映射的servlet的名稱。須要和上面的<servlet>中的名稱對應,這樣才能找到實際的servlet類
    <url-pattern>/dispatcher</url-pattern>  //用於指定此servlet在URL上的映射,即相對(相對是相對此web應用的缺省入口)URL路徑。這樣訪問http://localhost:8080/helloapp/dispatcher就能夠訪問此servlet了
  </servlet-mapping>
 
  <welcome-file-list>
    <welcome-file>login.htm </welcome-file> 
  </welcome-file-list>
 //這裏設置了:此web應用的默認主頁。即若客戶端訪問:http://localhost:8080/helloapp/ (注意:這是一個目錄),就會默認默認定位到此文件:login.htm;這與訪問http://localhost:8080/helloapp/login.htm是同樣的效果webapp


  <taglib>  //定義jsp標籤的位置
    <taglib-uri>/mytaglib</taglib-uri> 
    <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>  //指定TLD文件的存放位置
  </taglib>
 
</web-app>jsp

3.在servlet類的定義實現中,經過對輸入的ServletRequest對象(來自客戶端發出的http請求正文)進行再次封裝,就能夠將此ServletRequest對象再轉發給某個jsp文件。在由此jsp文件處理後,在經過ServletResponse對象得到處理結果,並將此結果交給客戶端。學習

4.tomcat能夠運行:A.採用開放式目錄結構的web應用(即非壓縮的);B.web應用的打包文件(WAR文件)。開發完畢的web應用,應該是通過打包(用jar cvf命令進行打包)後,發佈WAR文件。tomcat啓動後,會把webapps目錄下的全部WAR文件自動展開爲開放式的目錄結構(所以,webapps中不能提早存在同名目錄)url

5.若是不想將web應用發佈到默認的webapps目錄中,而是發佈到其餘目錄中,在須要使用<Context>元素來告知新的位置(docBase)spa

6.若是要使用JSP標籤,則須要以下組成:一個處理標籤的類(class文件)+一個TLD文件+在web.xml中配置<taglib>元素+在jsp文件中使用標籤<前綴名:標籤名>

相關文章
相關標籤/搜索