Tomcat的安裝配置與web項目發佈

Tomcat的安裝配置與web項目發佈

今日內容css

         一、Web開發基本概念(瞭解)html

         二、tomcat的安裝和配置(必會)linux

         三、web項目的發佈(必會)web

         四、Http協議簡介(理解)數據庫

Web開發基本概念

一、軟件的架構apache

         經常使用的軟件:QQ、京東、淘寶、kgcjson

         1)C/S架構windows

         解釋:客戶端/服務器。跨域

         特色:須要下載並安裝,每次更新須要下載,客戶端和服務器有可能都須要更新瀏覽器

         控件炫酷,由於它調用的是系統底層的圖形的API

         2)B/S架構

         解釋:瀏覽器/服務器架構。它是基於Http協議的,用的是請求/響應模式。

         特色:經過瀏覽器直接訪問,更新不須要用戶干涉,在服務器端維護

二、web資源分類

         什麼是web資源?

         放在服務器上,供用戶訪問的文件、圖片、CSS、JS、視頻、音頻等

         1)靜態資源:css、js、圖片 html 視頻  音頻

         2)動態資源:若是文件是由容器進行編譯、執行後生成的文件,就是動態資源。Servlet、jsp。

         當用戶訪問資源的時候,動態資源和靜態資源走的引擎不同。

三、服務器的概念以及常見的web服務器

l  什麼是服務器?

         服務器是軟件和硬件的結合體。首先要由服務器的硬件,而後安裝服務器軟件,對軟件進行配置,啓動起來。這樣用戶才能夠訪問。

l  常見的web服務器

概念:就是能夠運行web程序的服務器,當用戶把web程序部署到該服務器後,啓動就能夠訪問web資源。

1)WebSphere:IBM公司的商用服務器,收費。

2)WebLogic:BEA 公司的商業服務器,收費 jsp/servlet

3)IIS ,asp  asp.net

4)tomcat:開源的服務器,高效,小巧。一般如今常常把tomcat在分佈式環境下搭建集羣。

 

四、web動態資源的結構

 

         Webapp(webroot)

                  WEB-INF

web.xml(部署描述符文件)

lib(文件,放jar文件)

                  jsp(html  css js)

 

就是通常在站點的下面會專門建立文件夾放css,js和imgs相似。Lib放第三方的jar,拷貝進去後,不須要再去構建路徑

tomcat的安裝和配置

         一、下載地址:https://tomcat.apache.org/download-80.cgi

         二、下載什麼?

    

         說明:gz是linux版本,zip是windows版本,要根據操做系統的64仍是32,選擇合適的。

         三、安裝就是解壓縮。

                  1)解壓到根目錄

                  2)不能解壓到中文文件夾、中間不要有空格、也不要用很特殊的字符

 

 

         四、配置

                  1)該軟件依賴jdk,沒有jdk沒法運行啓動。那麼就必須配置jdk的環境變量

                  JAVA_HOME: C:\Program Files\Java\jdk1.8.0_111

 

CLASSPATH: .;%JAVA_HOME%\lib; %JAVA_HOME%\lib

 

 

                  配置path環境變量,在前面加上   %JAVA_HOME%\bin;

 

 

 

 

Path環境變量所作過的修改

 

D:\Program Files\MySQL\MySQL Server 5.5\bin;

這是配置的數據庫的環境變量

 

 

%Java_Home%\bin;

這是配置的jdk的環境變量

 

 

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

 

 

%CATALINA_HOME%\bin;

這是配置的tomcat的環境變量

 

 

---------------------------------------------------------------------------------------------------------------------------------

                 

 

 

 

 

                  2)配置tomcat環境

                  CATALINA_HOME: D:\apache-tomcat-8.0.26

 

                  在後面加上  %CATALINA_HOME%\bin;

 

                  3)如何判斷安裝成功

           

 

五、在命令行輸入startup.bat,出現下面的界面,屏幕沒有一閃而過,就說明沒有問題。這說明啓動成功

 

 

六、測試:在瀏覽器輸入http://localhost:8080/

 

         七、tomcat的目錄結構

 

bin:啓動和關閉tomcat的文件夾。

 

startup.bat是用來啓動服務器,

shutdown.bat是中止服務器的

這裏的bat文件咱們稱爲批處理文件

以.sh結尾的文件是在linux環境下啓動和關閉服務器的文件。

 

conf:配置文件夾

lib:該軟件依賴的jar包

logs:日誌文件

temp:臨時文件夾

webapps:就是用來發布你本身的web應用的文件夾,好比本身的站點能夠拷貝到這裏。

work:放的jsp文件翻譯的源代碼文件以及編譯後的字節碼文件

web項目的發佈

學習誤會:

1)你們認爲,咱們一個動態站點 開發完畢,要測試或者正式上線,就是每次手工拷貝項目到webapps?

http://localhost:8080/web01/xxxxx資源

解答:能夠這麼作,可是在開發的時候調試的效率過低,每次修改必定代碼,都必須手工拷貝,速度太慢。因此咱們是經過軟件自動的拷貝到webapps下面的。這個經過軟件拷貝的過程叫作部署和發佈。何時用該方式暱?好比項目完成後,到客戶現場通常帶到現場的不是源代碼(源代碼不會隨便給實施工程師),而是編譯後的文件,通常手工拷貝部署。也能夠遠程的方式拷貝部署。(有云服務器,有帳號和密碼)。

2)發佈:有手工拷貝,還有工具拷貝,好比經過eclipse自動拷貝和部署。

 

發佈一個web工程到tomcat中共有三種方法:

  1. 直接將web工程的WebContent拷貝到tomcat/webapps中.

 

 

  1. 配置tomcat的虛擬路徑
  2. 配置tomcat的虛擬路徑

 

方式一:直接copy項目到webapps下

直接將web工程複製到webapps便可,注意它copy的是webContext這個文件夾的內容。

 

 

例如http://localhost:8080/WebContent/NewFile.jsp

http://60.1.1.128:8080/aa/NewFile.jsp

當須要別人的電腦訪問你的網頁,須要將localhost 改成本機的ip地址60.1.1.128

獲取ip地址的方式爲,在黑窗口輸入ipconfig

 

 

方式二:配置tomcat的虛擬路徑(不推薦)

在tomcat/conf/server.xml文件中進行配置

在<Host>標籤下配置:

<Context path="aaa" docBase="D:/HelloKitty"/>

 

方式三:配置tomcat的虛擬路徑(推薦)

在tomcat/conf/Catalina/localhost/xxx.xml

配置<Context docBase="D:/HelloKitty"/>

 

用尾文件的路徑取代"D:/HelloKitty"

xxx做爲虛擬路徑的名稱

建立xml文件

Xml的文件名就是訪問路徑

例如http://localhost:8080/aa/NewFile.jsp

 

如何獲得路徑?

 

 

任務,分別使用cmd啓動服務器,和使用eclipse啓動服務器來實現web項目的發佈

eclipse環境配置tomcat以及發佈和部署web項目

 

 

 

說明:第一次的不要添加web到服務器,由於會自動發佈到插件中

 

 

 

 

Http協議簡介

Http協議的概述

協議

什麼是協議:規定雙方須要遵照的規則

http協議

什麼是http協議:用來規定瀏覽器和服務器之間須要遵照的規則.

解讀:是軟件的協議,規定是瀏覽器和服務器雙方要遵循的規則。爲何須要遵循規則?由於是軟件,它是機器來執行的,它本身不會判斷,只會機械執行。並且在計算機世界中是二進制的數據。那麼這些數據進行交互和通訊,機器怎麼知道它要去執行什麼指令?那麼就必須約定規則。這樣才能夠。

 

http協議的做用:規範瀏覽器和服務器之間的數據傳遞.

 

http協議的特色:

  1. 基於請求和響應的模型

必須先有請求,後有響應

請求和響應必須成對出現

  1. 默認的端口號是80
  2. 3.       無狀態的協議

 

http協議的版本:

1.0            每次響應後即刻關閉了鏈接.      

1.1              如今使用.不是每次響應後掛斷,等待長時間之後,沒有請求就會掛斷.

http協議的演示

抓包分析:get方式

請求部分:

GET /ServletDemo/http/demo2.html?name=aaa&age=18 HTTP/1.1

Host: localhost:8080

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.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/ServletDemo/http/demo1.html

Connection: keep-alive

Upgrade-Insecure-Requests: 1

 

抓包分析:post方式

請求部分:

POST /ServletDemo/http/demo2.html HTTP/1.1

Host: localhost:8080

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.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

Content-Type: application/x-www-form-urlencoded

Content-Length: 15

Referer: http://localhost:8080/ServletDemo/http/demo1.html

Connection: keep-alive

Upgrade-Insecure-Requests: 1

 

name=bbb&age=38

 

響應部分:

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Accept-Ranges: bytes

ETag: W/"143-1508222586306"

Last-Modified: Tue, 17 Oct 2017 06:43:06 GMT

Content-Type: text/html

Content-Length: 143

Date: Tue, 17 Oct 2017 06:48:05 GMT

 

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

         hello servlet!!!

</body>

</html>

http協議的詳解

請求部分

請求行

提交方式:

提交方式有不少種,經常使用的就是get,post,還有一些put,delete...

get和post的區別:

get的提交的參數會顯示到地址欄上,而post不會

get每每是有大小限制的,而post沒有大小的限制

get沒有請求體,而post是有請求體

提交路徑:      

協議版本:       HTTP/1.1

 

請求頭

都是鍵值對的形式顯示存在的,通常一個key對應一個value,也有一些是一個key多個value

User-Agent:     表明的是瀏覽器的類型---文件下載,下載中文文件,IE使用URLEncoder                                   進行編碼,而Firefox會是Base64編碼

Referer:            表明的是網頁的來源.---防盜鏈

If-Modified-Since:   一般與響應中的頭Last-Modified一塊兒使用來查找本地緩存.

 

請求體

就是post提交方式提交到服務器的參數

響應部分

響應行

協議版本        :HTTP/1.1

狀態碼             :

200 成功

302 重定向

304 查找本地緩存

404 資源不存在

500 服務器內部錯誤

狀態碼描述

 

響應頭:鍵值對,通常一個key對應一個value,也有一個key對應多個value

Last-Modified          :與請求頭中的If-Modified-Since一塊兒使用查找本地緩存.

Content-Disposition:文件下載的時候使用的一個頭信息

Location                    :重定向跳轉的路徑

Refresh                      :定時刷新/定時跳轉

問題:

         Web中,緩存的原理是什麼?

         第1次請求的時候,會把資源和時間帶到客戶端瀏覽器緩存文件夾中,第2次請求同一個資源的時候,請求頭會帶一個If-Modified-Sice(時間戳)到服務器端,服務器端去查找請求的資源的最後修改時間是什麼,把這個時間和帶過來的時間進行對比,若是不一樣,就會把資源從新發送到瀏覽器緩存文件夾,同時會帶一個時間戳Last-Modified 過去。若是相同,就發一個狀態碼304,(此時不會將資源從新發送到瀏覽器緩存文件夾),那麼瀏覽器會自動到緩存文件夾中查找資源並顯示。

響應體:

顯示到瀏覽器的頁面的內容

做業:

一、三種發佈方式練習

二、在eclipse中建立web項目,以及配置tomcat,發佈項目和啓動、關閉。

三、預習Servlet

 

學習底線:

1、會建立web項目,會配置tomcat,會發布項目,啓動

2、servlet會建立、會配置部署描述符以及會經過url訪問servlet(相對路徑和絕對路徑)

3、會在servlet(控制器)中經過request對象得到客戶端瀏覽器提交的請求參數的值。

從前臺到後臺,意味着會從後臺獲取前提提交數據。Request對象,學會核心方法。

4、會從後臺到前臺。會響應頁面或者數據給前臺。Reponse對象

5、會處理響應亂碼或者請求亂碼。Request中得到前臺數據的時候,若是是get提交會有亂碼,要會處理。響應的數據會經過response處理亂碼。

6、懂得轉發和重定向的區別,繼而會選擇合適的域對象,把數據存儲到域對象。固然也會從域對象中得到存放的值。

7、mvc的執行流程

8、JSTL和EL表達式的使用(數據綁定的時候,處理循環、判斷以及從域對象中得到數據後進行綁定)

9、三層架構的基礎上,這個是基礎中的基礎。

10、過濾器的使用

11、jsp的9個內置對象以及他們的用法

12、會處理AJAX,返回json數據

13、單表的帶條件的分頁查詢

 

提升部分:

1、cookie的原理

2、session的原理

3、跨域訪問的問題

4、表單的重複提交處理

5、禁止cookie後怎麼處理?

6、文件的上傳和下載(咱們的企業家開發不會用框架來處理上傳和下載)

7、監聽器的使用場景

8、用戶的自動登陸功能

9、jsp頁面的組成部分(動做、小腳本、表達式的混排使用)

10、驗證碼

11、多個表的帶條件的分頁查詢

相關文章
相關標籤/搜索