官术网_书友最值得收藏!

2.2 搭建Java Web運行環境

Jakarta Tomcat是Sun公司Servlet和JSP規范的實現,也是目前使用最為廣泛的Servlet和JSP容器。為了不使讀者在環境配置上浪費太多的時間,這里筆者將一步一步地講解如何下載Tomcat 7和配置Tomcat 7。

2.2.1 下載Tomcat 7

Tomcat 7是一款很不錯的免費開源的JSP服務器,它被Sun公司推薦為運行Servlet和JSP的容器。同時還要注意Tomcat 7還具有Java Web服務器的基本功能,能夠提供數據庫連接池、SSL、Proxy等許多通用組件。Tomcat目前最新的版本為Tomcat 7.0.20,可以通過下面的步驟來實現該平臺的下載。

01 在瀏覽器的地址欄中輸入網址http://tomcat.apache.org,即可進入Tomcat的首頁,如圖2.16所示。

圖2.16 Tomcat的首頁

02 在Tomcat的首頁中,單擊“Tomcat 7.0”鏈接,進入Tomcat 7.0.20的下載畫面,如圖2.17所示。

圖2.17 Tomcat 7.0.20的下載畫面

03 筆者寫作本書時Tomcat的最新版本是7.0.20,本書將采用這個版本。Tomcat提供了安裝版和配置版兩種安裝方式,本書采用配置版,因此單擊Binary Distributions下Core下面的“zip”鏈接,下載apache-tomcat-7.0.20.zip,如圖2.18所示。

圖2.18 下載apache-tomcat-7.0.20.zip

2.2.2 設定TOMCAT_HOME

因為本書下載的是配置版的Tomcat 7,因此下載完畢后不需要安裝,只要配置Tomcat的環境變量即可,步驟如下:

01 解壓縮apache-tomcat-7.0.20.zip,存放在一個硬盤分區下。

02 在Windows桌面中,用鼠標右鍵單擊“我的電腦”,彈出右鍵快捷菜單。

03 在彈出的快捷菜單中選擇“屬性”命令,打開“系統屬性”對話框。

04 在“系統屬性”對話框中,單擊“高級”標簽下的“環境變量”按鈕,打開“環境變量”對話框,如圖2.19所示。

圖2.19 “環境變量”對話框

05 單擊“系統變量”區域中的“新建”按鈕,在打開的“新建系統變量”對話框中,設定TOMCAT_HOME= D:\ apache-tomcat-7.0.20,如圖2.20所示。

圖2.20 設定系統變量TOMCAT_HOME

2.2.3 驗證Tomcat 7是否安裝成功

下載和安裝完Tomcat 7后,如果想啟動Tomcat 7服務器,還需要配置該服務器。配置完服務器后,為了驗證Tomcat 7是否安裝成功,可以通過如下步驟來實現:

01 雙擊Tomcat 7安裝目錄下bin文件夾中的startup.bat,啟動Tomcat 7,如果是在Linux環境下,則啟動startup.sh,Tomca 7啟動后的畫面如圖2.21所示。

圖2.21 Tomcat啟動后的畫面

02 Tomcat 7啟動后,在IE地址欄中輸入http://localhost:8080,如果能看到Tomcat 7啟動成功的歡迎畫面,則表示Tomcat 7配置成功。Tomcat 7啟動成功的歡迎畫面如圖2.22所示。

圖2.22 Tomcat 7啟動成功的歡迎畫面

03 可以直接修改Tomcat 7的配置文檔來配置Tomcat,也可以通過Tomcat 7提供的管理界面來配置。

04 如果要通過管理界面來配置Tomcat 7,則需要將以下代碼加入到apache-tomcat-7.0.20\conf\tomcat-users.xml中。示例代碼如下:

      <role rolename="manager"/>
      <user username="admin" password="tomcat" roles="manager"/>

加入上述代碼后的tomcat-users.xml文件內容如下:

      <?xml version='1.0' encoding='utf-8'?>
      <tomcat-users>
      <role rolename="manager"/>
      <user username="admin" password="tomcat" roles="manager"/>
      </tomcat-users>

05 在Tomcat 7歡迎畫面的右上角單擊“Manager App”圖片,會打開“Tomcat Manager Application”對話框,如圖2.23所示。

圖2.23 “Tomcat Manager Application”對話框

06 輸入前面配置的用戶名和密碼,然后單擊“確定”按鈕,即可進入管理界面,如圖2.24所示。

圖2.24 管理界面

注意:如果是在Tomcat 7啟動后修改的tomcat-users.xml文件,則需要重新啟動Tomcat,加入的用戶名和密碼才能生效。

07 在管理界面中,管理員可以對Tomcat進行相應的管理工作,比如修改目錄、添加目錄等。

08 在Tomcat 7歡迎畫面的左上角單擊“Status”鏈接,會進入服務器狀態畫面,如圖2.25所示。

圖2.25 服務器狀態畫面

09 在服務器狀態畫面中,可以查看服務器中操作系統的版本、Tomcat的版本和JVM的使用情況等。

10 在Tomcat 7歡迎畫面的左下角有Tomcat 7提供的一些示例,單擊“Servlets Examples”鏈接,可進入Servlet的示例畫面,如圖2.26所示。

圖2.26 Servlet的示例畫面

11 單擊Servlet的示例畫面中的任意一個示例后面的“Execute”,即可看到示例的運行結果;單擊示例后面的“Source”,即可看到示例的源代碼。

2.2.4 在Tomcat 7下創建和發布Web應用

在Tomcat 7下創建和發布Web應用,對于單純的JSP程序來說,在apache-tomcat-7.0.20\webapps文件夾下建立一個程序目錄,然后將JSP程序放在該目錄下即可。比如,在apache-tomcat-7.0.20\webapps文件夾下建立demo,然后在demo文件夾下編寫一個JSP文件gf.jsp,啟動Tomcat,在瀏覽器地址欄中輸入http://localhost:8080/demo/gf.jsp即可訪問JSP程序。如果不想把JSP文件放在apache-tomcat-7.0.20\webapps文件夾下,而是放在其他地方創建的目錄,則需要修改apache-tomcat-7.0.20\conf文件夾下的server.xml文件,將以下代碼加入server.xml文件中:

      <Context path="/demo" reloadable="true" docBase="E:\erp\demo" workDir="E:\erp\demo\work">

上述代碼表示將JSP程序放在了E盤的erp\demo文件夾下。

server.xml文件被加入上述代碼后的示例代碼如下:

      <!--Note:  A"Server"is not itself a"Container",so you may not
          define subcomponents such as "Valves" at this level.
          Documentation at /docs/config/server.html
        -->
      <Server port="8005" shutdown="SHUTDOWN"><!--設定服務監聽端口-->
          <!--載入APR library -->
          <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
          <Listener className="org.apache.catalina.core.JasperListener" /><!--初始化Jasper -->
          <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /><!--使Tomcat服務支持JMX-->
          <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
          <GlobalNamingResources>
          <!--用戶管理-->
          <Resource name="UserDatabase" auth="Container"
                    type="org.apache.catalina.UserDatabase"
                    description="User database that can be updated and saved"
                    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                    pathname="conf/tomcat-users.xml" />
          </GlobalNamingResources>
          <!--一個Service可以有一個或多個Connectors-->
          <Service name="Catalina">
            <!--一個Connector表示接受requests請求和返回,這里設定端口號為8080,使用的協議
    為HTTP 1.1-->
              <Connector port="8080" protocol="HTTP/1.1"
                      maxThreads="150" connectionTimeout="20000"
                      redirectPort="8443" />
              <!--也可以設定其他的一些參數 -->
          <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                    maxThreads="150" scheme="https" secure="true"
                      clientAuth="false" sslProtocol="TLS" />
          -->
          <!--設定端口號為8009,支持協議為AJP 1.3 -->
          <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
          <!-- An Engine represents the entry point (within Catalina) that processes
              every request.The Engine implementation for Tomcat stand alone
              analyzes the HTTP headers included with the request, and passes them
              on to the appropriate Host (virtual host).
              Documentation at /docs/config/engine.html -->
          <!--使用UserDatabase配置全局JNDI資源-->
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                  resourceName="UserDatabase"/>
              <Host name="localhost"  appBase="webapps"<!--配置虛擬主機名為localhost-->
                  unpackWARs="true" autoDeploy="true"
                  xmlValidation="false" xmlNamespaceAware="false">
          <!--設定日志的前綴和后綴
          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log."suffix=". txt" pattern="common" esolveHosts="false"/>
          -->
          <Context path="/demo" reloadable="true" docBase="E:\erp\demo"
              workDir="E:\erp\demo\work"><!--設定虛擬路徑-->
            <!--虛擬主機配置結束-->
            </Host>
          </Engine>
        </Service>
    </Server>

對于Servlet程序來說,則需要將編譯后的文件*.class存放在demo\WEB-INF\classes\com\demo文件夾下。另外在demo\WEB-INF文件夾下建立web.xml文件,在web.xml文件中輸入如下代碼:

      //******* web.xml**************
      <?xml version="1.0" encoding="GBK"?>
      <web-app version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <!--設定Servlet-->
      <servlet>
              <servlet-name>Servlet</servlet-name>
              <servlet-class>com.demo.gf</servlet-class>
      </servlet>
      <!--設定Servlet的對應關系-->
          <servlet-mapping>
              <servlet-name>Servlet</servlet-name>
              <url-pattern>.action</url-pattern>
          </servlet-mapping>
      </web-app>

這段代碼表示,凡是后綴為.action的請求,都將通過com.demo.gf來進行處理。其他的配置則和JSP程序一樣,啟動Tomcat 7,在瀏覽器的地址欄中輸入http://localhost:8080/demo.action即可訪問Servlet程序。

主站蜘蛛池模板: 鸡泽县| 石首市| 东丽区| 红安县| 临朐县| 高邮市| 上蔡县| 襄樊市| 石首市| 修文县| 白玉县| 彰武县| 台北市| 饶平县| 福州市| 云林县| 恭城| 宁津县| 胶南市| 南宁市| 潼南县| 喀喇沁旗| 汤阴县| 德江县| 静乐县| 资兴市| 通城县| 庆城县| 门源| 大安市| 南宁市| 德庆县| 清远市| 栾川县| 青铜峡市| 车致| 阿坝县| 乌拉特中旗| 白朗县| 陆良县| 安溪县|