1、下載下傳JDK和Tomcat
jdk下載下傳位址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat下載下傳位址:
2、jdk安裝和配置
(1)jdk安裝
yum localinstall jdk-8u151-linux-x64.rpm
(2)配置環境變量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151 定義路徑
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
. /etc/profile.d/java.sh
測試jdk:
#java -version 顯示java程式的版本資訊
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
3、安裝Tomcat
(1)、下載下傳:apache-tomcat-7.0.78.tar.gz
#tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local/ 解壓;
#ll /usr/local/ | grep tomcat 檢視解壓後的目錄;
(2)、為友善管理,建立軟連結;
ln -s /usr/local/apache-tomcat-8.5.11/ /usr/local/tomcat
(3)、建立環境配置腳本;
#vim /etc/profile.d/tomcat.sh
export PATH=$CATALINA_BASE/bin:$PATH
export CATALINA_BASE=/usr/local/tomcat
賦予執行權限;
#chmod +x /etc/profile.d/tomcat.sh
加載環境配置;
#source /etc/profile.d/tomcat.sh
(4)、啟動tomcat
#/usr/local/tomcat/bin/catalina.sh start 或 #catalina.sh start
檢視tomcat是否正常啟動
(5)、測試本地8080端口是否正常監聽
#curl -I 127.0.0.1:8080
(6)、通過浏覽器通路測試(需指定8080端口),注意selinux與iptables政策;
4.配置web管理帳号
修改檔案conf/tomcat-users.xml,在<tomcat-users>元素中添加帳号密碼,需要指定角色.
# vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user name="admin" password="admin" roles="manager-gui,admin-gui" />
</tomcat-users>
重新開機服務:/usr/local/tomcat/bin/catalina.sh stop-->/usr/local/tomcat/bin/catalina.sh start
5.配置web通路端口
可以修改conf目錄下的檔案server.xml,修改Connector元素(Tomcat的預設端口是8080),需要重新啟動Tomcat服務生效.
# vim /usr/local/tomcat/conf/server.xml
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
6.Tomcat的目錄結構
·bin //存放Tomcat的指令腳本檔案
·conf //存放Tomcat伺服器的各種配置檔案,最主要是server.xml
·lib //存放Tomcat伺服器支撐jar包
·logs //存放日志檔案
·temp //存放臨時檔案
·webapps //web應用所在目錄,外界通路web資源的存放目錄
·work //Tomcat的工作目錄
7.web應用的目錄結構
webapp -- web應用所在目錄
|--- html, jsp, css, js檔案等 -- 這些檔案一般在web應用根目錄下,根目錄下的檔案外界可以直接通路.
|--- WEB-INF 目錄 -- java類、jar包、web配置檔案存在這個目錄下,外界無法直接通路,由web伺服器負責調用.
|--- classes 目錄 -- 類檔案,目前webapp所提供的類
|--- lib 目錄 -- 類檔案,目前webapp所提供的類,被打包為jar格式
|--- web.xml 檔案 -- web應用的配置檔案
部署(deploy)webapp的相關操作:
deploy:将webapp的源檔案放置于目标目錄(網頁程式檔案存放目錄),配置tomcat伺服器能夠基于web.xml和context.xml檔案中定義的路徑來通路此webapp;将其特有的類和依賴的類通過class loader裝載至JVM;
部署有兩種方式:
自動部署:auto deploy;
手動部署:
冷部署:把webapp複制到指定的位置,而後才啟動tomcat;
熱部署:在不停止tomcat的前提下進行部署;
部署工具:manager、ant腳本、tcd(tomcat client deployer)等;
undeploy:拆除(反部署),停止webapp,并從tomcat執行個體上解除安裝webapp;
start:啟動處于停止狀态的webapp;
stop:停止webapp,不再向使用者提供服務;其類依然在jvm上;
redeploy:重新部署;
8.虛拟主機的配置
指定虛拟主機名,修改conf/server.xml,添加<host>元素.
<host name="hostname.domainname" appBase="/webapps">
<Context path="/webapp" docBase="/webapps/webapp"/>
</host>
例:
<host name="www.163.com" appBase="/webapps">
<host name="mail.163.com" appBase="/mailapps">
須設定DNS解析(hosts檔案或DNS系統).
9.web應用和虛拟目錄的映射
可以修改xml配置檔案的<Context>元素來設定web應用和虛拟目錄的映射.
·conf/server.xml //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新啟動Tomcat服務生效,不建議使用.
·conf/context.xml //添加<Context>元素所有web應用有效,其存放位置為WEB-INF/目錄中;此檔案為所有的webapps提供預設配置.
·conf/[enginename]/[hostname]/context.xml.default //[enginename]一般是Catalina,主機[hostname]的所有web應用有效.
·conf/[enginename]/[hostname]/ //在目錄下任意建一個檔案(擴充名xml),檔案名即為虛拟目錄名.多級目錄使用#分割.
<Context docBase="/webappdir"/> //預設值web應用目錄可以定義為ROOT.xml,添加<Context docBase="/webappdir"/>,需重新啟動Tomcat伺服器.
·META-INF/context.xml //可以将web應用放在webapps目錄下讓Tomcat伺服器自動映射,适用開發環境,實際運用環境中不用自動映射。如沒有修改配置檔案,web應用目錄為ROOT時則為預設web應用。
10.web應用首頁(welcome file)的配置
修改web應用的配置檔案: [webapp]/WEB-INF/web.xml
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Tomcat的核心元件:server.xml
<Server>
<Service>
<connector/>
...
<Engine>
<Host>
<Context/>
...
</Host>
...
</Engine>
</Service>
</Server>
補充知識:
java中servlet和jsp差別:
①、JSP在本質上就是SERVLET,但是兩者的建立方式不一樣.
②、Servlet完全是JAVA程式代碼構成,擅長于流程控制和事務處理,通過Servlet來生成動态網頁很不直覺.
J3、SP由HTML代碼和JSP标簽構成,可以友善地編寫動态網頁.
是以在實際應用中采用Servlet來控制業務流程,而采用JSP來生成動态網頁.在struts架構中,JSP位于MVC設計模式的視圖層,而Servlet位于控制層.
①、JSP是Servlet技術的擴充,本質上就是Servlet的簡易方式。
②、JSP編譯後是“類servlet”。
③、Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java檔案中,并且完全從表示層中的HTML裡分離開
來。而JSP是Java和HTML組合成一個擴充名為.jsp的檔案。
④、JSP側重于視圖,Servlet主要用于控制邏輯。
本文轉自 優果馥思 51CTO部落格,原文連結:http://blog.51cto.com/youguofusi/2053806