天天看點

tomcat7的安裝與配置、及Servlet部署

一、tomcat7的下載下傳頁面

 https://tomcat.apache.org/download-70.cgi

就是:32-bit Windows zip

下載下傳得到apache-tomcat-7.0.69-windows-x86.zip檔案,解壓縮到任意目錄位置,例如:D:\tomcat\v7069 檔案夾。

運作Tomat目錄\bin\startup.bat即可啟動伺服器,通常浏覽預設url(http://localhost:8080)即可通路預設頁。

也可以同時下載下傳源代碼:Source Code Distributions 下面的 zip (pgp, md5, sha1) 連結。

二、配置系統環境變量

(前提:已完成JDK環境變量配置)

1、系統變量 %TOMCAT_HOME% 的值為:D:\tomcat\v7069

2、系統變量 %CATALINA_HOME% 的值為:%TOMCAT_HOME%

3、系統變量 %CATALINA_BASE% 的值為:%TOMCAT_HOME%

三、注冊為Windows服務

首先運作Win+R打開運作對話框,輸入cmd指令打開控制台,用cd指令進入Tomat目錄/bin檔案夾,輸入如下指令:

service.bat  install

程式提示:The service \'Tomcat7\' has been installed 類似的語句。

說明服務Tomcat已經被安裝成功。

在Windows服務中可以看到 Apache Tomcat 7.0 Tomcat7 項目,預設為手動啟動。

tomcat7的安裝與配置、及Servlet部署

運作service.bat remove可以解除安裝該服務。

四、初始使用者名和密碼

一、明确管理者角色的名稱。

Tomat目錄\webapps\manager\WEB-INF\web.xml檔案中,檢視<role-name>節點,如下:

<role-name>manager-gui</role-name>

修改Tomat目錄\conf\tomcat-users.xml檔案,添加角色及使用者,角色名必須是<role-name>節點的值,例如以上的manager-gui。

二、設定管理者角色,并加入使用者

修改後如下:

<tomcat-users>

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat" roles="manager-gui"/>

</tomcat-users>

 五、設定虛拟目錄

方法一(Context file方式):

例如:将D:\mp3檔案夾設定為虛拟目錄http://localhost:8080/mp3 。

1、在%TOMCAT_HOME%\conf\目錄中找到catalina\localhost檔案夾,沒有的話就建立。

2、在localhost檔案夾中建立一個xml檔案,名字任意,建議和虛拟目錄名稱相同,例如:mp3.xml

3、編輯該配置檔案mp3.xml

<Context
    path="/mp3"
    docBase="D:\mp3"
    reloadable="true"
    debug="0"
    >
</Context>      

4、配置完成後,即可通路 http://localhost:8080/mp3 虛拟目錄了。

方法二(server.xml方式):

1、編輯Tomcat根/conf/server.xml檔案

2、在<Host/>元素中添加子元素<Context path="" docBase="">

例如:<Context path="/xApp" docBase="D:/workspace/demo/xApp">

path,指虛拟目錄(ContextPath),例如:“/xApp”,通路時url即為:http://localhost:8080/xApp。

docBase,訓示webapp項目實際目錄,例如:“D:/workspace/demo/xApp”。

六、Eclipse中搭建webapp項目結構

webapp項目遵循規定的目錄結構規範:

\xApp,稱為webapp的根,任意命名。其中包括WEB-INF子目錄;

\xApp\WEB-INF,必須大寫,此為該webapp的核心,其中包括兩個子目錄:classes和lib,和一個命名為web.xml的配置檔案;

\xApp\WEB-INF\classes,放置編譯後的webapp檔案;

\xApp\WEB-INF\lib,放置項目依賴的引用包(*.jar)檔案;

\xApp\WEB-INF\web.xml,用作web伺服器通路的配置檔案,内容參考tomcat根\conf\web.xml,隻需保留其根元素即可。

例如:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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_3_0.xsd"
  version="3.0">
</web-app>      

在eclipse中搭建webapp項目:

1、建立一個java項目;

2、在其中按上述目錄結建構立相應的檔案夾和web.xml配置檔案;

3、修改java項目的輸出路徑,指定到\xApp\WEB-INF\classes檔案夾。

操作:項目右擊-->Build Path-->Configure Build Path...-->打開屬性(Properties for X)視窗-->Java Build Path-->Source頁籤中-->Default output folder中指定。

4、(可選)添加servlet-api.jar包,用JavaSE開發Servlet時,會缺少JavaEE的Servlet-api。

解決:把%TOMCAT_HOME%\lib\servlet-api.jar檔案拷貝到該webapp的WEB-INF\lib檔案夾中,并Build Path。

5、(可選)關聯源代碼,編輯servlet時實作servlet接口時,出現參數名不明确(例如arg0、arg1等)的情況下,可關聯源代碼來解決。

解決:在回溯類頁面中-->Attach Source...-->External File...-->選擇下載下傳的源代碼檔案(apache-tomcat-7.0.69-src.zip)。

搭建完成。

七、部署webapp項目

1、簡單的部署方式(不推薦)

拷貝webapp項目的根(檔案夾)到Tomcat根/webapps目錄中即可。

2、虛拟目錄部署方式(推薦)

(1)編輯Tomcat根/conf/server.xml檔案

(2)在<Host/>元素中添加子元素<Context path="" docBase="">

八、webapp執行個體:HelloServlet

實作步驟:

步驟一:在Eclipse中搭建一個Java項目,名為myWeb

1、建立java項目:myWeb

2、搭建webapp環境

(1)項目中建hello檔案夾,其中建WEB-INF檔案夾,其中建classes及lib檔案夾和web.xml檔案。

(2)編輯web.xml檔案,内容從&TOMCAT_HOME%\conf\web.xml獲得,隻需保留其根元素即可。

(3)修改項目的編譯輸出路徑為:myWeb/hello/WEB-INF/classes,該檔案夾将被隐藏。

3、引入servlet-api.jar包,以提供javax.servlet.Servlet接口

(1)把%TOMCAT_HOME%\lib\servlet-api.jar檔案拷貝到該webapp的WEB-INF\lib檔案夾中;

(2)右擊servlet-api.jar打開快捷菜單-->Build Path-->Add to Build Path,項目中将出現Referenced Libraries\servlet-api.jar項。

步驟二:編寫HelloServlet

1、src中建立包:myweb,其中建立類HelloServlet;

2、編輯HelloServlet類,使其實作Servlet接口;

在service()方法中,添加代碼:

System.out.println("Hello Servlet!");

3、(可選)關聯源代碼();

步驟三:在web.xml中配置HelloServlet

編輯WEB-INF/web.xml檔案

<web-app/>元素中添加<servlet/>子元素

<servlet/>元素中添加子元素<servlet-name/>和<servlet-class/>

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app 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_3_0.xsd"
  version="3.0">
  <!-- 注冊 Servlet,幫助web伺服器反射該類 -->
  <servlet>
      <servlet-name>HelloServlet</servlet-name>
      <servlet-class>com.chronusdeep.demo.myweb.HelloServlet</servlet-class>
  </servlet>
  <!-- 映射 Servlet 資源,用url-pattern元素标示 URL -->
  <servlet-mapping>
      <servlet-name>HelloServlet</servlet-name>
      <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>      

步驟四:部署HelloServlet到Tomcat伺服器上

編輯%TOMCAT_HOME%/conf/server.xml檔案,在<Host/>元素中添加子元素<Context path="" docBase="">

<Context path="\hello" docBase="(已省略)\myWeb\hello">

步驟五:調試通路

啟動Tomcat,通路URL:http://localhost:8080/hello