生活随笔
收集整理的這篇文章主要介紹了
                                
Tomcat配置和Web应用程序开发
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            引自友人blog: [url]http://blog.csdn.net/senton[/url] ◆tomcat是一個專門用于web服務(wù)的服務(wù)器軟件. 1.運行 : 設(shè)置完畢后就可以運行tomcat服務(wù)器了,進入tomcat的bin目錄,windows下用startup啟動tomcat,相應(yīng)的關(guān)閉tomcat的命令為shutdown和shutdown.sh。啟動后可以在瀏覽器中輸入[url]http://localhost:8080/[/url]測試。你可以測試其自帶的jsp和servlet示例。  [url]http://www.it315.org/a.html[/url] 瀏覽器發(fā)給服務(wù)器的信息為:GET /a.html HTTP/1.1 服務(wù)器會去根目錄下找a.html文件。此根目錄是“TOMCAT安裝目錄\webapps\ROOT”。 如果/代表“C:\abc” 那么就去找C:\abc\a.html文件。  虛擬目錄: [url]http://www.it315.org/xxx/a.html[/url] 如果把上面的“/xxx”映射成了“d:\” 那么就去找D:\a.html文件。  127.0.0.1:代表本地 localhost:通常情況下配置為本地,實質(zhì)上不是??梢栽趙indows\system32\drivers\etc\hosts文件改。 [url]http://www.it315.org:8080[/url]會解析[url]www.it315.org[/url],首先把[url]www.it315.org[/url]在hosts里面所對應(yīng)的IP地址,找不到再去?找dns  一個站點下可以有多個虛擬目錄,每個虛擬目錄就是一個獨立的WEB應(yīng)用程序。每個web應(yīng)用程序都有自己的配置信息。  jar -cvf fileName.war 被打包的文件 jar -cvf fileName.war -C 被打包的文件夾 被打包的文件夾中的文件  servlet是被web服務(wù)器去調(diào)用的。  ◆HTTP請求、響應(yīng)和頭信息: 1.客戶端發(fā)送的請求消息為文本流,由以下內(nèi)容組成: 請求行 包括方法、統(tǒng)一資源表示符、HTTP協(xié)議版本。 頭信息 典型的請求消息類似以下內(nèi)容:  
| GET image/bar01.jpg HTTP/1.1 User-Agent:Mozilla/4.0 (compatible;MSIE 4.0 : Windows 2000) Accept:image/gif,image/jpeg,text/*,*/* | 
第一行使用GET方法獲取bar01.jpg文件,并指定正在使用的是HTTP協(xié)議1.1版本,后續(xù)行包括頭信息,User-Agent頭指示客戶端使用的瀏覽器,Accept頭提供有關(guān)客戶端可以接受的MIME類型列表,在頭信息之后,客戶端發(fā)送一個空白行,指示消息請求結(jié)束,如果有表單等內(nèi)容則將表單內(nèi)容作為實體在空白行后面一起提交。 2.請求消息由服務(wù)器經(jīng)一步處理,并生成相應(yīng)的相應(yīng)消息,響應(yīng)消息由以下元素組成: 狀態(tài)行 頭信息 實體內(nèi)容(即網(wǎng)頁中要顯示的內(nèi)容) 以下是一個典型的響應(yīng)消息示例:  
| HTTP/1.1 200 OK Server:JavaWebServer Last-modified:Tuesday,07-Sep-04 1:14:34 GMT Content-length:100 Content-type:text/plain  <html> ……………… ……………… </html> | 
第一行為狀態(tài)行,其中的狀態(tài)碼200表示已成功處理請求,因此描述為“OK”,404是找不到網(wǎng)頁時常遇到的狀態(tài)碼,接下來一直到空白行之前都是頭信息。包括服務(wù)器使用的軟件,文件最后修改時間,長度及內(nèi)容的類型等信息,空白行是實體內(nèi)容。  ◆
???? WEB應(yīng)用程序: 基于java的WEB應(yīng)用程序由Servlet、Jsp、圖象、HTML、JavaBean、Applet等組成。要部署一個WEB應(yīng)用程序一種簡便的方法就是將所有與WEB應(yīng)用程序關(guān)聯(lián)的文件打包成一個.war文件,與Servlet規(guī)范兼容的所有Web容器都支持.war文件。 一個WEB應(yīng)用程序都有一個頂層目錄,一般由以下部分組成: 1.?靜態(tài)文件:包括HTML文件和圖象等。 2.?JSP頁面文件 3.?WEB-INF文件夾:注意,該目錄不能被引用。由以下部分組成: ●
???? classes目錄:Servlet類、JavaBean類和其他所有類文件。 ●
???? lib目錄:包含WEB應(yīng)用程序所需的所有.jar文件。例如數(shù)據(jù)庫連接包等。 ●
???? tags目錄:包含自定義標記提供實現(xiàn)的tag文件 ●
???? web.xml:Web應(yīng)用的部署描述符文件。該文件包含有關(guān)WEB應(yīng)用程序(如要顯示的默認頁、要加載的Servlet等)的元數(shù)據(jù)信息  ◆
???? 設(shè)置WEB站點的虛擬子目錄: 1.?將本地計算機上C:\WebDemo目錄映射成為web站點的/demo虛擬子目錄可以如下配置:打開Tomcat安裝目錄/conf/server.xml文件,在<host>元素中間加上一行: <Context path=”/demo” decBase=”C:\WebDemo” debug=”0”> 啟動Tomcat,在IE地址欄中輸入[url]http://127.0.0.1:8080/demo[/url]就能看到C:\WebDemo下面的所有文件了。例如此目錄下有demo.html文件,單擊它就能看到demo.html中的內(nèi)容了。 2.?也可以使用jar命令將C:\WebDemo目錄打包成C:\WebDemo.jar文件。步驟如下: 1)?啟動命令行窗口,進入C:\WebDemo目錄 2)?執(zhí)行如下命令:jar –cvf?WebDemo.war . 注意后面的點,它代表當前目錄,上面的命令將C:\WebDemo中所有內(nèi)容壓縮成WebDemo.war文件,但不包含C:\WebDemo目錄本身。 3)?將WebDemo.war移到Tomcat安裝目錄/webapps目錄下,重啟Tomcat,在IE地址欄中輸入[url]http://127.0.0.1:8080/WebDemo[/url]就能看到C:\WebDemo下面的所有文件了。例如此目錄下有demo.html文件,單擊它就能看到demo.html中的內(nèi)容了。 
注意:此步驟在執(zhí)行jar命令時如果此目錄的WEB-INF文件夾中沒有web.xml文件,Tomcat將使用默認的web.xml文件內(nèi)容,如果有則以此web.xml文件為準,所以此web.xml文件必須書寫正確(包括語法和配置)。 3.?也可以直接把C:\WebDemo拷到Tomcat安裝目錄/webapps目錄下,但是必須有一個WEB-INF目錄,如果WEB-INF目錄下有web.xml文件,此web.xml文件必須書寫正確(包括語法和配置)。 ◆
???? 下面是一個簡單的servlet文件編寫、編譯、注冊和運行的過程: 1.首先新建一個WebRoot目錄,此目錄下文件結(jié)構(gòu)如下: WebRoot |—WEB-INF文件夾 |—classes文件夾 |??????????? |-HelloServlet.class文件? |-web.xml文件 2.編寫一個servlet文件,示例代碼如下: //導入一些要用到的類 import java.io.IOException; import java.io.PrintWriter;  import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;  //繼承HttpServlet public class HelloServlet extends HttpServlet {  private static final long serialVersionUID = 1L;  //重寫父類中的service方法 @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //從HttpServletResponse中獲得一個輸出流 PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>Hello World</body>"); out.println("</html>"); out.close(); } } 3.編譯(必須要把 Tomcat安裝目錄/common/lib/servlet-api.jar設(shè)置到classpath中),沒錯誤后把HellpServlet.class放到上面的classes目錄下。 4.寫web.xml文件,示例代碼如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]">  <!—注冊servlet--> <servlet> <servlet-name>AnyName</servlet-name>―――――――――| <servlet-class> HelloServlet</servlet-class>???????????????????????????? |????????????  </servlet>??????????????????????????????????????????????????????????????????????????????????? |名字 |必須 <!—指定映射到此servlet的url-->|一致 <servlet-mapping>??????????????????????????????????????????????????????????????????????? | <servlet-name>AnyName</servlet-name>―――――――――| <url-pattern>/demo/test.html</url-pattern> </servlet-mapping>  </web-app> 5.運行,啟動Tomcat,在IE欄中輸入[url]http://127.0.0.1:8080/demo/test.html[/url]回車, 網(wǎng)頁中顯示出了HelloWorld,如果有錯可能由于一下原因:Tomcat沒啟動,大小寫有誤等等。
                            
總結(jié)
                            
                                以上是生活随笔為你收集整理的Tomcat配置和Web应用程序开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。