簡(jiǎn)介
- http和tomcat是開發(fā)web項(xiàng)目中最基本的,如果沒有這個(gè)基礎(chǔ),開發(fā)出來的項(xiàng)目是無法運(yùn)行的
- 前端是在客戶端瀏覽器運(yùn)行的,客戶端具備html,css,js解析器
HTTP(超文本傳輸協(xié)議)
- 客戶端與服務(wù)器之間通信是基于http協(xié)議的
- 服務(wù)器與數(shù)據(jù)庫之間通信是基于JDBC與SQL
http協(xié)議組成
- http請(qǐng)求:瀏覽器將數(shù)據(jù)封裝成http請(qǐng)求發(fā)送給服務(wù)器
- http相應(yīng):服務(wù)器將結(jié)果封裝成為http返回給瀏覽器
請(qǐng)求和相應(yīng)是成對(duì)存在的
火狐瀏覽器自帶抓包工具:開發(fā)者-->網(wǎng)絡(luò)
-
http請(qǐng)求包括:
-
請(qǐng)求行: (get/post)請(qǐng)求方式,資源地址,協(xié)議的版本
- 請(qǐng)求方式有7種,常用的就2種:
- get:將請(qǐng)求參數(shù)追加到URL后面,不安全,加上url的長(zhǎng)度大小有限制,get請(qǐng)求沒有請(qǐng)求體
- post:數(shù)據(jù)存放在請(qǐng)求體中,比較安全,請(qǐng)求數(shù)據(jù)大小沒有限制
-
請(qǐng)求頭:格式是鍵值對(duì)格式
- accept:告訴服務(wù)器我可以接受的數(shù)據(jù)類型有哪些
- reference:來源,告訴服務(wù)器數(shù)據(jù)從哪個(gè)頁面發(fā)送過來的,常用于:防盜鏈
- user-agent:用戶瀏覽器信息
- accept-encoding:可以接受的壓縮格式
- host:訪問的主機(jī)地址
-
請(qǐng)求體:
- 包含post提交的數(shù)據(jù)(get提交的參數(shù)在請(qǐng)求行中)
- 有請(qǐng)求體的都是post提交
//請(qǐng)求體內(nèi)的數(shù)據(jù) username=zhangsan&password=123 //如果是get提交的數(shù)據(jù),請(qǐng)求參數(shù)則會(huì)出現(xiàn)在url后面 http://localhost:8080...?username=zhangsan&password=123
-
-
http響應(yīng):
- 響應(yīng)行:
- 協(xié)議的版本
- 狀態(tài)碼
- 200:正常返回
- 302:重定向
- 304:哪本地緩存
- 404:找不到路徑
- 500:服務(wù)器端錯(cuò)誤
- 狀態(tài)描述信息
- 響應(yīng)頭
- 響應(yīng)體:響應(yīng)體是服務(wù)器回寫給客戶端的頁面正文,瀏覽器將正文加載到內(nèi)存,然后解析渲染顯示頁面內(nèi)容
- 響應(yīng)行:
http請(qǐng)求是給服務(wù)器看的,http響應(yīng)是給瀏覽器看的
web開發(fā)中常用的概念
- B/S系統(tǒng)和C/S系統(tǒng)
- Brower/Server:瀏覽器服務(wù)器系統(tǒng)
- Client/Server:客戶端服務(wù)器系統(tǒng)
- web應(yīng)用服務(wù)器
- 供向外部發(fā)布web資源的服務(wù)器軟件
- web資源
- 存放在web服務(wù)器中可供外部訪問的資源
- 靜態(tài)資源:指web頁面中供人們?yōu)g覽的數(shù)據(jù)始終是不變.比如:HTML祖能、CSS、JS蛾洛、圖片养铸、多媒體
- 動(dòng)態(tài)資源:指web頁面中供人們?yōu)g覽的數(shù)據(jù)是由程序產(chǎn)生的,不同時(shí)間點(diǎn)訪問web頁面看到的內(nèi)容各不相同,比如:JSP/Servlet轧膘、ASP钞螟、PHP
web應(yīng)用服務(wù)器
- 常用的web應(yīng)用服務(wù)器
- weblogic: oracle公司的大型收費(fèi)服務(wù)器,支持全部javaee規(guī)范
- websphere:ibm公司的大型收費(fèi)服務(wù)器,支持全部javaee規(guī)范
- tomcat:apache開源組織下的開源免費(fèi)中小型服務(wù)器,支持javaee中的servlet和jsp
tomcat(有解壓版的)
- tomcat是一種web應(yīng)用服務(wù)器
- 在電腦里寫好的html頁面,如果想要分享給訪問我們電腦的人,這時(shí)候需要有服務(wù)器支持(電腦的文件不能讓別人直接訪問,需要借助服務(wù)器共享出去)
- 在客戶端與服務(wù)器之前的數(shù)據(jù)傳輸基于http協(xié)議
tomcat的下載與安裝
- 下載網(wǎng)址
- tomcat有安裝版的和解壓版的,安裝版的用得比較少
- 一般公司會(huì)提供好的,版本需要統(tǒng)一
- tomcat啟動(dòng)需要配置JAVA_HOME環(huán)境變量
- 避免端口沖突
web應(yīng)用的目錄結(jié)構(gòu)
- bin:腳本目錄
- 啟動(dòng)腳本:startup.bat
- 停止腳本:shutdown.bat
- conf:配置目錄
- 核心配置文件:server.xml
- 用戶權(quán)限配置文件:tomcat-users.xml
- 所有web項(xiàng)目默認(rèn)配置文件:web.xml
- web.xml用scheam約束
- lib:依賴的jar庫目錄
- logs:日志目錄
- temp:臨時(shí)文件目錄
- 文件夾內(nèi)內(nèi)容可以任意刪除
- webapps:web應(yīng)用發(fā)布目錄
- WEB-INF文件夾是受保護(hù)的,外界不可直接訪問
- work:tomat處理jsp的工作目錄
Tomcat啟動(dòng)不成功的原因分析
- 如果沒有配置JAVA_HOME環(huán)境變量,在雙擊“startup.bat”文件運(yùn)行tomcat 時(shí)谎碍,將一閃立即關(guān)閉鳞滨。且必須配置正確,及JAVA_HOME指向JDK的安裝目錄
- 端口沖突:修改Tomcat/conf/server.xml
使用Eclipse綁定tomcat并發(fā)布應(yīng)用
- Eclipse與tomcat進(jìn)行綁定:window-->preferences-->Server-->Rintime Envirorment
- 配置eclipse中tomcat的發(fā)布位置
- 設(shè)置發(fā)布位置:在Eclipse下面雙擊tomcat,勾選server locations為第二項(xiàng)
使用eclipse添加需要執(zhí)行的工程
- 在ide中刪除工程,在tomcat中刪除工程后,在ide里的servers中的server.xml里把相關(guān)的配置信息刪除
servlet快速入門
- 在src中創(chuàng)建一個(gè)類實(shí)現(xiàn)Servlet接口(需要導(dǎo)jar包,tomcat中有這個(gè)包),先集成tomcat再創(chuàng)建工程就不需要自己導(dǎo)入jar包了
- 如果先建了工程,再創(chuàng)建項(xiàng)目,可以右鍵工程,built-path--->configer path-->add library--->server runtime
- 重寫方法,其中service方法是專門向客戶端提供響應(yīng)的方法