1) Servlet配置web
在WebRoot文件下的Web.xml文件,是WebProject工程配置文件,Tomcat服務器在啓動時,會自動加載全部工程中的Web.xml文件。服務器會根據Web.xml中的配置信息,生成相應的Servlet的實例對象,用來處理客戶端發送來的請求。
本程序的Servlet是使用的Struts中的ActionServlet,它是繼承的HttpServlet類。ActionServlet支持多線 程,目前的Struts框架只容許在應用中配置一個ActionServlet。它是Struts中的控制器,系統的指令由其中轉,它從struts- config.xml中讀取配置信息,並在服務器後臺自動啓動一個線程。
spring
2) init-param設置服務器
Init-param設置ActionServlet運行參數,對Servlet的運行環境進行初始化配置。實際上param-name的值是與 ActionServlet中的屬性相對應的。ActionServlet在建立時會調用init函數,函數會用配置文件中param-value值來設 置相應的屬性。
A)Struts配置文件設置
以相對路徑的方式指明Struts應用程序的配置文件位置,在ActionServlet中默認值爲/WEB-INF/struts-config.xml,因此若是是默認狀況,在這裏也能夠不用配置。若是有多個配置文件能夠用逗號分隔符。
B)debug設置
設置Servlet的debug級別,控制日誌記錄的詳細程序。默認爲0,記錄相對最少的日誌信息。
C)detail設置
設置Digester的debug級別,Digester是Struts框架所使用的用來解析xml配置文件的一個框架,經過該設置,能夠查看不一樣詳細等級的解析日誌。默認爲0,記錄相對最少的日誌信息。
D)load-on-startup設置
這個標記指示Web應用服務器在啓動時加載這個Servlet(實例化並調用init方法),標記的內容必須使用一個整數指定Servlet的加載順序。
若是這個整數是負值,或者這個值沒有出現,那麼窗口任意選擇Servlet加載。
若是這個整數大於等於零以,那麼窗口必須按照部署的順序加載他們。
session
容器必須保證,擁有小的load-on-startup值的Servlet必須先被加載,若是Servlet有相同的load-on-startup值,那麼,容器將自動選擇這些Servlet的加載順序。app
3) servlet-mapping配置
框架
這裏*是通配符,表示服務器只要接收到的形如*.do的請求,就會把這個請求交由名爲action的servlet實例來處理。請求的形式能夠由開 發者本身定義,Struts中一般都用do來作爲後綴。而此處的servlet-name與上面servlet定義中的servlet-name是相對應 的。函數
4) Spring配置文件配置•
context-param是application範圍內的參數,存放在servletcontext中。此所設定的參數,在JSP內頁中可使 用${initParam.param_name}來取得,若在Servlet可使用String param_name = getServletContext().getInitParamter(「param_name」);來取得。
在此程序中,參數contextConfigLocation用來定義要裝入的Spring配置文件。若是想裝入多個配置文件,能夠在<param-value>標記中用逗號做爲分隔符。
默認狀況Spring的配置文件爲applicationContext.xml。此程序是由於改變了spring配置文件名字,因此才須要在Web.xml中配置。若是是默認狀況則不須要配置。
url
5) Spring的Bean工廠配置spa
listener元素用來定義Listerner接口,ContextLoaderListener的做用就是啓動Web容器時,自動裝配 ApplicationContext的配置信息。它實現了ServletContextListener這個接口,在Web.xml配置這個監聽器,啓 動容器時,就會默認執行它的實現的方法,加載相應的Spring類,以使當對象調用時,實現其相應的注入。
這是一個Spring的重要類,在ContextLoaderListener中關聯了ContextLoader類。因此整個加載配置過程由 ContextLoader來完成,它建立的是XmlWebApplicationContext這樣一個類,這個類實現了BeanFactory接口, 因此Spring中的全部的bean都由這個類來建立。
hibernate
6) Filter配置
filter元素用來聲明filter的相關設定。過濾器就是一個Servlet,只是比較特殊而已,能夠用它來對客戶端請求以及發出的響應進行部分的過 濾操做。filter-name是過濾器的名稱,filter-class爲對應的類。filter-mapping元素的兩個主要子元素爲 filter-name與url-pattern,用來定義filter所對應的url。」/*」 形如這樣的url都會發送給相應的過濾器。
A)Spring中文亂碼過濾器配置
在web開發中經常遇到中文亂碼的問題,解決的方案經常是在Web.xml中配置一個過濾器,Spring爲咱們的web開發提供了一個過濾器,能夠解決中文亂碼的問題。
B)Hibernate延遲過濾器配置
Hibernate的session的生命週期橫跨Servlet和Jsp,當咱們的Jsp須要用到某個延遲屬性的時候,發現session已經關 閉了,就會發生延遲加載例外。這段配置就是使用Spring中的類解決hibernate因session關閉致使的延遲加載例外問題。
7) 歡迎頁面配置
指定首先訪問的頁面,當客戶訪問Web應用時,若是僅僅給出Web應用的RootUrl,沒有指定具體文件名,Web容器會自動調用Web應用的歡迎文件。