Web應(yīng)用: Web應(yīng)用就是包括了一系列Servlet,jsp,html等相關(guān)文件的集合,他需要 成功部署到服務(wù)器中才能運(yùn)行和被訪問; 根據(jù)規(guī)范,Web應(yīng)用中的所有文件必須按照特定的目錄結(jié)構(gòu)進(jìn)行組織,才能 順利地部署到不同的服務(wù)器中; Web應(yīng)用的打包: 在開發(fā)階段,我們需要經(jīng)常的修改web應(yīng)用中的一些文件,當(dāng)我們開發(fā)結(jié)束的時候 我們將web應(yīng)用交付給用戶去使用,為了便于攜帶和部署,我們一般情況下會把這個web 應(yīng)用進(jìn)行打包。生成一個名字為*.war的文件。這樣的文件是便于部署的,因為他是一個單一 的文件,這個文件是采用zip算法的壓縮包,一般在產(chǎn)品階段,就是我們開發(fā)完一個web應(yīng)用的 時候,交付給客戶,都會生成這樣的一個*.war文件。直接把這個文件通過web服務(wù)管理頁面。 上傳這個*.war文件。或者說直接復(fù)制到web服務(wù)的特定目錄下面,這是這個web應(yīng)用就可被部署, 使用起來很方便。 這個*.war文件可以通過Myeclipse幫助我們自動生成。在New Deployment中 的:Packaged Archive(production mode)點(diǎn)擊完成。就可以完成生成*.war 文件。 當(dāng)然也可以我們自己手工生成。 步驟: 先將testWebProject文件復(fù)制到C:\ 目錄下; 運(yùn)行-->cmd-->cd\-->cd testWebProject-->dir-->jar-->jar -cvf testWebProject.war *.* 執(zhí)行之后,在testWebProject文件中就會生成一個testWebProject.war的文件,這是我們可以拷貝或者 剪切到tomcat的webapps目錄下,就可以部署應(yīng)用了。或者可以通過web應(yīng)用的管理頁面進(jìn)行上傳部署。 這個跟Myeclipse生成的*.war文件是一樣的。 web.xml文件 web.xml文件是web應(yīng)用中不可缺少的配置文件。他本身是一個XML文件。遵守XML文件的語法。Servlet2.5版本 的web.xml采用了XML Schema來定義XML元素; web.xml的元素說明: <web-app> <description> <description>描述當(dāng)前web應(yīng)用的,這是一個描述性的信息,可有可無</description> <display-name> <display-name>在web應(yīng)用中顯示在web應(yīng)用管理頁面的名字,可有可無</display-name> <distributable> <distributable/> <!--負(fù)載平衡,應(yīng)用是分布的--> <filter> <filter> <filter-name>AuthenticationFilter</filter-name> <filter-class>webbook.guestbook.AuthenticationFilter</filter-class> <init-param> <param-name>url</param-name> <param-value>/admin/login.jsp</param-value> </init-param> </filter> <filter-mapping> <filter-mapping> <filter-name>AuthenticationFilter</filter-name> <url-pattern>/admin/secure/*</url-pattern> <url-pattern>/admin/manage/*</url-pattren> </filter-mapping> <context-param> <context-param> <param-name>pageSize</param-name> <param-value>30</param-value> </context-param> <listener> <listener> <listener-class>webbook.user.OnlineUserListener</listener-class> </listener> <servlet> <servlet> <servlet-name>AddMessageServlet</servlet-name> <servlet-class>webbook.guestbook.AddMessageServlet<servlet-class> <init-param> <param-name>type</param-name> <param-value>text</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-mapping> <servlet-name>AddMessageServlet</servlet-name> <url-pattern>/servlet/AddMessage</url-pattern> </servlet-mapping> <session-config> <session-config> <session-timeout>60</session-timeout> </session-config> <mime-mapping> <mime-mapping> <extension>xls</extension> <mime-type>application/vnd.ms-excel</mime-type> </mime-mapping> <welcome-file-list> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>addMessage.jsp</welcome-file> </welcome-file-list> <error-page> <error-page> <error-code>404</error-code> <location>/error404.htm</location> </error-page> <error-page> <exception-type>java.io.IOException</exception-type> <location>/error500.jsp</location> </error-page> -------------------------------------------------------------------------- web應(yīng)用初始化 1、首先,把在web.xml文件中<listener>元素所申明的那些監(jiān)聽器進(jìn)行實(shí)例化; 2、然后,調(diào)用那些實(shí)現(xiàn)了ServletContextListener接口的監(jiān)聽器的contextInitialized()方法; 3、實(shí)例化<filter>元素中所申明的過濾器類,調(diào)用過濾器類的init()方法; 4、最后,如果<servlet>元素中使用了<load-on-startup>子元素,則按照數(shù)值有小到大依次對 servlet進(jìn)行實(shí)例化,同時調(diào)用對應(yīng)的servlet的init()方法; |
|