乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JSP的環(huán)境引擎--Tomcat

       tcwl123 2010-10-25
      JSP的環(huán)境引擎--Tomcat


      所謂的JSP環(huán)境引擎指的就是JSP的運行環(huán)境,就象ASP的運行環(huán)境是IIS而PHP的運行環(huán)境可以是APACHE+PHP,前面我們已經(jīng)提到過JSP的一大特點是他支持多平臺,不僅支持Windows同樣也支持Linux/Unix,現(xiàn)在流行的JSP引擎主要有Tomcat、JSWDK、Resin、JRun、Servletexec、Websphere、Weblogic、GNUJSP,Enhydra等幾種,下面我們將重點介紹幾個常用的環(huán)境引擎。

      TomCat

      TomCat特點

      Tomcat是apache上實現(xiàn)jsp+javabean環(huán)境的接口程序,集成了jsp和servlet。他提供一個單獨的mod_jserv.so模塊,利用apache的DSO動態(tài)載入,與早先的Jserver不同,Tomcat必須作為一個單獨的程序運行,所有提交給apache的java請求將通過Tomcat自帶的jserv模塊提交給Tomcat進一步處理。就是說,必須先運行Tomcat,再運行apache才能解釋jsp/servlet程序。

      Tomcat很可能成為下一代Java Web Server的主流。因為Tomcat受到Sun公司的全力支持,并由非常強大的開發(fā)組織apache來進行發(fā)展,這一工程被稱為Jakarta計劃。從戰(zhàn)略上看,Sun 現(xiàn)在正借助apache的影響來開發(fā)server端的java技術(shù),這就是tomcat。因此可以相信tomcat已經(jīng)或者即將是一個較理想的jsp & servlet開發(fā)和支撐平臺。相對地,JSWDK只是一個簡化的服務(wù)器平臺,性能和穩(wěn)定程度都比較有限,而且實際上SUN并不許可將它作為internet上的商業(yè)平臺。 

      Tomcat的功能比jws或jswdk強大得多,您可以訪問tomcat的站點http://jakarta. 查看詳細介紹,Tomcat的穩(wěn)定版本是3.2.3,最新4.0的版本處于開發(fā)階段,他主要包含了三個主要部分:

      Catalina:一個符合Servlet API規(guī)范2.3的Servlet 容器;
      Jasper:一個符合JSP規(guī)范1.2的JSP編譯器和運行環(huán)境;
      Webapps:Tomcat中包含的一些例子和用于測試的web例程,以及相關(guān)文檔。

      Tomcat4.0的一個主要目的是支持目前正在處于測試版的Servlet2.3規(guī)范和JSP1.2規(guī)范的新特性,他有以下幾個特點:

      支持Servlet API 規(guī)范2.3 

      Servlet為Web開發(fā)員提供了一個簡單、一致的機制,來擴展Web服務(wù)器的功能,并且和已有的業(yè)務(wù)系統(tǒng)交互??梢园裇ervlet看作在服務(wù)端運行的Applet。 

      JSP技術(shù)是servlet技術(shù)的擴展,對HTML和XML的頁面創(chuàng)作提供支持。它使網(wǎng)頁設(shè)計員能非常容易地將固定或靜態(tài)的模板數(shù)據(jù)與動態(tài)內(nèi)容進行組合。 
      Tomcat4.0的版本支持Servlet API 規(guī)范2.3,你可以在web.xml文件中注冊相應(yīng)的事件監(jiān)聽器,當這些事件發(fā)生時,在應(yīng)用程序中可以收到相應(yīng)的事件通知,這些事件包括:
      - 應(yīng)用啟動
      - 應(yīng)用關(guān)閉
      - 應(yīng)用的屬性的增加、刪除、被替換 
      - Session創(chuàng)建
      - Session失效、超時
      - Session的屬性的增加、刪除、被替換

      事件監(jiān)聽器的功能被加入到Catalina,看來效果非常好。在Webapps中的web應(yīng)用examples中就有兩個監(jiān)聽器的例子用于通過ServerletContext.log()記錄相應(yīng)的事件。

      Servlet Fliter
      在web.xml文件中注冊類似與Catalina核心中Valves功能類似的的Filter。Filter主要具有以下特性:
      - Filter能夠映射成相應(yīng)的URL或特定的Servlet。
      - Filter能被用于對request,reponse對象進行預(yù)處理、或后處理。
      - Filter能封裝request、response對象,比如可以對對象中的內(nèi)容進行轉(zhuǎn)換。
      - Filter能夠?qū)υL問請求直接響應(yīng),然后返回給客戶端,而不僅僅進行訪問請求的傳送,比如,你可以在應(yīng)用級進行用戶認證。
      與這些特性相關(guān)聯(lián),當servlet傳遞參數(shù)給RequestDispatcher時就可以做這種類型的封裝。而在以前,你只能將初始的request對象傳遞給Servlet Container,并且從Servlet Container中得到返回的response對象。Servlet filter的功能目前已經(jīng)加入到Catalina中,并通過了初步測試。在應(yīng)用examples中有一個filter用于路徑映射和向調(diào)用servlet的映射("/servlet/*"),其中存放了最終傳遞給執(zhí)行Servlet的request對象屬性。

      安裝擴展庫的依賴關(guān)系
      Web應(yīng)用程序或WEB-INF/lib中的jar文件,現(xiàn)在可以聲明對特定版本外部庫的依賴關(guān)系,這些外部庫是由Servlet Container作為共享擴展提供的。在Catalina中目前還沒有完全實現(xiàn)這部分功能。

      國際化支持

      Catalina現(xiàn)在支持從Locale向字符集的映射,在ServletRequest中增加了一個新的方法setCharacterEncoding() ,在這一方面,還需要有個多的測試和功能增強。

      Web應(yīng)用的類裝載器

      Servlet規(guī)范草案中9.6.2節(jié)中定義了與Web應(yīng)用中類裝載器相關(guān)的需求和建議。這些需求在Catalina中被遵照執(zhí)行。

      Servlet 2.3應(yīng)用程序分發(fā)描述符的DTD

      在Catalina中包括一個非正式的用于解析web.xml文件的DTD(catalina/src/conf/web_23.dtd)它將被正式發(fā)布的DTD所替代。
      JSP規(guī)范1.2

      JSP 對Include flush="false"的支持

      這個變化通過在標準或定制的標記中嵌套使用標記,允許利用內(nèi)含的servlet進行緩存、處理,并產(chǎn)生的輸出。這個變化取決于前述的對RequestDispatcher.include()的功能的增強功能。

      JSP頁面的XML視圖

      JSP1.2的實現(xiàn)要求輸入不僅要符合JSP語法,而且要符合XML語法。目前正在將Jasper的parser進行轉(zhuǎn)換,使得其能接受任何一種類型的輸入。

      屬性編輯器的利用

      假如一個應(yīng)用對java類的一個特定屬性注冊了一個屬性編輯器(PropertyEditor),那么這個屬性編輯器的setAsText()方法將用于將文本格式的屬性(比如request對象的一個參數(shù))轉(zhuǎn)換為該屬性的內(nèi)部表示。假如沒有定義屬性編輯器,那么就采用前述的缺省屬性編輯器進行轉(zhuǎn)換。

      定制標記庫驗證頁面的合法性

      在定制標記庫中增加了一個新的編譯階段用于檢查頁面的XML視圖,如果檢測到錯誤,就拋出一個轉(zhuǎn)換時異常。在這當中,可用于驗證:
      - 從語義上不能被TLD中定義的信息驗證的嵌套定制標記
      - 誤用或濫用JSP中定制標記特性。比如,你可以用一個驗證子禁止JSP使用Java語句塊。
      - 增強的迭代支持
      - 增強了的定制tag機制支持在不做內(nèi)容嵌套的前提下進行迭代的能力。這將優(yōu)化這類非常常見的例子的性能,比如通過迭代來表示一個表格的處理結(jié)果,而不用顯式對表格中每一行進行處理。

      定制tag庫能夠聲明應(yīng)用監(jiān)聽器

      一個定制的tag庫能夠利用servlet2.3中的新特性,聲明一個監(jiān)聽器,用于監(jiān)聽應(yīng)用程序相關(guān)的事件。

      附加的TLD元素

      在許多簡單的例子中,聲明變量時,采用附加的TLD元素可不用書寫TagExtraInfo類
      在Tag接口中增加resetCustomAttributes()方法,通過由Servlet Container調(diào)用附加的方法,使得在循環(huán)調(diào)用一個tag的實例前調(diào)用該方法。

      Tomcat和JServ的區(qū)別

      JServ是由Apache開發(fā)并使用的Servlet API 2.0兼容的Servlet容器。Tomcat是完全重寫的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代碼,特別是Apache服務(wù)適配器。 

      Tomcat的應(yīng)用

      實際上,只有針對一個象amazon.com這樣的大型站點,采用apache + tomcat這樣的結(jié)構(gòu)才具有更特出的優(yōu)點,主要體現(xiàn)在具有更好的可擴展性和安全性。這種類型的站點的主要特點是每一個頁面都可能是動態(tài)生成的,但這些數(shù)據(jù)中主要部分還是靜態(tài)的(比如,各類圖像GIF、JPG、PNG,流式媒體等)。 
      想象以下某個站點采用了多個用于負載均衡的硬件設(shè)備,這些設(shè)備后端連結(jié)一組服務(wù)器,這些服務(wù)器可能是一組相對廉價的運行apache的linux服務(wù)器簇。 
      這組位于前端的服務(wù)器簇將僅占總訪問請求的10%的真正需要調(diào)用servlet的訪問請求發(fā)送給后段的系統(tǒng),后鍛系統(tǒng)可以是一臺Sun的E3500,或是IBM的AS/400,在這個后端的系統(tǒng)上運行著Tomcat,可能還包括企業(yè)級數(shù)據(jù)庫。 
      這種結(jié)構(gòu)的優(yōu)點是兼有可擴展性和安全性。假如單位時間內(nèi)訪問請求數(shù)急劇增加,可以用相對較低的費用增加前端的能力。盡管后段的處理部分也需要擴充,但通常情況下,這種定位在單個服務(wù)器上的處理部分比較容易擴展。由于是通過在這臺功能強大的服務(wù)器上運行的單個servlet容器,實際上也就不需要考慮session狀態(tài)在分布式環(huán)境下的維護這類復(fù)雜的問題。
      另外,因為這臺后端服務(wù)器在外界不可以訪問,網(wǎng)上的黑客只能訪問前端的web服務(wù)器,不能直接訪問后端的應(yīng)用服務(wù)器,這就提高了安全性。但這并不意味著黑客們不能通過網(wǎng)絡(luò)瀏覽器進行其它形式的攻擊。對于apache->tomcat這種配置來說,前端和后端是通過ajp12協(xié)議來進行通信,ajp12不過是http訪問請求的一種轉(zhuǎn)換形式,如果給黑客們足夠的時間,他們也許有能力通過Web層,從后端的數(shù)據(jù)庫中取得一些比如信用卡號等關(guān)鍵數(shù)據(jù)。 

      Tomcat的安裝

      Tomcat在Linux/Unix下的安裝

      下載所需軟件:apache 1.3.20――webserver
      tomcat 3.2.3 ――環(huán)境引擎
      JDK 1.2.0 ――Java Develop Kit
      mod_jserv.so――Apache的Jserv模塊
      Apache Webserver 1.3.20: http://httpd./dist/httpd/apache_1.3.20.tar.gz
      Tomcat3.2.3 : http://jakarta./builds/jakarta-tomcat/release/v3.2.3/bin/jakarta-tomcat-3.2.3.tar.gz
      JDK 1.2.2: http://java./products/jdk/1.2/download-linux.html

      mod_jserv.so:http://jakarta./builds/jakarta-tomcat/release/v3.2.3/bin/linux/mod_jk-eapi.so

      安裝所需的軟件:
      1) Apache:
      先解壓apache:tar zxvf apache_1.3.20.tar.gz
      cd apache_1.3.20
      ./configure 
      make 
      make install
      Apache Webserver被默認安裝在/usr/local/apache下
      修改apache的配置文件:
      vi /usr/local/apache/
      安照你的要求自行修改相應(yīng)的參數(shù)。
      把下載mod_jk-eapi.so下載到/usr/local/apache/libexec目錄下
      2) JDK
      解壓:tar zxvf jdk-1_2_2-linux-i386.tar.gz
      mv jdk-1_2_2 /usr/local/jdk1.2.2
      3) Tomcat
      解壓:tar zxvf jakarta-tomcat-3.2.3.tar.gz
      mv akarta-tomcat-3.2.3 /usr/local/jakarta-tomcat

      4) 配置環(huán)境變量
      編輯/etc/profile文件,這里對環(huán)境變量修改就是修改所有的系統(tǒng)用戶的環(huán)境變量,如果你不希望這么作可以只修改root用戶的環(huán)境變量,那就只要編輯/root/.bash_profile,在文件尾加入下面幾句:
      JAVA_HOME=/usr/local/jdk1.2.2 
      export JAVA_HOME 
      JRE_HOME=/usr/local/jdk1.2.2/jre 
      export JRE_HOME 
      TOMCAT_HOME=/usr/local/jakarta-tomcat 
      export TOMCAT_HOME 
      CLASSPATH=/usr/local/jdk1.2.2/lib:/usr/local/jdk1.2.2/jre/lib 
      export CLASSPATH 
      PATH=$PATH:/usr/local/jakarta-tomcat/bin:/usr/local/jdk1.2.2/bin:/usr/local/jdk1.2.2/jre/bin
      export PATH
      配置Tomcat
      tomcat本身其實就是一個web服務(wù)器,我們可以把他和apache等其他web服務(wù)器連接起來,這兩個服務(wù)器 可以不在同一臺機器上。底下的操作為在同一臺機器上的情況,如果想把他們分開在兩臺計算機上,請 修改/usr/loca/jakarta-tomcat/conf/tomcat.conf 
      cp /usr/loca/jakarta-tomcat/conf/tomcat.conf /usr/local/apache/conf/
      vi /usr/local/apache/conf/httpd.conf
      在文件結(jié)尾加入: 
      include /usr/local/apache/conf/tomcat.conf
      啟動服務(wù)
      啟動Apache Web server:/usr/local/apache/bin/apachectl start
      關(guān)閉Apache Web server:/usr/local/apache/bin/apachectl stop
      啟動Tomcat :/usr/local/jakarta-tomcat/bin/startup.sh start
      關(guān)閉Tomcat :/usr/local/jakarta-tomcat/bin/shutdown.sh stop
      測試Tomcat
      用ps ax確認服務(wù)都啟動后,在客戶端的瀏覽器內(nèi)敲入
      http://dress/examples/、
      如果你看見了jsp、servlet目錄,你的apche與tomcat已經(jīng)連接成功了. 
      說明
      如果你的jsp/servlet運行不了或者有錯誤,一般是你的CLASSPATH設(shè)置錯誤 如果你的apache是自己編譯的,編譯apache時請把--enable-module=so打開

      Tomcat在Windows下的安裝

      下載所需的軟件:
      JDK1.2.2:http://java./products/jdk/1.2/download-windows.html
      Apache Web Server:
      http://httpd./dist/httpd/binaries/win32/apache_1.3.20-win32-no_src-r2.msi
      Apache Jserver模塊:
      http://jakarta./builds/jakarta-tomcat/release/v3.2.3/bin/win32/i386/mod_jk.dll
      Tomcat 3.2.2:
      http://jakarta./builds/jakarta-tomcat/release/v3.2.3/bin/jakarta-tomcat-3.2.3.zip

      安裝

      一、安裝JDK1.2.2,并將jdk1.2.2的目錄加入到環(huán)境變量PATH中(Autoexec.bat);
      1、 雙擊jdk1_2_2-00x-win.exe文件進行安裝,使用缺省配置進行安裝,JDK的缺省安裝目錄為 C:jdk1.2.2,JRE的缺省安裝目錄為C:Program FilesJavaSoftJRE1.2; 
      2、 重啟計算機;
      3、 更新下列環(huán)境變量:把C:jdk1.2.2in目錄追加到PATH中;把 C:jdk1.2.2lib ools.jar;C:jdk1.2.2libdt.jar加入到CLASSPATH中。更新      方法:控制面板->系統(tǒng)->環(huán)境->系統(tǒng)變量;
      4、 測試applet: 
      1) 打開command窗口; 
      2) 切換到C:jdk1.2.2demoappletsTicTacToe目錄; 
      3) 運行appletviewer example1.htm; 
      4) 一切正常; 
      5、 測試application: 
      1) 新建c:jsp目錄并創(chuàng)建一個test.java文件,內(nèi)容如下:
      public class test 
       {
      public static void main(String arc[]){ 
      System.out.println("hello world!”    ) 
               }; 

      2) 打開command窗口;
      3) 切換到c:jsp目錄; 
      4) 運行javac test.java進行編譯;
      5) 運行java test運行這個程序; 
      6) 一切正常。

      二、安裝apache_1.3.20-win32-no_src-r2.msi
      1、 雙擊apache_1.3.20-win32-no_src-r2.msi文件進行安裝,使用缺省配置進行安裝,缺省安裝目錄為 C:Program FilesApache GroupApache,我用$APACHE_ROOT來代替安裝目的地; 
      2、 修改$APACHE_ROOTconfhttpd.conf: 
      1、 port:設(shè)置Apache Web Server運行時使用的端口號,默認是80 ,如果你的系統(tǒng)有IIS或PWS也在運行,IIS或PWS使 用了80端口號,于是我把它改成Port 88,以后在瀏覽器上輸入 http://localhost:88/才能訪問到Apache Web Server服務(wù)器,輸入 http://localhost/時能訪問到IIS或PWS,這樣兩個Web Server都可以用了;
      2、 DocumentRoot 設(shè)置文檔根目錄,當您在瀏覽器上輸入http://localhost/時,服         務(wù)器會從文檔根目錄讀取數(shù)據(jù),我們把他設(shè)為c:jsp,所以把         DocumentRoot設(shè)置為c:jsp; 
      3、 Apache安裝完后在"開始->程序"菜單組中多了Apache Web Server菜單組,運行其中的 apache conctrol中的start來啟動服務(wù),運行stop關(guān)閉apache web server,restart重新啟動服務(wù);、
      4、 在瀏覽器上輸入http://localhost/或http://localhost:88/,就看到了c:jsp下的所有文件, 這時表明Apache服務(wù)已經(jīng)安裝成功。
      將mod_jk.dll拷到Apache所在目錄的modules子目錄中;
      安裝Tomcat 3.2.2 (解壓并拷到某個目錄中); 
      此時所需部件都已經(jīng)安裝完畢,以下是配置過程。 

      配置 

      1、設(shè)置以下環(huán)境變量(可以放在autoexec.bat中: 
      SET TOMCAT_HOME=C:PROGRA~1Tomcat 
      SET JAVA_HOME=C:PROGRA~1jdk1.2.2 
      2、打開TOMCAT的conf子目錄下的tomcat.conf文件以下行前的注釋去掉: 
      LoadModule jserv_module modules/mod_jk.dll
      再將對應(yīng)LINUX的類似一行用注釋屏敝掉。 
      3、打開apache的httpd文件,在最后加入一行 
      include c:/progra~1/tomcat/conf/tomcat.conf 

      啟動與測試: 

      1、 首先啟動apache
      2、 進入到tomcat的執(zhí)行目錄(bin), 
      3、 用tomcat.bat start或tomcat.bat run啟動tomcat,此時應(yīng)當可以看到正確輸出的classpath,此時Tomcat啟動成功! 
      4、 在瀏覽器中輸入http://localhost/examples/此時應(yīng)當可以看到server返回的三個目錄列表。點擊其中JSP的就可以看到示例了。 
      5、 只要用官方站下載的程序,照上述幾步應(yīng)當能正確啟動JSP環(huán)境,接下來的問題就是如何加入context以便映射到你的工作目錄,并開始JSP世界的探索了。這將在后面加帖。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多