創建Dynamic Web Project工程


一.web環境搭建

1.   Web服務器

(1) Web服務器主要用來接收客戶端發送的請求和響應客戶端請求。

(2)  作為JavaWeb程序來說,還需要有Servlet容器,容器的主要作用就是調用java程序處理用戶發送的請求,並響應指定的資源,關於Servlet容器我們還需要一點一點學習。

(3) 開發JavaWeb項目Web服務器和Servlet容器是必須的,通常情況二者是合在一起的。

(4)  常見的JavaWeb服務器:

  • Tomcat(Apache):當前應用最廣的JavaWeb服務器;
  • JBoss(Redhat紅帽):支持JavaEE,應用比較廣;
  • GlassFish(Orcale):Oracle開發JavaWeb服務器,應用不是很廣;
  • Resin(Caucho):支持JavaEE,應用越來越廣;
  • Weblogic(Orcale):要錢的!支持JavaEE,適合大型項目;
  • Websphere(IBM):要錢的!支持JavaEE,適合大型項目;

2.   Tomcat

2.1 Tomcat概述

(1).  Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規范總是能在Tomcat 中得到體現,因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器。目前最新版本是8.0。

(2)  Tomcat6.0 支持Servlet 2.5

(3) Tomcat7.0 支持Servlet3.0

(4) Tomcat8.0 支持Servlet 3.1

2.2 安裝、啟動、配置Tomcat

      2.2.1 下載

(1)  Tomcat官方網站:http://tomcat.apache.org/

(2)  安裝版:需要安裝,一般不考慮使用。一個電腦只能安裝一個!卸載也比較麻煩!

(3)  解壓版: 直接解壓縮使用,我們使用的版本。

(4)  版本:目前Tomcat的最新版本為8.0。我們使用的是7.0版本。

 2.2.2 安裝

(1)  直接把Tomcat的壓縮包解壓到安裝目錄,例如:D:\tomcat-7。

(2) D:\tomcat-7,這個目錄下直接包含Tomcat的bin目錄,conf目錄等,我們稱之為Tomcat的安裝目錄或根目錄。

  2.2.3啟動和停止

  環境變量的配置:

①  JAVA_HOME:jdk的安裝目錄,Tomcat依賴於JDK,所以必須指定該環境變量。

② CATALINA_HOME:tomcat的安裝目錄,在終端(CMD)啟用時,需要配置,不必須。

③PATH:安裝jdk的bin目錄

啟動:在Tomcat安裝目錄下的bin目錄,雙擊startup.bat

⑤停止:在Tomcat安裝目錄下的bin目錄,雙擊shutdown.bat

 

注意: startup.bat會調用catalina.bat,而catalina.bat會調用setclasspath.bat,setclasspath.bat會使用JAVA_HOME環境變量,所以我們必須在啟動Tomcat之前把JAVA_HOME配置正確。如果JAVA_HOME配置不正確,就會導致startup.bat一閃而過!

問題:如果雙擊startup.bat后窗口一閃而過,請查看JAVA_HOME是否配置正確。

2.2.4訪問Tomcat

  打開瀏覽器地址欄輸入:http://localhost:8080

2.2.5 配置端口號

  打開Tomcat安裝目錄下的conf/server.xml              

(1) 端口:web服務器在啟動時,實際上是監聽了本機上的一個端口,當有客戶端向該端口發送請求時,web服務器就會處理請求。但是如果不是向其所監聽的端口發送請求,web服務器不會做任何響應。例如:Tomcat啟動監聽了80端口,而訪問的地址是http://localhost:8080,將不能正常訪問。

(2)80端口:80端口是http協議默認的端口號,也就是說如果在url中不指定端口號那默認會向80端口發送請求。

2.2.6 Tomcat目錄結構

(1) bin:該目錄下存放的是二進制可執行文件,如果是安裝版,那么這個目錄下會有兩個exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下啟動Tomcat,后者是彈出GUI窗口啟動Tomcat;如果是解壓版,那么會有startup.bat和shutdown.bat文件,startup.bat用來啟動Tomcat,但需要先配置JAVA_HOME環境變量才能啟動,shutdawn.bat用來停止Tomcat;

(2) conf:這是一個非常非常重要的目錄,這個目錄下有四個最為重要的文件:

  • server.xml:配置整個服務器信息。例如修改端口號,添加虛擬主機等;下面會詳細介紹這個文件;
  • tomcatusers.xml:存儲tomcat用戶的文件,這里保存的是tomcat的用戶名及密碼,以及用戶的角色信息。可以按着該文件中的注釋信息添加tomcat用戶,然后就可以在Tomcat主頁中進入Tomcat Manager頁面了;
  • web.xml:部署描述符文件,這個文件中注冊了很多MIME類型,即文檔類型。這些MIME類型是客戶端與服務器之間說明文檔類型的,如用戶請求一個html網頁,那么服務器還會告訴客戶端瀏覽器響應的文檔是text/html類型的,這就是一個MIME類型。客戶端瀏覽器通過這個MIME類型就知道如何處理它了。當然是在瀏覽器中顯示這個html文件了。但如果服務器響應的是一個exe文件,那么瀏覽器就不可能顯示它,而是應該彈出下載窗口才對。MIME就是用來說明文檔的內容是什么類型的!
  • context.xml:對所有應用的統一配置,通常我們不會去配置它。

(3)  lib:Tomcat的類庫,里面是一大堆jar文件。如果需要添加Tomcat依賴的jar文件,可以把它放到這個目錄中,當然也可以把應用依賴的jar文件放到這個目錄中,這個目錄中的jar所有項目都可以共享之,但這樣你的應用放到其他Tomcat下時就不能再共享這個目錄下的jar包了,所以建議只把Tomcat需要的jar包放到這個目錄下;

(4) logs:這個目錄中都是日志文件,記錄了Tomcat啟動和關閉的信息,如果啟動Tomcat時有錯誤,那么異常也會記錄在日志文件中。

(5) temp:存放Tomcat的臨時文件,這個目錄下的東西可以在停止Tomcat后刪除!

(6)  webapps:存放web項目的目錄,其中每個文件夾都是一個項目;如果這個目錄下已經存在了目錄,那么都是tomcat自帶的。項目。其中ROOT是一個特殊的項目,在地址欄中沒有給出項目目錄時,對應的就是ROOT項目。http://localhost:8080/examples,進入示例項目。其中examples就是項目名,即文件夾的名字。

(7)  work:運行時生成的文件,最終運行的文件都在這里。通過webapps中的項目生成的!可以把這個目錄下的內容刪除,再次運行時會生再次生成work目錄。當客戶端用戶訪問一個JSP文件時,Tomcat會通過JSP生成Java文件,然后再編譯Java文件生成class文件,生成的java和class文件都會存放到這個目錄下。

(8)  LICENSE:許可證。

(9)  NOTICE:說明文件。

2.3 Eclipse配置Tomcat

配置步驟:

1.  在servers標簽中,右鍵à New à Server

        

2.在出現的窗口中選中Tomcat v7.0 Server,點擊下一步

3.選擇tomcat安裝路徑,選擇系統的JDK,點擊Finish

4  創建好后,Servers標簽下出現剛剛創建好的服務器

 

3.處理tomcat端口占用問題

(1)打開cmd輸入命令:netstat -ano|findstr 8080

查看占用8080端口的進程

(2)輸入命令:taskkill /pid 8768 /f

將占用端口號結束進程

二.   創建Web應用

1.項目hello目錄介紹

(1)  hello:應用目錄,hello就是應用的名稱;

(2)  index.html:應用資源。應用下可以有多個資源,例如css、js、html、jsp等,也可以把資源放到文件夾中,例如:hello\html \index.html,這時訪問URL為:http://localhost:8080/hello/html/index.html;

(3)  WEB-INF:這個目錄名稱必須是大寫,這個目錄下的東西是無法通過瀏覽器直接訪問的,也就是說放到這里的東西是安全的;

(4)  web.xml:應用程序的部署描述符文件,可以在該文件中對應用進行配置,例如配置應用的首頁:

<welcome-file-list>

<welcome-file>index.html</welcome-file>

</welcome-file-list>

(5)  classes:存放class文件的目錄;

(6)  lib:存放jar包的目錄;

2. Eclipse創建Web應用

2.1 Eclipse創建動態Web應用

1.  右鍵Dynamic Web Project

2 . 配置項目信息

  -  輸入項目名,

  -  選擇配置好的tomcat,

  -  選擇Dynamic web module version 為 3.0

 

3. 點擊Finish,創建好的項目會出現在左側的列表中。

4.  在項目的WebContent目錄下創建一個index.html文件

2.2 部署/移除Web項目

(1)  右鍵點擊剛創建好的Tomcat服務器,選擇Add and Remove …

 

(2)  選中剛創建的項目,點擊add,點擊Finish

2.3啟動/關閉Tomcat

(1)  右鍵選擇服務器,單擊start,啟動服務器

(2) 看到控制台輸出:類似信息: Server startup in 161 ms,證明服務器啟動成功

(3)訪問 http://localhost:8080/項目名稱,就可以訪問你的項目

2.4 Eclipse使用Tomcat的原理

(1)  當我們使用Eclipse將項目部署到Tomcat的時,我們發現,在Tomcat下的webapps目錄下並沒有我們創建好的項目,但是當通過Eclipse啟動服務器后,項目卻真的可以訪問到,這是為什么呢?

(2) 實際上,Eclipse在使用Tomcat時,並沒有將項目部署到Tomcat的目錄下,而是在其工作空間中,創建了一個Tomcat的鏡像,Eclipse啟動的Tomcat是他自己配置的鏡像。

(3)  Eclipse鏡像所在目錄

你的工作空間目錄\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

(4)  在這個目錄下,我們會發現一個和Tomcat安裝目錄幾乎一模一樣的目錄結構。

(5)  在這里Eclipse中Tomcat鏡像配置文件也是獨立的,而我們所創建的項目是部署到wtpwebapps目錄下的,這樣做的好處是Eclipse中Tomcat和我們本機的Tomcat可以保持相互獨立,不會影響彼此。

三.瀏覽器與服務器之間的請求與響應

1.HTTP協議簡介

1.1.HTTP協議:就是指的通信雙方所必須遵守的報文規則!
1.2.報文:客戶端與服務端通信時傳輸的內容我們稱之為報文。

報文格式:
         ①報文首部
                 報文首行
                 報文頭部
        ② 空行
        ③報文主體

報文分類:
         ① 請求報文
             get請求報文
             post請求報文
        ② 響應報文

(1)get請求報文

  GET /bookstore01/b.html?username=dfadf&pwd=dfa HTTP/1.1
        //報文首行
           請求方式  請求路徑?參數鍵值對&

     
        //報文頭部【鍵值對格式】 
        Host: localhost:8080  //請求目標ip地址和端口號
        User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101Firefox/27.0//當前瀏覽器
        
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        //瀏覽器告訴服務器,瀏覽器可以接收什么格式的文件
        
        Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
        //可以判斷你是在是哪個位置
        zh-cn:簡體中文
        en-us:美式英語
            
        Accept-Encoding: gzip, deflate
        //瀏覽器告訴服務器瀏覽器可以識別的解壓方式
        
        Referer: http://localhost:8080/bookstore01/index.html
        Referer:指的是當前頁面是從哪個頁面跳轉過來的
            
        Connection: keep-alive
        //keep-alive:表示瀏覽器告訴服務器這是一個長連接

            get請求沒有空行和報文主體,get請求是通過地址欄傳遞參數的!

(2)post請求報文

 

POST /bookstore01/b.html HTTP/1.1
        //請求首行
           請求方式  請求路徑   請求協議/版本號   
        
        Host: localhost:8080
        User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
        Accept-Encoding: gzip, deflate
        Referer: http://localhost:8080/bookstore01/index.html
        Connection: keep-alive
         post請求有空行和請求體, post請求通過請求體傳遞請求參數!

(3)get請求和post請求的區別

   ①get請求通過地址欄傳遞參數,post請求通過請求體傳遞請求參數,相對安全一點!
     ②get請求沒有空行和請求體,post請求有
     ③get請求傳遞的字符是有限制的,255個字符,而post請求通過請求體傳遞參數,沒有大小限制

總結:通常只有在form表單中,我們使用的是post請求,而在其它地方都是get請求!

(4)幾種常見的響應狀態碼
    200:響應成功
    302: 重定向
    404:請求路徑錯誤
    405:請求方式有問題  以4xx開頭的響應狀態碼,都表示是瀏覽器端的錯誤
    500:服務器端的錯誤,表示自己寫的java,jsp代碼有bug

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM