TomCat服务器和Web应用
一、軟件系統(tǒng)體系結構? ??
????常見軟件系統(tǒng)體系結構B/S、C/S
????????1.C/S
????????????C/S結構即客戶端/服務器(Client/Server),例如QQ;
????????????需要編寫服務器端程序,以及客戶端程序,例如我們安裝的就是QQ的客戶端程序;
????????????缺點:軟件更新時需要同時更新客戶端和服務器端兩端,比較麻煩;
????????????優(yōu)點:安全性比較好。
????????2.B/S
????????????B/S結構即瀏覽器/服務器(Browser/Server);
????????????優(yōu)點:只需要編寫服務器端程序;
???????????缺點:安全性較差。
二、Web資源
????1.Web資源介紹
? ? ?????html:靜態(tài)資源。
????? ? ?JSP/Servlet:動態(tài)資源。
????? 當然,除了JavaWeb程序,還有其他Web程序,例如:ASP、PHP等。
? ? 2.靜態(tài)資源和靜態(tài)資源區(qū)別
? ? 3.訪問Web資源
????????打開瀏覽器,輸入URL:
????????????協(xié)議名://域名:端口/路徑,例如:http://www.yfy.com:8080/index.html
三、web服務器
????Web服務器的作用是接收客戶端的請求,給客戶端作出響應。
????對于JavaWeb程序而已,還需要有JSP/Servlet容器,JSP/Servlet容器的基本功能是把動態(tài)資源轉換成靜態(tài)資源,當然JSP/Servlet容器不只這些功能,我們會在后面一點一點學習。
????我們需要使用的是Web服務器和JSP/Servlet容器,通常這兩者會集于一身。下面是對JavaWeb服務器:
????????????Tomcat(Apache):當前應用最廣的JavaWeb服務器;
????????????JBoss(Redhat紅帽):支持JavaEE,應用比較廣;EJB容器
????????????GlassFish(Orcale):Oracle開發(fā)JavaWeb服務器,應用不是很廣;
????????????Resin(Caucho):支持JavaEE,應用越來越廣;
????????????Weblogic(Orcale):支持JavaEE,適合大型項目;
????????????Websphere(IBM):支持JavaEE,適合大型項目;
四、TomCat
????1.TomCat概述
????????Tomcat服務器由Apache提供,開源免費。由于Sun和其他公司參與到了Tomcat的開發(fā)中,所以最新的JSP/Servlet規(guī)范總是能在Tomcat中體現(xiàn)出來。當前最新版本是Tomcat8,一般使用Tomcat7。Tomcat7支持Servlet3.0,而Tomcat6只支持Servlet2.5!
? ?2.安裝啟動配置TomCat
????下載Tomcat可以到http://tomcat.apache.org下載。
????Tomcat分為安裝版和解壓版:
????????安裝版:一臺電腦上只能安裝一個Tomcat;
????????解壓版:無需安裝,解壓即可用,解壓多少份都可以,所以我們選擇解壓版。
????????????把解壓版Tomcat解壓到一個沒有中文,沒有空格的路徑中即可,建議路徑不要太深,因為我們需要經常進入Tomcat安裝目錄。例如:F:\apache-tomcat-7.0.42
????????2.1 啟動和關閉Tomcat
????????在啟動Tomcat之前,我們必須要配置環(huán)境變量:
????????????????JAVA_HOME:必須先配置JAVA_HOME,因為Tomcat啟動需要使用JDK;
????????????????CATALANA_HOME:如果是安裝版,那么還需要配置這個變量,這個變量用來指定Tomcat的安裝路徑,例如:F:\apache-tomcat-7.0.42。
???????????啟動:進入%CATALANA_HOME%\bin目錄,找到startup.bat,雙擊即可;
???????????關閉:進入%CATALANA_HOME%\bin目錄,找到shutdown.bat,雙擊即可;
????????startup.bat會調用catalina.bat,而catalina.bat會調用setclasspath.bat,setclasspath.bat會使用JAVA_HOME環(huán)境變量,所以我們必須在啟動Tomcat之前把JAVA_HOME配置正確。
啟動問題:
l?點擊startup.bat后窗口一閃即消失:檢查JAVA_HOME環(huán)境變量配置是否正確;
????????2.2 進入Tomcat主頁
訪問:http://localhost:8080
? ??? ? 2.3? ? 配置端口號
打開%CATALANA_HOME%\conf\server.xml文件:
????????http默認端口號為80,也就是說在URL中不給出端口號時就表示使用80端口。當然你也可以修改為其它端口號。
當把端口號修改為80后,在瀏覽器中只需要輸入:http://localhost就可以訪問Tomcat主頁了。
五、Web應用
靜態(tài)網站:
?????????在webapps目錄下創(chuàng)建一個目錄(命名必須不包含中文和空格),這個目錄稱之為項目目錄;
????? ? ?在項目目錄下創(chuàng)建一個html文件;
動態(tài)網站:
????????在webappss目錄下創(chuàng)建一個項目目錄;
????????在項目目錄下創(chuàng)建如下內容:
????????????WEB-INF目錄;
????????????????????在WEB-INF目錄下創(chuàng)建web.xml文件
????????????創(chuàng)建靜態(tài)或動態(tài)頁面
? ? 1.創(chuàng)建靜態(tài)應用
????????在webapps下創(chuàng)建一個hello目錄;
????????在webapps\hello\下創(chuàng)建index.html;
????????啟動tomcat;
????????打開瀏覽器訪問http://localhost:8080/hello/index.html
? ? 2.創(chuàng)建動態(tài)應用
????????在webapps下創(chuàng)建hello1目錄;
????????在webapps\hello1\下創(chuàng)建WEB-INF目錄;
????????在webapps\hello1\WEB-INF\下創(chuàng)建web.xml;
????????在webapps\hello1\下創(chuàng)建index.html。
????????打開瀏覽器訪問http://localhost:8080/hello/index.html
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> </web-app>????????webapps????????????????|- hello
????????????????????????|-index.html
????????????????????????|-WEB-INF
????????????????????????????????|-web.xml
????????????????????????????????|-classes
????????????????????????????????|-lib
hello:應用目錄,hello就是應用的名稱;
index.html:應用資源。應用下可以有多個資源,例如css、js、html、jsp等,也可以把資源放到文件夾中,例如:hello\html\index.html,這時訪問URL為:http://localhost:8080/hello/html/index.html;
WEB-INF:這個目錄名稱必須是大寫,這個目錄下的東西是無法通過瀏覽器直接訪問的,也就是說放到這里的東西是安全的;
web.xml:應用程序的部署描述符文件,可以在該文件中對應用進行配置,例如配置應用的首頁:? <welcome-file-list>
? ? <welcome-file>index.html</welcome-file>
? </welcome-file-list>
classes:存放class文件的目錄;
lib:存放jar包的目錄;
????3.配置外部應用
????????原來我們的項目放到webapps下,現(xiàn)在我放到外面,也希望tomcat可以找到它!
????????例如我們把上面寫的hello應用從webapps目錄中剪切到C盤下,即C:/hello。現(xiàn)在hello這個Web應用已經不在Tomcat中了,這時我們需要在tomcat中配置外部應用的位置,配置的方式一共有兩種:
? ? (1)conf/server.xml:打開server.xml文件,找到<Host>元素,在其中添加<Context>元素
????????**path:指定當前應用的名稱;
????? ? **docBase:指定應用的物理位置;
????? ? **瀏覽器訪問路徑:http://localhost:8080/itcast_hello/index.html
? ? (2)conf/catalana/localhost:在該目錄下創(chuàng)建itcast_hello.xml文件,在該文件中編寫<Context>元素
????? ? **文件名:指定當前應用的名稱;
????? ? **docBase:指定應用的物理位置;
????? ? **瀏覽器訪問路徑:http://localhost:8080/itcast_hello/index.html
? ? 4.映射虛擬主機
????????我們的目標是,在瀏覽器中輸出:http://www.itcast.cn就可以訪問我們的項目。
????????完成這一目標,我們需要做三件事:
????? ? (1)修改端口號為80
????? ? (2)在本機上可以解析域名為127.0.0.1,這需要修改C:\WINDOWS\system32\drivers\etc\hosts文件,? ???????添加對http://www.itcast.cn和127.0.01的綁定關系;
????? ? (3)在server.xml文件中添加一個<Host>(主機)。
????????????????name=”www.itcast.cn”:指定虛擬主機名為www.itcast.cn;
????????????????appBase=”F:/itcastapps”:指定當前虛擬主機的應用程序存放目錄為F:/itcastapps。
????????????????在itcastapps目錄下創(chuàng)建名為ROOT的應用,因為一個主機只可以有一個名為ROOT的應用,
? ????? ? ? ? ?名為ROOT的應用在瀏覽器中訪問是可以不給出應用名稱。
?
????注意:只有本機可以通過http://www.itcast.cn來訪問,而其他電腦不可以!
總結
以上是生活随笔為你收集整理的TomCat服务器和Web应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java反射机制和junit的使用
- 下一篇: jdbc入门(一)