天天看點

java web web.xml的作用_JavaWeb應用程式中web.xml的作用

原文:https://blog.csdn.net/liyunfei456/article/details/89100021

在此原文的基礎上做了一些改動,并增加了新的東西。

一般的web工程中都會用到web.xml,web.xml主要用來配置,可以友善的開發web工程。web.xml主要用來配置Filter、Listener、Servlet等。但是web.xml并不是必須的,一個web工程可以沒有web.xml檔案。

1 web.xml工作過程

1.1啟動一個web項目時,容器(如tomcat)會去讀web.xml,讀取監聽器和兩個結點

1.2 然後容器建立一個ServletContext(servlet上下文),這個web項目的所有部分都将共享這個上下文

1.3 容器将轉換為鍵值對,并交給servletContext

1.4 容器建立中的類執行個體,建立監聽器

1.5 在監聽器中有contextInitialized(ServletContextEventargs)初始化方法,在這個方法中獲得ServletContext=ServletContextEvent.getServletContext();context-param的值=ServletContext.getInitParameter("context-param的鍵")

1.6 得到這個context-param的值後,就可以做一些操作了,注意,這個時候web項目還沒有完全啟動成功,換句話說,這個時候對中的鍵值得操作,将在web項目完全啟動以前被執行

舉例:可以在項目啟動之前就打開資料庫,那麼就可以在中設定資料庫的連接配接方式,在監聽類中初始化資料庫的連接配接

2 常用配置詳解

2.1 servlet-mapping

DispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:spring/SpringMVC.xml

1

DispatcherServlet

*.action

由于用戶端是通過URL位址通路web伺服器中的資源,是以Servlet程式若想被外界通路,必須把servlet程式映射到一個URL位址上,這個工作在web.xml檔案中使用元素和元素完成

元素用于注冊Servlet,它包含有兩個主要的子元素:和,分别用于設定Servlet的注冊名稱和Servlet的完整類名。

元素用于映射一個已注冊的Servlet的一個對外通路路徑,它包含有兩個子元素:和,分别用于指定Servlet的注冊名稱和Servlet的對外通路路徑

2.2 init-param

contextConfigLocation

classpath:spring/SpringMVC.xml

1

web應用啟動時,啟動springmvc配置

如果WEB應用啟動時就需要啟動某個架構程式,那麼可以把架構程式的啟動代碼放到一個Servlet的init方法中,并為這個Servlet配置。這樣的話,當WEB應用啟動時,架構也将随之啟動。例如我們以後将要學習到的struts架構采用的就是這種啟動方式。

2.3 filter過濾器

encoding

org.springframework.web.filter.CharacterEncodingFilter

encoding

/*

2.4 context-param

2.5 welcome-file-list

暫未完成,有時間更