Web服務(wù)器
Web服務(wù)器是指駐留于因特網(wǎng)上某種類(lèi)型計(jì)算機(jī)的程序。當(dāng)Web瀏覽器(客戶端)連到服務(wù)器上并請(qǐng)求文件時(shí)纤怒,服務(wù)器將處理該請(qǐng)求并將文件發(fā)送到該瀏覽器上糯而,附帶的信息會(huì)告訴瀏覽器如何查看該文件(即文件類(lèi)型)。服務(wù)器使用HTTP(超文本傳輸協(xié)議)進(jìn)行信息交流泊窘,這就是人們常把它們稱為HTTPD服務(wù)器的原因熄驼。
Web服務(wù)器不僅能夠存儲(chǔ)信息,還能在用戶通過(guò)Web瀏覽器提供的信息的基礎(chǔ)上運(yùn)行腳本和程序烘豹。
Web服務(wù)器可以解析HTTP協(xié)議瓜贾。當(dāng)Web服務(wù)器接收到一個(gè)HTTP請(qǐng)求,會(huì)返回一個(gè)HTTP響應(yīng),例如送回一個(gè)HTML頁(yè)面。為了處理一個(gè)請(qǐng)求Web服務(wù)器可以響應(yīng)一個(gè)靜態(tài)頁(yè)面或圖片携悯,進(jìn)行頁(yè)面跳轉(zhuǎn)或者把動(dòng)態(tài)響應(yīng)的產(chǎn)生委托給一些其它的程序例如CGI腳本祭芦,JSP腳本,servlets憔鬼,ASP腳本龟劲,服務(wù)器端JavaScript,或者一些其它的服務(wù)器端技術(shù)轴或。無(wú)論它們的目的如何昌跌,這些服務(wù)器端的程序通常產(chǎn)生一個(gè)HTML的響應(yīng)來(lái)讓瀏覽器可以瀏覽。
1照雁、軟件的結(jié)構(gòu)
1)C/S (Client - Server 客戶端-服務(wù)器端)
典型應(yīng)用:QQ軟件 蚕愤,飛秋,紅蜘蛛。
特點(diǎn):
Ⅰ)必須下載特定的客戶端程序萍诱。
Ⅱ)服務(wù)器端升級(jí)悬嗓,客戶端升級(jí)。
2)B/S (Broswer -Server 瀏覽器端- 服務(wù)器端)
典型應(yīng)用: 騰訊官方(www.qq.com)砂沛、163新聞網(wǎng)站烫扼, 360網(wǎng)頁(yè)(俗稱:網(wǎng)站) 曙求。javaweb的程序就是b/s軟件結(jié)構(gòu)碍庵。
特點(diǎn):
Ⅰ)不需要安裝特定的客戶端(只需要安裝瀏覽器即可!N蛴)
Ⅱ)服務(wù)器端升級(jí)静浴,瀏覽器不需要升級(jí)!<方ァF幌怼!
2浴麻、服務(wù)器
從物理上來(lái)說(shuō)得问,服務(wù)器就是一臺(tái)PC機(jī)器∪砻猓基本配置:8核宫纬,8G以上,T來(lái)計(jì)算膏萧,帶寬100M漓骚。
1)web服務(wù)器:PC機(jī)器安裝一個(gè)具有web服務(wù)的軟件,稱之為web服務(wù)器榛泛。
2)數(shù)據(jù)庫(kù)服務(wù)器:PC機(jī)器安裝一個(gè)具有數(shù)據(jù)管理服務(wù)的軟件蝌蹂,稱之為數(shù)據(jù)庫(kù)服務(wù)器。
3)郵件服務(wù)器:PC機(jī)器安裝一個(gè)具有發(fā)送郵件服務(wù)的軟件曹锨,稱之為郵件服務(wù)器孤个。
3、web服務(wù)軟件
1)web服務(wù)軟件的作用:把本地的資源共享給外部訪問(wèn)沛简。
2)常見(jiàn)的市面上web服務(wù)軟件:
Tomcat:由Apache組織提供的一種Web服務(wù)器硼身,提供對(duì)jsp和Servlet的支持。它是一種輕量級(jí)的javaWeb容器(服務(wù)器)覆享,也是當(dāng)前應(yīng)用最廣的JavaWeb服務(wù)器(免費(fèi))佳遂。
Jboss:是一個(gè)遵從JavaEE規(guī)范的、開(kāi)放源代碼的撒顿、純Java的EJB服務(wù)器丑罪,它支持所有的JavaEE規(guī)范(免費(fèi))。
Resin:是CAUCHO公司的產(chǎn)品,是一個(gè)非常流行的應(yīng)用服務(wù)器吩屹,對(duì)servlet和JSP提供了良好的支持跪另,性能也比較優(yōu)良,resin自身采用JAVA語(yǔ)言開(kāi)發(fā)(收費(fèi)煤搜,應(yīng)用比較多)免绿。
WebLogic:是Oracle公司的產(chǎn)品,是目前應(yīng)用最廣泛的Web服務(wù)器擦盾,支持JavaEE規(guī)范嘲驾,而且不斷的完善以適應(yīng)新的開(kāi)發(fā)要求,適合大型項(xiàng)目(收費(fèi)迹卢,用的不多辽故,適合大公司)。
4腐碱、java相關(guān)概念解釋
JDK
簡(jiǎn)單的說(shuō)JDK是面向開(kāi)發(fā)人員使用的SDK誊垢,它提供了Java的開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境。SDK是Software Development Kit 一般指軟件開(kāi)發(fā)包症见,可以包括函數(shù)庫(kù)喂走、編譯程序等
JRE
JRE(Java Runtime Environment,Java運(yùn)行環(huán)境)谋作,也就是Java平臺(tái)芋肠。所有的Java程序都要在JRE下才能運(yùn)行。JDK的工具也是Java程序瓷们,也需要JRE才能運(yùn)行业栅。為了保持JDK的獨(dú)立性和完整性,在JDK的安裝過(guò)程中谬晕,JRE也是安裝的一部分碘裕。所以,在JDK的安裝目錄下有一個(gè)名為jre的目錄攒钳,用于存放JRE文件帮孔。
JVM
JVM(Java Virtual Machine,Java虛擬機(jī))是JRE的一部分不撑。它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī)文兢,是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。JVM有自己完善的硬件架構(gòu)焕檬,如處理器姆坚、堆棧、寄存器等实愚,還具有相應(yīng)的指令系統(tǒng)兼呵。Java語(yǔ)言最重要的特點(diǎn)就是跨平臺(tái)運(yùn)行兔辅。使用JVM就是為了支持與操作系統(tǒng)無(wú)關(guān),實(shí)現(xiàn)跨平臺(tái)击喂。
Tomcat服務(wù)器
開(kāi)源小型web服務(wù)器 维苔,完全免費(fèi),主要用于中小型web項(xiàng)目懂昂,只支持Servlet和JSP 等少量javaee規(guī)范(就是JavaWeb編程接口)
apache是web服務(wù)器介时,tomcat是應(yīng)用(java)服務(wù)器,它只是一個(gè)servlet容器凌彬,可以認(rèn)為是apache的擴(kuò)展沸柔,處理動(dòng)態(tài)網(wǎng)頁(yè)部分。但是可以獨(dú)立于apache運(yùn)行饿序。
1.tomcat服務(wù)器與servlet版本的關(guān)系
servlet:sun公司提供的用于開(kāi)發(fā)動(dòng)態(tài)web資源的技術(shù)勉失。
jsp:(java server page)羹蚣,java提供的一門(mén)開(kāi)發(fā)web網(wǎng)頁(yè)的技術(shù)原探。
tomcat軟件:java開(kāi)發(fā)的。java軟件運(yùn)行的時(shí)候需要jdk顽素。
在項(xiàng)目部署的時(shí)候咽弦,如果對(duì)于Web應(yīng)用沒(méi)有選擇正確的Web服務(wù)器版本,應(yīng)用可能不能正常運(yùn)行胁出。下圖是根據(jù)官方給的Servlet/JSP各規(guī)范與Web服務(wù)器Tomcat各版本的對(duì)應(yīng)關(guān)系整理的型型,如:支持Servlet 3.1、JSP 2.3規(guī)范的Web服務(wù)器為T(mén)omcat 8.0.X
向下兼容全蝶。tomcat7也支持servlet3.0/jsp2.2規(guī)范闹蒜,可以支持javaee6.0當(dāng)前企業(yè)常用的版本 6.* / 7./8.
2.Tomcat基本使用
1)、下載并安裝
A.到apache官網(wǎng)抑淫。www.apache.org http://jakarta.apache.org(產(chǎn)品的主頁(yè))
B.安裝版:window (安裝包格式:exe绷落、msi) linux(安裝包格式:rmp) ,一臺(tái)電腦上只能安裝一個(gè)Tomcat
C.壓縮版:window(安裝包格式:rar,zip) linux(安裝包格式:tar始苇,tar.gz),無(wú)需安裝砌烁,解壓即可用,解壓多少份都可以
2)催式、運(yùn)行和關(guān)閉
A.Tomcat啟動(dòng)需要使用JDK函喉,所以需要配置JDK環(huán)境變量
右擊“我的電腦”-->"高級(jí)"-->"環(huán)境變量"
JAVA_HOME:jdk的安裝路徑,如:C:\Program Files\Java\jdk1.6.0_30
classpath:java加載類(lèi)路徑,只有類(lèi)在classpath中java命令才能識(shí)別荣月,在路徑前加了個(gè)"."表示當(dāng)前路徑管呵。
變量值為:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
path:系統(tǒng)在任何路徑下都可以識(shí)別java,javac命令。變量值為:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意變量值之間用“;”隔開(kāi))
驗(yàn)證jdk是否配置成功:打開(kāi)控制臺(tái)(cmd命令打開(kāi)窗口)哺窄。輸入java -version測(cè)試捐下。
B.啟動(dòng)
a.startup.bat文件啟動(dòng)
進(jìn)入tomcat的bin目錄顿天,找到startup.bat文件,雙擊即可蔑担; 會(huì)有一個(gè)黑窗口牌废,黑窗口不要關(guān)閉。(如果關(guān)閉啤握,相當(dāng)于把tomcat停止了鸟缕。)
在瀏覽器地址欄中輸入:http://localhost:8080 或者 http://127.0.0.1:8080localhost ,如果看到如下頁(yè)面排抬,證明啟動(dòng)成功
b.命令行啟動(dòng)懂从,將當(dāng)前目錄切換 到你tomcat目錄\bin目錄下
再執(zhí)行“catalina run” 這個(gè)命令啟動(dòng)Tomcat
當(dāng)Tomcat啟動(dòng)失敗的時(shí)候,會(huì)有一閃而過(guò)的情況蹲蒲。
當(dāng)我們使用catalina run 這個(gè)命令啟動(dòng)Tomcat的時(shí)候番甩,哪怕有錯(cuò)誤,我們也可以清楚的看到tomcat失敗的原因届搁。不會(huì)一閃而過(guò)缘薛。
C.關(guān)閉
第一種:Ctrl+C鍵 關(guān)閉Tomcat服務(wù)器
第二種:點(diǎn)擊Tomcat窗口的右上角關(guān)閉按鈕 (暴力停止服務(wù)器)
第三種:找到tomcat目錄/bin/shutdown.bat文件,雙擊執(zhí)行關(guān)閉Tomcat卡睦。
3)宴胧、配置tomcat的端口
8080: tomcat默認(rèn)的端口
3306:mysql數(shù)據(jù)庫(kù)的端口
1521: orace數(shù)據(jù)庫(kù)的端口。
http的默認(rèn)端口是80表锻,如果訪問(wèn)的時(shí)候輸入http://www.baidu.com相當(dāng)于http://www.baidu.com:80恕齐。當(dāng)真正在項(xiàng)目上線之后,通常采用80瞬逊,修改方法如下:
A.找到tomcat目錄/conf/server.xml
B.修改port的值显歧,將port端口的值修改為80
C.然后在瀏覽器中輸入 http://127.0.0.1:80 或 http://127.0.0.1 訪問(wèn)測(cè)試
4)、Tomcat的目錄結(jié)構(gòu)
bin:該目錄下存放的是二進(jìn)制可執(zhí)行文件确镊,如果是安裝版士骤,那么這個(gè)目錄下會(huì)有兩個(gè)exe文件:tomcat6.exe、tomcat6w.exe骚腥,前者是在控制臺(tái)下啟動(dòng)Tomcat敦间,后者是彈出UGI窗口啟動(dòng)Tomcat;如果是解壓版束铭,那么會(huì)有startup.bat和shutdown.bat文件廓块,startup.bat用來(lái)啟動(dòng)Tomcat,但需要先配置JAVA_HOME環(huán)境變量才能啟動(dòng)契沫,shutdawn.bat用來(lái)停止Tomcat带猴;
conf:這是一個(gè)非常非常重要的目錄,這個(gè)目錄下有四個(gè)最為重要的文件:
server.xml:配置整個(gè)服務(wù)器信息懈万。例如修改端口號(hào)拴清,添加虛擬主機(jī)等靶病;下面會(huì)詳細(xì)介紹這個(gè)文件;
tomcatusers.xml:存儲(chǔ)tomcat用戶的文件口予,這里保存的是tomcat的用戶名及密碼娄周,以及用戶的角色信息』ν#可以按著該文件中的注釋信息添加tomcat用戶煤辨,然后就可以在Tomcat主頁(yè)中進(jìn)入Tomcat Manager頁(yè)面了;
web.xml:部署描述符文件木张,這個(gè)文件中注冊(cè)了很多MIME類(lèi)型众辨,即文檔類(lèi)型。這些MIME類(lèi)型是客戶端與服務(wù)器之間說(shuō)明文檔類(lèi)型的舷礼,如用戶請(qǐng)求一個(gè)html網(wǎng)頁(yè)鹃彻,那么服務(wù)器還會(huì)告訴客戶端瀏覽器響應(yīng)的文檔是text/html類(lèi)型的,這就是一個(gè)MIME類(lèi)型妻献≈胫辏客戶端瀏覽器通過(guò)這個(gè)MIME類(lèi)型就知道如何處理它了。當(dāng)然是在瀏覽器中顯示這個(gè)html文件了旋奢。但如果服務(wù)器響應(yīng)的是一個(gè)exe文件泳挥,那么瀏覽器就不可能顯示它然痊,而是應(yīng)該彈出下載窗口才對(duì)至朗。MIME就是用來(lái)說(shuō)明文檔的內(nèi)容是什么類(lèi)型的!
context.xml:對(duì)所有應(yīng)用的統(tǒng)一配置剧浸,通常我們不會(huì)去配置它锹引。
lib:Tomcat的類(lèi)庫(kù),里面是一大堆jar文件唆香。如果需要添加Tomcat依賴的jar文件嫌变,可以把它放到這個(gè)目錄中,當(dāng)然也可以把應(yīng)用依賴的jar文件放到這個(gè)目錄中躬它,這個(gè)目錄中的jar所有項(xiàng)目都可以共享之腾啥,但這樣你的應(yīng)用放到其他Tomcat下時(shí)就不能再共享這個(gè)目錄下的Jar包了,所以建議只把Tomcat需要的Jar包放到這個(gè)目錄下冯吓;
logs:這個(gè)目錄中都是日志文件倘待,記錄了Tomcat啟動(dòng)和關(guān)閉的信息,如果啟動(dòng)Tomcat時(shí)有錯(cuò)誤组贺,那么異常也會(huì)記錄在日志文件中凸舵。
temp:存放Tomcat的臨時(shí)文件,這個(gè)目錄下的東西可以在停止Tomcat后刪除失尖!
webapps:存放web項(xiàng)目的目錄啊奄,其中每個(gè)文件夾都是一個(gè)項(xiàng)目渐苏;如果這個(gè)目錄下已經(jīng)存在了目錄,那么都是tomcat自帶的菇夸。項(xiàng)目琼富。其中ROOT是一個(gè)特殊的項(xiàng)目,在地址欄中沒(méi)有給出項(xiàng)目目錄時(shí)庄新,對(duì)應(yīng)的就是ROOT項(xiàng)目公黑。http://localhost:8080/examples,進(jìn)入示例項(xiàng)目摄咆。其中examples就是項(xiàng)目名凡蚜,即文件夾的名字。
work:運(yùn)行時(shí)生成的文件吭从,最終運(yùn)行的文件都在這里朝蜘。通過(guò)webapps中的項(xiàng)目生成的!可以把這個(gè)目錄下的內(nèi)容刪除涩金,再次運(yùn)行時(shí)會(huì)生再次生成work目錄谱醇。當(dāng)客戶端用戶訪問(wèn)一個(gè)JSP文件時(shí),Tomcat會(huì)通過(guò)JSP生成Java文件步做,然后再編譯Java文件生成class文件副渴,生成的java和class文件都會(huì)存放到這個(gè)目錄下。
LICENSE:許可證全度。
NOTICE:說(shuō)明文件煮剧。
更多詳細(xì)介紹,請(qǐng)參見(jiàn)文章:https://blog.csdn.net/OnlyLove_longshao/article/details/53057381