1、基本概念
1.1、基本概念
Web開發:
- web~網頁,www.baidu.com
- 靜態web:
- html, css
- 提供給所有人看的數據始終不會發生變化~
- 動態web:
- 淘寶,幾乎所有的網站
- 提供給所有人看的數據始終會發生變化,每個人在不同的時間,不同的地點看到的信息各不相同
- 技術棧:Serviet/ISP,ASP,PHP
在Java中,動態web資源開發的技術統稱爲JavaWeb。
1.2、Web應用程序
web應用程序:可以提供瀏覽器訪問的程序;
- a.html、b.html…多個web資源,這些web資源可以被外界訪問,對外界提供幫助。
- 我們可以訪問到的任何一個頁面或資源,都存在於這個世界上的某個角落的計算機上。
- URL
- 這個統一的web資源會被放在同一個文件夾上,web應用程序 --> Tomcat:服務器
- 一個web應用由多部分組成(靜態web,動態web)
- html、css、js
- jsp,servlet
- java程序
- jar包
- 配置文件(Properties)
web應用程序編寫完畢後,如果想提供給外界訪問:需要一個服務器來統一管理。
1.3 靜態web
- *.htm, *.html這些都是網頁的後綴,如果服務器上一直存在該網頁,則可以直接進行讀取。
訪問流程:
靜態web存在的缺點:
- web頁面無法動態更新,所有用戶看到的都是同一個頁面
- 爲了彌補,使用輪播圖,點擊特效等等:微動態
- JavaScript【實際開發中,它用的最多】
- VBScript
- 無法和數據庫交互(數據無法持久化,用戶無法交互)
1.4 動態web
頁面會動態展示:“Web的頁面展示的效果因人而異”。
訪問流程:
缺點:
- 加入服務器的動態web資源出現了錯誤,我們需要重新編寫我們的後臺程序,重新發布:
- 停機維護
優點:
- Web頁面可以動態更新,所有用戶看到的都不是同一個頁面
- 它可以數據庫交互(數據持久化:註冊,商品信息,用戶信息…)
2、Web服務器
2.1、主流三大技術概述
ASP:
- 微軟:國內最早流行的就是ASP;
- 在HTML中嵌入VB腳本,ASP+COM;
- 在ASP開發中,基本一個頁面都有幾千行業務代碼,頁面極其亂
- 維護成本高!
- C#
php:
- PHP開發速度很快,功能跟強大,跨平臺,代碼很簡單(70%,WP)
- 無法承載大訪問量的情況(侷限性)
JSP/Servlet:
B/S架構:瀏覽和服務器
C/S:客戶端和服務器
- sun公司主推的B/S架構
- 基於Java語言的(所有的大公司,或者一些開源的組件都是java寫的)
- 可以承載三高問題帶來的影響;
- 語法像ASP,ASP --> JSP,加強市場的強度;
2.2、web服務器
服務器是一種被動的操作,用來處理用戶的一些請求和給用戶一些響應信息;
IIS
微軟的;ASP…,Windows中自帶的
Tomcat
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。Tomcat 技術先進、性能穩定,而且免費
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。
3、Tomcat
3.1 Tomcat安裝及測試
筆者是Mac OS Catalina系統,安裝的是Tomcat8,安裝過程可以參考此博客:https://blog.csdn.net/feng2qing/article/details/60968548
此處貼上Tomcat的目錄結構:
需要注意的是:在使用Tomcat前一定要安裝其版本支持的jdk。
3.2 更改端口號及主機名稱
3.2.1 端口號
在server.xml中可以配置端口號,也可以配置主機的名稱,需要更改hosts文件。
常用端口號說明:
- Tomcat的訪問端口號默認是:8080
- mysql:3306
- http:80
- https:443
更改端口位置:
<!--首先打開server.xml文件,找到以下語句-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--更改port爲自己想要的端口號即可,爲避免衝突,儘量選用1024以上的!-->
3.2.2 主機名稱
修改主機名稱需要同時更改server.xml文件以及hosts文件。
比如現在我想將http://localhost:8080更改爲我想要的http://www.jeverdemut.com:8080,需要進行如下操作:
- 首先更改hosts文件:如果不清楚hosts文件在哪裏,請按照下圖操作!
注意:此時更改的是系統文件,更改前需要該文件的管理權限,可以終端操作,但是筆者建議複製到桌面上進行修改,隨後再拖回到etc目錄下替換!同時hosts非常重要,裏面的語句如果不懂得話不要隨意修改!
我做出的修改如下:(將localhost改爲了我想要的語句)
- 下面修改server.xml文件:
<!--找到以下語句-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--做出更改如下:-->
<Host name="www.jeverdemut.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--保存退出!-->
重啓Tomcat後,瀏覽器分別輸入http://localhost:8080
和http://www.jeverdemut.com
進行測試,此處展示後者的測試結果!
3.3 詳解網站訪問流程
現在我們來談談網站是如何訪問的!
1、首先我們輸入了一個域名,並按下了回車!之後網頁就呈現到我們面前了,但是中間經歷了什麼我們需要了解一下!
2、隨後計算機檢查開始本機的hosts
配置文件中有沒有這個域名的映射;
-
如果有:直接返回對應的ip地址,這個地址中,有我們需要訪問的web程序,可以直接進行訪問。例如我們剛剛的情況
127.0.0.1 www.jeverdemut.com
-
如果沒有:去DNS服務器找,找到的話就返回ip地址,找不到的話就返回找不到。(DNS服務器集合了全世界所有的域名)
以下爲上述文字的流程圖:
3.4 發佈一個web網站
不會我們可以先模仿!
首先我們看Tomcat自帶的examples中的網頁!
瀏覽器內輸入localhost:8080/examples/,回車跳轉即可見以下頁面:
點擊網頁中的鏈接後會跳轉到其他的頁面,例如這裏我點擊第一個,則會出現以下頁面:(注意觀察域名後添加了一個servlets)
那麼我們來說一說這其中的原理:我們來看一下Tomcat中webapps中的文件:
上面跳轉的過程其實就是這一個個文件嵌套訪問的過程,所以我們要模仿發佈自己的網站只需要將寫好的web資源等仿照root目錄中配置部署一份。(可以複製ROOT目錄更改爲自己想要的名稱,添加文件即可!)
- 將自己寫的網站,放到服務器(Tomcat)中指定的web應用的文件夾(webapps)下,就可以訪問了
以下爲網站應該有的結構:
-- webapps: Tomcat服務器的web目錄
-ROOT
-DemutStudy:網站的目錄名
- WEB-INF
-classes : java程序
-lib : web應用所依賴的jar包
-web.xml : 網站配置文件
- index.html 默認的首頁
- static
-css
-style.css
-js
-img
- ...
寫在最後
“對我來說,你還只是一個小男孩,就像其他千萬個小男孩一樣。我不需要你。你也同樣用不着我。對你來說,我也不過是一隻狐狸,和其他千萬只狐狸一樣。但是,如果你馴服了我,我們就互相不可缺少了。 對我來說,你就是世界上唯一的了;我對你來說,也是世界上唯一的了。”
——《小王子》
To Demut and Dottie!