【JavaEE WEB 开发】Tomcat 详解 Servlet 入门
轉(zhuǎn)載請(qǐng)注明出處 : ?http://blog.csdn.net/shulianghan/article/details/47146817
一. Tomcat 下載安裝配置
1. Tomcat 下載
Tomcat 下載 :?
-- 下載地址 :?http://tomcat.apache.org ;
-- 下載頁(yè)面 :?
-- 下載對(duì)應(yīng)平臺(tái)的版本 : 有 MAc/Linux 平臺(tái), Windows 平臺(tái)的服務(wù)器軟件;
2. Tomcat 運(yùn)行 (Linux/Mac 環(huán)境)
Tomcat 運(yùn)行 (Mac/Linux) :?
-- 進(jìn)入 Tomcat 安裝目錄 :?
localhost:apache-tomcat-6.0.44 octopus$ pwd /Users/hanshuliang/develop/apache-tomcat-6.0.44 localhost:apache-tomcat-6.0.44 octopus$ ls LICENSE RELEASE-NOTES bin lib temp work NOTICE RUNNING.txt conf logs webapps localhost:apache-tomcat-6.0.44 octopus$
-- 進(jìn)入 bin 目錄 :?
localhost:apache-tomcat-6.0.44 octopus$ cd bin/ localhost:bin octopus$ ls bootstrap.jar cpappend.bat shutdown.bat tool-wrapper.bat catalina-tasks.xml daemon.sh shutdown.sh tool-wrapper.sh catalina.bat digest.bat startup.bat version.bat catalina.sh digest.sh startup.sh version.sh commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar commons-daemon.jar setclasspath.sh tomcat-native.tar.gz
-- 執(zhí)行啟動(dòng)命令 : 特別注意, 需要使用 root 權(quán)限啟動(dòng), 否則會(huì)報(bào)出權(quán)限錯(cuò)誤, 使用命令?sudo ./startup.sh ;
localhost:bin octopus$ sudo ./startup.sh Using CATALINA_BASE: /Users/hanshuliang/develop/apache-tomcat-6.0.44 Using CATALINA_HOME: /Users/hanshuliang/develop/apache-tomcat-6.0.44 Using CATALINA_TMPDIR: /Users/hanshuliang/develop/apache-tomcat-6.0.44/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home Using CLASSPATH: /Users/hanshuliang/develop/apache-tomcat-6.0.44/bin/bootstrap.jar
-- 查看是否啟動(dòng) : 打開(kāi)瀏覽器, 輸入 localhost:8080 網(wǎng)址, 查看是否出現(xiàn) Tomcat 頁(yè)面;
3. Tomcat 運(yùn)行 (Windows 環(huán)境)
Tomcat 運(yùn)行 (Windows)?:?
--?進(jìn)入 Tomcat 安裝目錄?:?
-- 進(jìn)入 bin 目錄 :?啟動(dòng) startup 可執(zhí)行程序;
-- 瀏覽器驗(yàn)證 : 在瀏覽器輸入 http://localhost:8080/?網(wǎng)址, 出現(xiàn)以下界面即配置正確;
3. Tomcat 錯(cuò)誤排除
(1) 啟動(dòng)閃退問(wèn)題
啟動(dòng)閃退 : 沒(méi)有配置 JAVA_HOME 環(huán)境變量, 使用 Tomcat 時(shí), 必須配置 JAVA_HOME 環(huán)境變量;
-- 閃退原因 : tomcat 啟動(dòng)后, 會(huì)查找 JAVA_HOME 環(huán)境變量, 之后還會(huì)查找 CATALINA_HOME 環(huán)境變量 (Tomcat 根目錄), CATALINA_HOME 這個(gè)變量建議不設(shè)置;
(2) CATALINA_HOME 配置出現(xiàn)問(wèn)題
CATALINA_HOME 問(wèn)題 : 不建議配置 CATALINA_HOME 環(huán)境變量;
-- 配置 CATALINA_HOME 出現(xiàn)的問(wèn)題 : 如果有多個(gè) Tomcat, 在任意 Tomcat 中啟動(dòng), 只會(huì)啟動(dòng) CATALINA_HOME 指定的 Tomcat 目錄;
-- 不配置 CATALINA_HOME : 在什么地方啟動(dòng), 就會(huì)到啟動(dòng) startup 命令的 會(huì)將 命令所在的 Tomcat 啟動(dòng);
(3) 端口問(wèn)題
端口占用問(wèn)題解決方案 :?
-- 1. 關(guān)閉占用端口的進(jìn)程 : 使用 cports 軟件查看占用端口的進(jìn)程, 將其關(guān)閉即可, 任務(wù)管理器是看不到端口的;
-- 2. 修改 Tomcat 的 HTTP 端口 : 在 tomcat 的 conf/server.xml 中修改下面的配置, 默認(rèn) 8080 , 修改成一個(gè) 其他的數(shù)字;
<!-- A "Connector" represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
4. Tomcat 配置 與 目錄
(1) 瀏覽器端口設(shè)置
訪問(wèn)服務(wù)器端口配置 :?
-- 配置文件 : apache-tomcat-6.0.39\conf\server.xml;
-- 配置內(nèi)容 : 當(dāng)前默認(rèn)設(shè)置的端口號(hào)是 8080, 訪問(wèn)地址是?http://localhost:8080/;
<!-- A "Connector" represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
(2) Tomcat 共享資源
共享一個(gè)資源 :?
-- 創(chuàng)建 html 頁(yè)面 : 創(chuàng)建一個(gè) index.html 文檔, 里面隨便寫(xiě)一寫(xiě)字符串;
-- 將文件放到 webapps 中的目錄中 : 在 webapps 中創(chuàng)建一個(gè)任意名稱目錄 test, 然后將 index.html 放置到該目錄中;
-- 啟動(dòng) Tomcat :?
-- 瀏覽器中輸入 : 瀏覽器地址欄輸入 http://localhost:8080/test/index.html?地址;
(3) URL 解析
解析 url 地址 : http://localhost:8080/test/index.html;
-- "http://" : url 所使用的協(xié)議名稱, http 協(xié)議;
-- "localhost" : 域名, 相當(dāng)于 IP 地址;
-- 8080: : Tomcat 所使用的端口號(hào);
-- /test : Tomcat 共享目錄的名稱, 在 webapps 下面的共享目錄;
-- index.html : 共享文件名稱;
(4) 目錄解析
Tomcat 目錄解析 :?
-- 目錄截圖 :?
-- bin 目錄 : Tomcat 的命令路徑, 包括 啟動(dòng) 關(guān)閉 Tomcat 服務(wù)器;
-- conf 目錄 : Tomcat 配置文件目錄, 其中 server.xml 用于配置端口號(hào);
-- lib 目錄 : Tomcat 的支持包;
-- logs 目錄 : 運(yùn)行產(chǎn)生的日志信息存放目錄;
-- temp 目錄 : 臨時(shí)文件存放目錄;
-- webapps 目錄 : 共享資源目錄, 不能單獨(dú)共享一個(gè)文件, 需要?jiǎng)?chuàng)建的文件夾, 將文件放到一個(gè)目錄中才能共享;
-- work 目錄 : tomcat 運(yùn)行時(shí)的工作目錄;
轉(zhuǎn)載請(qǐng)注明出處?: ?http://blog.csdn.net/shulianghan/article/details/47146817
二. J2EE 應(yīng)用創(chuàng)建
1. 創(chuàng)建 J2EE 應(yīng)用
(1) MyEclipse 中創(chuàng)建應(yīng)用
MyEclipse 創(chuàng)建 Web 應(yīng)用 :?
-- 創(chuàng)建應(yīng)用 : 選擇 File -> New -> Web Project 選項(xiàng);
-- 配置應(yīng)用信息 : 注意 我們使用的是 Tomcat 6.0 版本, 對(duì)應(yīng) JavaEE 5.0 版本;
-- 創(chuàng)建 Tomcat 服務(wù)器 : 選擇 Window -> Preference -> MyEclipse -> Server -> Tomcat 6.x 選項(xiàng), 進(jìn)行如下配置 :?
-- 配置后效果 :?
-- 部署應(yīng)用 : 右鍵點(diǎn)擊服務(wù)器, 選擇 Add Deployment;
-- 將剛創(chuàng)建的 Hello World 部署到 Tomcat 中去 :?
-- 部署后效果 :?
-- 運(yùn)行 Tomcat 服務(wù)器 : 地址欄輸入?http://localhost:8080/HelloWorld/ 地址;
-- MyEclipse 應(yīng)用文件截圖 :?
(2) eclipse 中創(chuàng)建應(yīng)用
Eclipse 創(chuàng)建 Web 應(yīng)用 :?
-- 創(chuàng)建 Dynamic Web Project :?
-- 配置 應(yīng)用 :?
-- 應(yīng)用目錄展示 :?
(3) Eclipse 和 MyEclipse 中創(chuàng)建應(yīng)用服務(wù)器版本對(duì)應(yīng)
Eclipse 服務(wù)器版本對(duì)應(yīng) :?
--?dynamic web module 2.4 <--> Tomcat 5.5
-- dynamic web module 2.5 <--> Tomcat 6.0
-- dynamic web module 3.0 <--> Tomcat 7.0
MyEclipse 服務(wù)器版本對(duì)應(yīng) :?
-- JavaEE 5.0 <--> Tomcat 6.0
-- J2EE 1.4 / J2EE 1.3 <--> Tomcat 5.5?
2. Servlet 簡(jiǎn)單示例
(1) Servlet 示例
Servlet 簡(jiǎn)單示例 :?
-- MyServlet.java 代碼 :?
package cn.org.octopus.hello;import java.io.IOException; import java.util.Date;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class MyServlet extends HttpServlet{ @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//避免出現(xiàn)中文亂碼resp.setContentType("text/html;charset=utf-8");//輸出內(nèi)容resp.getWriter().write("當(dāng)前時(shí)間 : " + new Date());}}
-- 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"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 配置 Servlet 需要配置 Servlet 和 Servlet-mapping 兩個(gè)標(biāo)簽 --><servlet><!-- Servlet 內(nèi)部名稱--><servlet-name>HelloWorld</servlet-name><!-- Servlet 全路徑名--><servlet-class>cn.org.octopus.hello.MyServlet</servlet-class></servlet><servlet-mapping><!-- Servlet 內(nèi)部名稱--><servlet-name>HelloWorld</servlet-name><!-- servlet 訪問(wèn)名稱 --><url-pattern>/HelloWorld</url-pattern></servlet-mapping></web-app>
-- 運(yùn)行效果 :?
總結(jié)
以上是生活随笔為你收集整理的【JavaEE WEB 开发】Tomcat 详解 Servlet 入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【UI 设计 - Adobe Illus
- 下一篇: 【IOS 开发】基本 UI 控件详解 (