摘要:
開發者開發部署web應用時通常使用tomcat服務器,很多初學者只懂得在開發工具上配置,但離開了開發工具,自己手動配置部署,并讓一個項目跑起來,你會了嗎。小編也遇到過這樣的困擾。網上查找的資料說法不一,小編就親自動手實驗
一. 下載
tomcat服務器直接到官網下載就好,根據自己的電腦系統選擇對應的版本下載,window系統下載zip包,下載后解壓、
二. 配置
我們下載完成后,我們試圖啟動tomcat,啟動有兩種方式
但這時會出現的問題是,服務器啟動程序只是一閃而過,為什么呢?
其實問題就是,沒有Java的JDK,我們需要到環境變量配置系統變量JAVA_HOME。我們都知道,1.5 以上的版本的JDK只需要配置path變量就可以了。但是如果你想在機器上使用tomcat的話,你就必須配置JAVA_HOME,指向JDK的安裝位置。
配置好之后我們就可以正常打開tomcat了,雙擊startup.bat,tomcat正常啟動。啟動完成后,我們在瀏覽器地址欄上輸入:http://localhost:8080,會得到以下的界面
這樣就能使用tomcat部署應用了嗎,還不行。我們還需要另外的一些配置
2.1 配置環境變量
我們需要配置三個系統環境變量
2.2 配置tomcat的服務端口
tomcat的默認服務端口是8080。可以通過配置文件來改變該服務端口,甚至通過修改配置文件讓tomcat同時在多個端口提供服務
tomcat的配置文件都放在conf目錄下。使用無格式文本編輯器打開該目錄下的server.xml文件,定位到68行處
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
其中,port="8080"就是web應用的服務端口,將8080改為任意端口,建議使用1024以上的端口,避免與公用端口沖突。
如果需要讓tomcat運行多個服務,只需要復制server.xml中的<serverce>元素,并修改相應的參數,便可以實現一個tomcat運行多個服務,當然在不同端口提供服務
在web應用的開發階段,通常希望Tomat能列出Web應用根目錄下的所有頁面,這樣能更方便的調試JSP頁面。默認情況下,出于安全考慮,tomcat并不會這樣做。我們可以手動打開conf目錄下的web.xml文件,修改第110,111兩行的listing參數,改為true即可,改為如下形式
<init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param>
2.3 進入控制臺
tomcat有三個控制臺,分別是Server Status控制臺、Manager App控制臺和Host Manager控制臺。Status控制臺用來監控服務器狀態,而manager控制臺可以部署、監控web應用,因此通常使用Manager控制臺即可。
登陸控制臺,我們需要用戶和密碼。控制臺的用戶和密碼是通過Tomcat的JAAS控制的。
我們登陸Manager控制臺需要不同的角色,參考/webapps/manager/WEB-INF目錄下的web.xml文件知道,登錄控制臺可能需要不同的角色。對于普通開發者來說,通常需要訪問匹配/html/*、/status/*的資源,因此我們創建一個manager-gui角色即可。
tomcat默認沒有配置任何用戶。我們可以打開conf目錄下的tomcat-users.xml文件,添加user元素增加用戶,修改如下
<?xml version="1.0" encoding="UTF-8"?><tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"><!-- <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="<must-be-changed>" roles="tomcat"/> <user username="both" password="<must-be-changed>" roles="tomcat,role1"/> <user username="role1" password="<must-be-changed>" roles="role1"/>--><user username="manager" password="manager" roes="manager-gui"/></tomcat-users>
上面配置文件增加了一個manager用戶
成功登錄之后,可以看到
控制臺下方的Deploy區用于部署web應用。tomcat提供兩種方式部署web應用:一種是將整個路徑部署成web應用;另一種是將war文件部署成web應用
四. 部署web應用
部署web應用的方式主要有以下幾種
4.1 利用tomcat的自動部署
利用tomcat的自動部署是最簡單,最常用的方式,只需要將一個web應用復制到Tomcat的webapps下,系統就會把該應用部署到tomcat中。
4.2 利用控制臺部署
利用控制臺部署也很簡單,在web應用的控制臺按如下方式輸入即可
輸入后,點擊Deploy按鈕,將會看到Tomcat的webapps目錄下多了一個名為aaa的文件夾,該文件夾的內容和E:/webDemo文件夾下的內容完全相同。這表明:當利用控制臺部署應用時,實際依然是利用tomcat的自動部署
4.3 增加自定義的Web部署文件
這種方式操作步驟是:在conf目錄下新建Catalina目錄,再在該Catalina目錄下新建localhost目錄,最后在該localhost目錄下新建一個任意名字的xml文件——該文件就是部署web應用的配置文件,該文件的主文件名將作為web應用的虛擬路徑。例如在/conf/Catalina/localhost目錄下增加一個dd.xml文件,該文件內容如下
<Context docBase="E:/webDemo" debug="0" privileged="true"></Context>
該文件指定了web應用的絕對路徑,再次啟動tomcat,tomcat會把/路徑下的webDemo文件夾部署成web應用
4.4 修改server.xml文件部署Web應用
這種方式是修改conf目錄下的server.xml文件,修改該文件可能破壞Tomcat的系統文件,不建議采用
五. 配置數據源
從tomcat 5.5開始,tomcat內置了DBCP的數據源實現,可以非常方便的配置DBCP數據源。
Tomcat提供了兩種配置數據源的方式,一種是全局數據源,可以讓所有的web應用都能訪問;一種是局部數據源,只能讓單個數據源訪問。
不管配置那種數據源,都需要提供特定數據庫的JDBC驅動程序,將它復制到Tomcat的lib路徑下。例如將MySQL的JDBC驅動程序復制到lib路徑下
局部數據源無需修改系統的配置文件,只需用戶修改自己的Web部署文件,不會造成系統的混亂,而且數據源被封裝在一個Web應用之內,防止被其他應用訪問,提供了良好的封裝性。例如修改dd.xml文件。為Context元素增加一個子元素Resource,文件內容如下
<Context docBase="E:/webDemo" debug="0" privileged="true"><!--其中name指定數據源在容器中的JNDI名driverClassName指定連接數據庫的驅動url指定數據庫服務的URLmaxActive指定數據庫最大活動連接數maxIdle指定數據池中最大的空閑連接數maxWait指定數據池中最大等待獲取連接的客戶端--><Resource name="jdbc/dstest" auth="sherman"type="javax.sql.DataSource"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/tb_test"username="sherman" password="a123" maxActive="5"maxIdle="2" maxWait="10000"></Context>
再次啟動tomcat,該web應用即可通過JNDI名字來訪問該數據源下面是測試訪問數據源代碼的JSP頁面代碼。
六. 一些注意點
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選