JavaWeb.簡介、Tomcat

2018/8/8   22:14

* WEB的學習
  * 服務器
   * 網絡的架構(面試題)
            * C/S client/server 客戶端/服務器端  例子:QQ 快播 暴風影音
                            * 優點:交互性好,服務器壓力小。
                            * 缺點:客戶端更新了,下載。
     
            * B/S browser/server 瀏覽器/服務器端  例子:購物網站 12306 
                            * 缺點:服務器壓力大。
                            * 優點:服務器更新就ok。
   
   * WEB網頁     javaweb 使用java開發網頁。
   * 靜態的web資源
             * HTML、CSS、JAVASCRIPT
   * 動態的web資源 
             * 數據(時時刻刻發生變化)發生變化。例子:
             * Servlet/JSP 
             * ASP .net 微軟開發
             * PHP 開源(開發網站那速度真快),提供模板。(LJJ&LOVE)
             * RUBY 小日本開發的。
             * JAVA做什麼?後臺的管理系統,處理大數據。(LOVE)
   
   * 服務器的介紹
            * 原理:網絡編程。
            * 概念:
                      * 硬件:就是一臺主機。
                      * 軟件:安裝了服務器的軟件(tomcat)。 
                      * 安裝軟件後,稱爲WEB服務器。
                       * 啓動服務器,訪問資源。
                       * 訪問:http://+ip+端口號 找到主機。如果資源的文件,就可以訪問了。
                       * 訪問百度:http://www.baidu.com/
                       * HTTP協議默認端口號是80,可以不寫。
                       * ping www.baidu.com (域名???)        61.135.169.121(百度的IP,不止這一個,有很多)
     
     * 如果想訪問本機的服務器(擴展)
      * http://localhost:80
      * http://127.0.0.1:80

     
   * 常見服務器
    * WebLogic BEA公司開發的(被Oracle收購了) 收費的 支持JAVAEE所有的規範(EJB servlet/jsp規範)
     * (JAVA MySql(Oracle) WebLogic)
     
    * WebSphere IBM公司開發的 收費的 支持JAVAEE所有的規範(EJB servlet/jsp規範)
     * 銀行喜歡用
     
    * Tomcat  apache開源的組織,非常的偉大)只Servlet/JSP規範。免費的。
     
   * Tomcat的安裝和注意實現
    * (前提條件)安裝JDK,配置java的環境變量。
    * 安裝版(給客戶用)
    * 解壓版:解壓當前文件夾,目錄不要有中文。
    * 啓動服務器:tomcat/bin/startup.bat(啓動服務器) 
    * 訪問:http://192.168.24.215:8080訪問服務器的主頁。
    * 關閉服務器:點關閉按鈕,shutdown.bat
    
    
   * 常見啓動問題
    * 配置環境變量。C:\Program Files (x86)\Java\jdk1.6.0_16
     * 一閃而過,環境變量沒配置好。
     
    * 端口占用問題
     * java.net.BindException: Address already in use: JVM_Bind
     * 端口被佔用。
     
     * 解決問題:
     * 結束掉佔用端口的應用程序。
               * 找到佔用端口的應用程序。
               * 通過命令 netstat   –ano,(端口號-PID)在任務管理器(PID)中結束程序。
       
      * 修改端口號。
              * 修改配置文件了。
               * tomcat/conf/server.xml配置文件

                (系統上線,端口號會改成80)

               <Connector port="80" protocol="HTTP/1.1"
                connectionTimeout="20000"
                 redirectPort="8443" />
       
      * 有應用程序佔用80端口,用上邊的方式解決。
      * 有的WIN7系統自帶World wide web publish IIS服務,默認佔用80端口。
       * 如果有。去服務中,該手動啓動。
       
      * 概率非常小。操作系統佔用80端口。
       
   * Tomcat目錄結構
    * bin(**)   啓動項,關閉項。 
    * conf(*****)  裏面Tomcat配置文件
    * lib(**)   服務器運行使用的jar包
    * logs(***)  日誌文件,運行時產生的日誌。
    * temp(**)  運行時臨時文件
    * webapps(*****) web applications(web的應用們)
    * work(*****)  JSP翻譯成Servlet程序

    
    
   * 如果動態的WEB資源,把WEB資源發佈到服務器的webapps目錄下的時候,有固定的目錄結構。
   * 靜態的web資源
              * HTML、CSS、JAVASCRIPT
    * 動態的web資源 
             * 數據發生變化。例子:
             * Servlet/JSP 
     
   * 開發動態的WEB資源程序,目錄結構如下(必須記住)
            * Servlet/JSP只要包含,就稱爲動態的WEB資源
               website(項目名)
                       |               ---  存放 HTML CSS JAVASCRIPT JSP 圖片
                       WEB-INF
                                  |
                               web.xml  程序的入口。配置文件(必須有的)
                               classes  文件夾,名稱固定的  可選的
                                lib   文件夾,名稱固定 可選的

                
    
   
   * Tomcat和MyEclipse的集成
    * window -- 選項 -- MyEclipse -- servers -- 選擇tomcat -- 選擇Enable -- 選擇tomcat根目錄
    * 配置JDK -- 選擇JDK。
    * 啓動服務器。
    
    * 虛擬路徑(訪問路徑)
     * 默認和項目名稱是相同(不要去修改)。
     * WebRoot變成了虛擬路徑(訪問的路徑)
     
    * 直接複製項目,需要修改虛擬路徑。
     * 項目上右鍵 -- 選擇屬性 -- MyEclipse -- web -- 修改虛擬路徑。
    
    * 擴展
     * window -- show view -- servers
     
   * Tomcat管理員的配置(瞭解)
    * 在tomcat/conf/tomcat-user.xml
    
     <role rolename="manager"/>
     <user username="admin" password="admin" roles="manager"/>
     
     
   * 如何部署WEB程序(三種)
    * 項目複製到webapps目錄下。
     
    * 通過配置虛擬路徑的方式。
     * 直接修改配置文件
      * 寫到tomcat/conf/server.xml
      * 找到<Host>標籤,配置到Host標籤的中間
      * 目的:通過配置,配置訪問路徑,準確找到c:\bb的文件
       * <Context docBase="文件夾的真實目錄" path="虛擬路徑(訪問路徑)" ><Context>
       * <Context docBase="C:\bb" path="/itcast" ></Context>
       * 訪問:http://localhost:80/itcast
       
     * 自己編寫一個配置文件(格式)(推薦使用)
      * 自定義xxx.xml結尾文件,在$CATALINA_HOME/conf/[enginename]/[hostname]/ directory.目錄下。
      * 把xxx當成虛擬(訪問)路徑。
      
      * 在xml的文件中編寫。
       * 在哪個目錄下:
        * $CATALINA_HOME/conf/[enginename]/[hostname]/ directory.
        * 如果找引擎的名稱和主機的名稱,在server.xml中找。
        * tomcat/conf/Catalina/localhost/ccc.xml
        
       * ccc.xml的文件編寫什麼內容?
        * <Context docBase="C:\cc"></Context>
       * 訪問:http://localhost:80/ccc
       
   
   * 配置虛擬主機(瞭解)    
        
       
  * HTTP的協議
   * 啥是HTTP的協議:超文本傳輸協議。
   * 基於TCP鏈接的傳輸協議。
   * HTTP協議默認端口號是:80
               * 基於請求和響應的模式。(先有請求, 後有響應)
               * www.baidu.com(訪問百度的服務器)
               * 百度的首頁返回給我
               * 客戶端連上web服務器後,若想獲得web服務器中的某個web資源,  需遵守一定的通訊格式,HTTP協議用於定義客戶端與web服務器通迅的格式
    
    
   * 使用telnet命令,快速瞭解http協議。
   * 如果是win的系統,開啓telnet的命令。 
    
    啓動服務器.
    cmd>telnet localhost 80  回車
    telnet命令有一個亂碼問題  解決亂碼.
    解決  ctrl+]  回車
    注意:命令行中輸入的內容不能寫錯,一旦寫錯了,不支持刪除。
    請求:
    
    GET /aa/1.html HTTP/1.1
    host:localhost
    輸入兩次回車
    
   * 使用telnet命令發送了一次請求
    * 請求:
     GET /aa/1.html HTTP/1.1
     host:localhost
     
    * 響應:  
     HTTP/1.1 200 OK
     Server: Apache-Coyote/1.1
     ETag: W/"21-1416624196782"
     Last-Modified: Sat, 22 Nov 2014 02:43:16 GMT
     Content-Type: text/html
     Content-Length: 21
     Date: Sat, 22 Nov 2014 07:33:53 GMT
     
     <h1>hello java!!</h1>
     
   
   * HTTP協議的版本
    * HTTP/1.0
     * 鏈接後,只能獲取一個web資源。
     * 鏈接後,發送請求,服務器做出響應,鏈接立即斷開。(打電話,說一句掛掉,說一句掛掉)
      GET /aa/1.html HTTP/1.0
      host:localhost 
     
    * HTTP/1.1(使用)
     * 鏈接後,可以獲取多個web資源。
     * 鏈接後,發送請求,服務器做出響應,鏈接不會立即斷開。
        再次發送請求,直接有一段時間沒操作,自動斷開。
      GET /aa/1.html HTTP/1.1
      host:localhost
      
   * 請求:
    * 請求行
     * 請求方式
      * POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
                * 常用post和get
                * 區別:
                               * get把參數顯示在地址欄上,安全級別低,不支持大數據。
                               * post把參數封裝請求體中,安全級別高,支持大數據。

           

 

 * 請求地址
      * 請求資源
     * 協議版本
      * HTTP/1.1
    * 請求頭
     Accept: text/html,image/*   
     Accept-Charset: ISO-8859-1
     Accept-Encoding: gzip
     Accept-Language:zh-cn
     Host: www.itcast.com:80
     If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
     Referer: http://www.itcast.com/index.jsp
     User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
     Connection: close/Keep-Alive  
     Date: Tue, 11 Jul 2000 18:23:51 GMT 
     
     * 重要的頭
      * If-Modified-Since  必須和響應頭信息一起來完成控制本地的緩存。
      * Referer    當前的網頁的來源。(防止盜鏈
      * User-Agent   判斷瀏覽器的版本(文件下載的時候)

          
      
    * 空行
    * 請求體
              * 封裝post參數列表。

   
   * 響應
    * 響應行
               * 協議版本
               * HTTP/1.1
               * 狀態碼
                               200 :請求成功處理,一切OK
                               302 :請求重定向
                               304 :服務器端資源沒有改動,通知客戶端查找本地緩存
                               404 :客戶端訪問資源不存在
                               500 :服務器內部出錯

      
     * 狀態碼描述
      
    * 響應頭
     Location: http://www.it315.org/index.jsp
     Server:apache tomcat
     Content-Encoding: gzip
     Content-Length: 80
     Content-Language: zh-cn
     Content-Type: text/html; charset=GB2312
     Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
     Refresh: 1;url=http://www.it315.org
     Content-Disposition: attachment; filename=aaa.zip
     Expires: -1
     Cache-Control: no-cache 
     Pragma: no-cache  
     Connection: close/Keep-Alive  
     Date: Tue, 11 Jul 2000 18:23:51 GMT
     
     * 重要的頭
      * Location     和302一起完成重定向。
      * Last-Modified    和請求頭If-Modified-Since一起控制緩存。和狀態碼304
      * Refresh     完成頁面的定時跳轉
      * Content-Disposition   設置文件是以附件打開
      
      Expires: -1
      Cache-Control: no-cache 
      Pragma: no-cache
      * 禁用緩存(網銀系統)
      
    * 空行
    * 響應體
     * 存放真正的數據。
    
   * 擴展:
    轉發:找班長借錢,他自己找富班長借錢,
    重定向:(找班長借錢,發送一次請求,回了我沒錢,返回狀態碼302,給副班長地址,再去找富班長借錢,又發送了一次)
   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章