javaweb學習筆記(一)
-
web開發
-
web,網頁的意思。
-
-
動態web:所有人看到的資料始終會發生變化,不同事件不同地點看到的資訊不同。
-
技術棧:Servlet/JSP,ASP,PHP
-
-
在java中,動態web資源開發的技術統稱為JavaWeb
Web應用程式
-
Web應用程式:可以提供瀏覽器訪問的程式;
-
所有能訪問到的頁面或者資源,都在世界上的某一個角落的計算機上。
-
URL
-
這個統一的web資源會放在同一個資料夾下,web應用程式--->Tomcat:伺服器
-
一個web應用由多個部份組成(靜態,動態)
-
html、css、js
-
jsp、servlet
-
Java程式
-
jar包
-
配置檔案
-
-
web應用程式編寫完畢後,若想提供給外界訪問:需要一個伺服器來統一管理
靜態Web
-
*html、htm,這些都是網頁的字尾,如果伺服器上一直存在這些東西,我們就可以直接進行讀取。
-
靜態web的缺點
-
web頁面無法動態更新,所有的使用者看到的都是一個頁面
-
輪播圖,點選特效:偽狀態
-
JavaScript[實際開發中,它用的最多]
-
VBScrippt
-
-
它無法和資料庫互動(資料無法持久化,使用者無法互動)
-
動態Web
-
頁面會動態展示:展示效果因人而異。
-
缺點
-
假如伺服器的動態web資源出現了錯誤,我們需要重新編寫我們的後臺程式,重新發布。
-
停機維護
-
-
-
優點
-
Web頁面可以動態更新,所有使用者看到的都不是一個頁面。
-
它可以和資料庫互動
-
Web伺服器講解
技術講解
-
ASP
-
微軟:國內最早流行的就是ASP;
-
在HTML中嵌入了VB指令碼,ASP+COM
-
在ASP開發中,基本一個頁面都有幾千行的業務程式碼,頁面極其混亂
-
維護成本高!
-
IIS
<h1> <h1> <% System.out.println("hello") %> </h1> <h1> </h1> </h1>
-
-
php
-
php開發速度很快,功能很強大,跨平臺,程式碼很簡單()
-
無法承載大訪問量的情況
-
-
JSP/servlet
-
B/S:瀏覽器客戶端
-
C/S:客戶端和伺服器
-
sun公司主推的B/S框架
-
基於Java語言的(所有的大公司和一些開源的元件,都是Java寫的)
-
可以承載三高問題帶來的影響。
-
語法像ASP,ASP-->JSP,加強市場強度。
-
web伺服器
-
伺服器是一種被動的操作,用來處理使用者的一些請求和給使用者一些響應資訊。
-
IIS
-
微軟的;ASP...,Windows中自帶的
-
-
Tomcat
-
Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,由
Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用
訣竅是,當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上執行JSP 頁面和Servlet。另外,Tomcat和
-
Tomcat
安裝tomcat
啟動tomcat
-
資料夾作用
-
啟動
-
可能遇到的問題
-
Java環境變數沒有配置
-
閃退問題:需要配置相容性
-
亂碼問題:配置問題
-
配置環境
-
可以配置啟動的埠號
-
tomat預設埠號:8080
-
mysql:3306
-
http:80
-
https:443
-
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
-
可以配置主機的名稱
-
預設主機名為:localhost->127.0.0.1
-
預設網站應用存放位置為:webapps
-
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
高難度面試題
-
請你談談網站時如何進行訪問的
-
輸入域名,回車
-
檢查本機的c:\Windows\System32\drivers\etc\hosts配置檔案下有沒有這個域名的對映
-
有:直接返回對應的ip地址,在這個地址中,有我們需要的web程式,可以直接訪問。
-
沒有:去DNS(全世界的域名都在這裡)裡面找,找到的話就返回找不到。
-
-
釋出一個web網站
-
將自己寫的網站放到伺服器中指定的wbe應用下的資料夾下(webapps)下就可以訪問了。
Http
什麼是Http
-
超文字傳輸協議(Hypertext Transfer Protocol,HTTP)是一個簡單的請求-響應協議,它通常執行在
-
文字:Html,字串
-
超文字:視訊、圖片、音樂、定位、地圖...
-
80
-
Https:安全的
-
443
兩個時代
-
http1.0
-
HTTP/1.0:客戶點可以與web伺服器連線後,只能獲得一個web資源,斷開連線
-
-
http2.0
-
HTTP/1.1:客戶點可以與web伺服器連線後,可以獲得多個web資源
-
Http請求:
-
客戶端-->發請求(Requast)--->伺服器
-
請求行
-
請求方式:POST/GET
-
GET:請求能夠攜帶的引數比較少,大小有限制,會在瀏覽器的URL位址列顯示資料內容,不安全,但高效
-
POST:能夠攜帶的引數沒有限制,大小沒有限制,不會再瀏覽器URL欄地址顯示資料內容,安全,但是不搞笑
-
-
訊息頭
Accept:告訴瀏覽器,它所只是的資料型別
Accept-Encoding:支援哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器他的語言環境
Accept-Control:快取控制
Cache-Control:告訴瀏覽器,請求完成時斷開還是連線
Host:主機
Http響應:
-
伺服器----響應----客戶端
Cache-Control:private 快取控制
Connection:keep-Alive 連線
Connection-Encoding:gzip 編碼
Content-Type:text/html 型別
響應體
Accept:告訴瀏覽器,它所只是的資料型別
Accept-Encoding:支援哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告訴瀏覽器他的語言環境
Accept-Control:快取控制
Cache-Control:告訴瀏覽器,請求完成時斷開還是連線
Host:主機
Refresh:告訴客戶端,多久重新整理一次;
Location:讓網頁重新定位
響應狀態碼
-
200:代表請求響應成功
-
3XX:請求重定向
-
重定向:重新到給的新位置去;
-
-
4XX:代表找不到請求資源
-
5XX:伺服器程式碼錯誤
-
502:閘道器錯誤
-
常見面試題
當你的瀏覽器中位址列輸入地址回車的一瞬間,到頁面展示回來,經歷了什麼
Maven
-
我為什麼要學習這個技術
-
在javaWeb中,需要大量的jar包,需要我們手動匯入。
-
如何能夠讓一個東西自動幫我匯入和配置這個jar包
-
由此Maven誕生了。
-
-
Maven專案架構管理
-
核心思想:約定大於配置
-
有約束,不要去違反
-
-
Maven會規定好你該如何去編寫我們的java程式碼,必須按照這個規範來
下載安裝Maven
官方網址: https://maven.apache.org/
下載後解壓即可
配置環境變數
在我們系統環境中配置
-
M2_HOME 路徑配置Maven目錄下的bin目錄
-
MAVEN_HOME 路徑配置Maven目錄
-
在系統的path中配置 %MAVEN_HOME%\bin
配置阿里雲映象
-
映象:mirrors
-
作用:加速我們的下載
-
-
在maven目錄下conf目錄下的settings檔案裡面新增mirror的配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>
本地倉庫
建立一個倉庫
<localRepository>D:\idea\apache-maven-3.8.1\maven-repo</localRepository>
-
在settings中新增