主要講解Tomcat的 安裝與使用,講解ubuntu版本和windows。css
1)到apache官網。www.apache.org http://jakarta.apache.org(產品的主頁)
2)
安裝版:window (exe、msi) linux(rmp)
壓縮版:window(rar,zip) linux(tar,tar.gz)建議下載壓縮版
3)下載壓縮版,解壓到本地
解壓後的文件夾以下:windows和linux下都是同樣的。
html
到/bin目錄下找到startup.bat ,雙擊這個文件
彈出命令窗口,顯示以下:表示運行正常
java
到/bin目錄下打開終端,輸入命令:./startup.sh
顯示信息以下:
mysql
http://localhost:8080
顯示以下
linux
windows下到/bin目錄下找到/shutdown.bat,雙擊這個文件便可!
ubuntu下在終端輸入(在bin目錄下):./shutdown.shgit
緣由:tomcat軟件是java語言開發的。 tomcat軟件啓動時,會默認到系統的環境變量中查找一個名稱叫JAVA_HOME的變量。這個變量的做用找到tomcat啓動所需的jvm。
windows下:
解決辦法: 到環境變量中設置JAVA_HOME的變量
JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 (注意別配置到bin目錄下)
ubuntu下:
解決辦法:github
$ sudo gedit /etc/environment #在environment中修改PATH,追加JDK路徑,添加CLASSPATH與JAVA_HOME後以下: export JAVA_HOME=/usr/lib/jvm/jdk8 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib PATH="/usr/lib/jvm/jdk8/bin:/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
緣由: tomcat啓動所需的端口被其餘軟件佔用了!
解決辦法:
a)關閉其餘軟件程序,釋放所需端口
b)修改tomcat軟件所需端口
c)找到並修改/conf/server.xml文件web
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
|-bin: 存放tomcat的命令。 catalina.bat(sh) 命令: startup.bat(sh) -> catalina.bat(sh) start shutdown.bat - > catalina.bat(sh) stop |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。 |-lib:支持tomcat軟件運行的jar包。其中還有技術支持包,如servlet,jsp |-logs:運行過程的日誌信息 |-temp: 臨時目錄 |-webapps: 共享資源目錄。web應用目錄。(注意不能以單獨的文件進行共享) |-work: tomcat的運行目錄。jsp運行時產生的臨時文件就存放在這裏
端口,和編碼的修改:sql
<Connector port="8080" #這裏修改端口 protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true" #解決大多數中文編碼問題/>
修改host主機數據庫
<Host name="localhost"#默認的主機名,這裏修改後,還需修改系統的host文件 appBase="webapps"#默認存放工程的文件夾 unpackWARs="true" autoDeploy="true">
__修改訪問工程的路徑__不建議修改:
打開server.xml,在
Context表示訪問的虛擬路徑,path表示要訪問的網頁下文路徑,docBase表示要訪問的文件夾所在路徑,reloadable表示是否在修改以後進行從新啓動,若是使用eclipse開發建議設置爲false,由於在eclipse中會經過debug進行啓動。
主頁的修改
<welcome-file-list> <welcome-file>index.html</welcome-file>#通常建立web項目時默認的主頁是index.html index.jsp <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file>#;你能夠修改爲你的將你的主頁放置在工程根目錄就行; <welcome-file>hello.jsp</welcome-file>#好比加一個你本身的主頁; </welcome-file-list>
是否列出列表
listings表示是否在顯示頁面時打開文件列表,建議在調試時打開,方便查詢一些特殊的網頁文件,好比文件名太長的等;
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value>#將此去改成true </init-param> <load-on-startup>1</load-on-startup> </servlet>
修改後例子:
|- WebRoot : web應用的根目錄 |- 靜態資源(html+css+js+image+vedio) |- WEB-INF : 固定寫法。 |-classes: (可選)固定寫法。存放class字節碼文件 |-lib: (可選)固定寫法。存放jar包文件。 |-web.xml 注意: 1)WEB-INF目錄裏面的資源不能經過瀏覽器直接訪問 2)若是但願訪問到WEB-INF裏面的資源,就必須把資源配置到一個叫web.xml的文件中。
URL全名叫統一資源定位符,用於定位互聯網的資源。 問題: http://localhost:8080/examples/hello.html http:// 協議。http協議。 localhost 域名。爲了找到IP地址。 本地域名: localhost 外部域名:www.baidu.com 8080: tomcat默認的端口 3306:mysql數據庫的端口 1521: orace數據庫的端口。 /examples: web應用的名稱。默認狀況下,在webapps目錄下找 /hello.html : 資源名稱。
在Tomcat文件下的webapps/examples 文件下創建一個html的文件,好比我創建了hello.html:
I am peace this is test
運行Tomcat,在瀏覽器裏面輸入http://localhost:8080/examples/hello.html.顯示以下:
Servlet : 用java語言來編寫動態資源的開發技術。
Servlet類只能交給tomcat服務器運行!(開發者本身不能運行)
Servlet手動編寫步驟:
package com.rlovep.servlet; 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 Hander extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //解決中文亂碼問題 resp.setContentType("text/html;charset=utf-8"); //向瀏覽器輸出時間 resp.getWriter().write("這是第一個servlet程序。當前時間爲:"+new Date()); } }
<!-- 配置一個servlet程序 --> <servlet> <!-- servlet的內部名稱 ,能夠自定義--> <servlet-name>HelloServlet</servlet-name> <!-- servlet類名: 包名+簡單類名--> <servlet-class>com.rlovep.servlet.Hander</servlet-class> </servlet> <servlet-mapping> <!-- servlet的內部名稱,和上面的名稱保持一致!!!--> <servlet-name>HelloServlet</servlet-name> <!-- servlet的訪問名稱: /名稱 --> <url-pattern>/hello</url-pattern> </servlet-mapping>
在瀏覽器中輸入:http://localhost:8080/examples/hello.顯示以下:
創建成功
啓動tomcat服務器
訪問servlet
主頁:http://localhost:8080/HttpProtocl
servlet:http://localhost:8080/HttpProtocl/Auto
來自一條小鯊魚(rlovep.com)