tomcat簡介


轉自:https://www.jb51.net/article/119216.htm

tomcat介紹: 

web服務器只能完成靜態資源的請求;

web容器能夠進行動態資源的請求;

tomcat就是一個最簡單的web容器,是apache的jarkata項目的子項目。

tomcat 7.0.X支持Servlet 3.0規范,因此建議使用7.0.X; 

tomcat有兩種版本:

(1)二進制版本:解壓后需要配置環境變量,建議使用此版本。
(2)服務版本:可執行文件,安裝好后會在系統中注冊服務.

tomcat目錄介紹: 

tomcat有幾個文件夾:

(1)bin:存放可執行命令,比如開啟和關閉tomcat:startup.bat;
(2)conf:配置文件。
(3)webapps:發布web應用。
(4)lib:庫文件,可以通過此目錄擴展,比如放置數據庫驅動在此文件中。
(5)work:臨時的Java或class文件。

Tomcat基本配置

注意:Tomcat不要放在中文目錄或帶有空格的目錄中;

一、配置環境變量

1.配置 JAVA_HOME :C:\Java\jdk1.6.0_27

2.配置 CATALINA_HOME:C:\apache-tomcat-7.0.6   (這個環境變量可以不配)

這里以我的配置為例,根據自己的安裝位置調整;

catalina_home配置了以后,當出現如圖情況:

當點擊C:\tomcat\bin\startup.bat后 啟動的是D:\tomcat

二、配置端口

 默認為8080,可以在tomcat/conf/server.xml中的配置.

?
1
2
3
< Connector port = "8888" protocol = "HTTP/1.1"   //此處可以把8888換成任意端口.
       connectionTimeout = "20000" 
       redirectPort = "8443" />

配置完這些后已經可以使用tomcat了,在瀏覽器中輸入 http://localhost:8888 后彈出如下頁面:

端口被占用問題:

如果有其他軟件占用了此端口,則會導致tomcat不能啟動;

解決方案:

用FPort等軟件查看端口使用情況,然后 kill 此進程即可;

三、配置用戶角色

為了在頁面中管理部署web應用,必須要有用戶,因此需要配置新用戶和密碼(原本無用戶)。

在tomcat/conf/tomcat-users.xml中的<tomcat-users></tomcat-users>中添加如下語句:

?
1
2
< role rolename = "manager-gui" />
< user username = "admin" password = "12345" roles = "manager-gui" /> //用戶名為admin,密碼為12345

JAAS:Java Authentication Authorization Service 即Java驗證授權服務

如圖可以利用前面設定的用戶名和密碼登陸:

 

四、配置部署web應用路徑

1.可以在webapps目錄中進行部署,即直接將整個web應用復制到webapps下。

2.可以在conf/catalina/localhost目錄中創建一個test.xml,在此文件中添加:

?
1
2
3
<? xml version = "1.0" encoding = "GBK" ?>
< Context docBase = "F:/publish" debug = "0" privileged = "true" >  //docBase是路徑,可以自己調整
</ Context >

這樣可以輸入 http://localhost:8080/test 訪問,注意這個test就是xml文件的名字。

比如xml文件的名字為x.xml,則輸入 http://localhost:8888/x

還需要在F:\publish,也就是web應用的目錄新建一個WEB-INF文件夾,在此文件夾中新建一個web.xml,為了偷懶,可以把tomcat/webapps/WEB-INF/web.xml 的文件黏貼到F:\publish\WEB-INF中.

3.可以在網頁中部署,如圖所示:

可以通過war包或者一個路徑部署,war包可以從Eclipse中導出。

 

常見注意點:

1.設置端口號:在conf/server.xml中修改。

2.配置虛擬目錄:在conf/server.xml中最后添加<Context path = "...." docBase = "..."/>,

比如    <Context path = "/test" docBase = "D:\test"/>,則瀏覽器中輸入http://localhost:8080/test則可以運行D:\test的內容。

注:在配置完后還要在conf/web.xml中

?
1
2
<param-name>listings</param-name>
<param-value>false</param-value>改成true

3.配置默認首頁:在conf/web.xml中最后

?
1
< welcome-file >index.html</ welcome-file >

說明默認為index.html,因此如果輸入http://localhost:8080/test則會自動調用index.html.

4.每個web應用中都需要WEB-INF和web.xml文件,最簡單的辦法就是去tomcat主目錄下的webapps/ROOT/的WEB-INF拷貝到你所需要的web應用文件夾下。

5.第一次用戶請求某個JSP會比較慢。

原因:JSP首先會轉換成JAVA文件,然后再編譯成class文件,最后才執行,這些java和class的文件都在tomcat主目錄的work文件夾下。

HTTP常見狀態:

(1)404錯誤:客戶路徑不正確造成。
(2)500錯誤:服務器內部錯誤。

因此總的來說:

(1)2##:請求成功。
(2)4##:客戶端錯誤。
(3)5##:服務器錯誤。

JSP文件簡介:HTML+JAVA代碼。

<%。。。%>中嵌入java代碼。

在html中<form>的action屬性可以設置服務器處理請求的jsp文件,例如:

?
1
<form action = "hello.jsp" method = "post" >

接下來是一個最簡單的應用tomcat的程序,用戶輸入任意字符串比如world,服務器返回hello加上字符串,比如hello,world.

?
1
2
3
4
5
6
7
8
9
10
11
12
< html >
   < head >
     < title >Demo</ title >
   </ head >
   < body >
     輸入內容:
     < form action = "input.jsp" method = "post" >
       < input type = "text" name = "info" />
       < input type = "submit" value = "顯示" />
     </ form >
   </ body >
</ html >

jsp文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
<html>
   <head>
     <title>Demo</title>
   </head>
   <body>
     <%
       String str = request.getParameter( "info" );
       str = "Hello," +str;
       out.println( "<h1>" +str+ "</h1>" );
     %>
   </body>
</html>

web應用目錄布局建議:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
主目錄
   |
   |-WEB-INF
   |  |-  web.xml
   |  |-  classes
   |  |  |-放置class文件
   |  |-   lib
   |  |  |-放置第三方jar包
   |  |-   src
   |  |  |-存放源文件
   |-存放jsp、html
   |
   |-image
   |  |-存放圖片


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM