999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Tomcat和IIS的Web服務集成研究

2008-12-31 00:00:00
電腦知識與技術 2008年36期

摘要:目前在企業應用級開發領域,J2EE應用極其廣泛,在開發中一般采用Tomcat作為Web服務器,該服務器能夠良好支持Servlet/JSP,但和windows平臺下的IIS服務環境兼容性較差。而windows平臺原有的IIS服務器雖然能夠良好處理靜態頁面,但無法接收Servlet/JSP請求。因此這篇文章對IIS和Tomcat的機理進行了研究,通過IIS本身具有的ISAPI篩選器技術,實現來自客戶端請求的重定向,將Tomcat和IIS的Web服務共同集成在本機上,以兼顧雙方的優勢。

關鍵詞:Tomcat;IIS;ISAPI;Servlet/JSP;JDK;集成;Web服務器

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)36-2761-03

Research on Web Service Integration of Tomcat and IIS

YUE Ting

(Tongji University,Shanghai 201804,China)

Abstract: Nowadays, J2EE is quite widely used in enterprise application development. In this method, developers always use web server \"Tomcat\", which is capable of Servlet/JSP but not well compatible in IIS environment of Windows platform. On the other hand, IIS service is accomplished in static HTML page but not able to deal with Servlet/JSP request. Therefore, this paper analyzes the mechanism of Tomcat and IIS, discuss about how to makes use of ISAPI in IIS to do redirection of Servlet/JSP request which leads to the nice integration of Tomcat and IIS.

Key words: tomcat; IIS; ISAPI; servlet/jsp; JDK; integration; web server

1 引言

隨著時代的進步,SUN公司的Java2 Enterprise Edition(J2EE)網絡技術已經成為了目前使用最廣泛的Web應用開發技術,它是一種利用Java2平臺來簡化企業解決方案的開發、部署和管理相關復雜問題的體系結構,包括客戶層技術、網絡層技術(Servlet/JSP)、Struts架構、服務器層技術(EJB)、數據事務與安全、打包和部署等,涵蓋的領域十分廣闊。而在J2EE的開發過程中,需要一個穩定的應用服務器。在通常的情況下,我們使用開源服務器Tomcat來作為web(Servlet/JSP)的開發容器,這也是SUN公司官方推薦的服務器。

而針對Windows的系統平臺,微軟公司也開發了一款架設web服務器的工具IIS,即Internet Information Services(網絡信息服務),這款工具通過超文本傳輸協議(HTTP)傳輸信息,并可通過配置來提供文件傳輸協議(FTP)和其他服務,如NNTP服務、SMTP服務等。

由于是官方開發,因此IIS和Windows系統具有天然良好的兼容性,并可以支持系統中大量的基本網絡服務,如論壇服務。但是因為設計功能的不同,IIS不支持Servlet/JSP機制,因此不能作為J2EE的網絡服務容器。在這種情況下,為了使得J2EE開發平臺和windows的網絡服務能夠同時共存,我們可以試著進行雙方的配置整合,將功能有機地集成在一起。

2 Servlet/JSP機制和Tomcat服務器概述

Servlet/JSP是J2EE提供的一套跨平臺的高效機制,用來作為客戶機/服務器的解決方案,有著強大而獨特的功能。

2.1 Servlet介紹

Servlet是供服務器端加載的程序,在客戶端通過超文本傳輸協議(HTTP)發出請求后,服務器端檢查對應Servlet的狀態,如果尚未被加載,則服務器將其加載到Java虛擬機并且將請求發給該程序,Servlet接受請求后便執行某種過程作業,然后向服務器返回相應的結果,最后,服務器將結果的應答發送給客戶端。

由于Servlet程序是在服務器上加載和執行,客戶端瀏覽器并不直接和Servlet通信,因此就不會出現那些和Applet機制相關的安全性問題。而且Servlet是用Java編寫的,所以一開始就具有平臺無關性,具有一次編寫就可以隨意移植運行(Write Once, Run Anywhere)的特性。除此之外,Servlet還具有以下幾個優點:

運行效率高。在傳統的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在Servlet中,每個請求只是加載一個輕量級的Java線程進行處理,并且處理請求的數個線程只需要加載一份Servlet類代碼,大幅度提高了運行效率。

擴展性和安全性良好。Servlet程序是用Java語言編寫的,因而具備Java的所有優點。Java是一種健壯的、面向對象的編程語言,很容易擴展以適應各種需求。并且在運行時,編寫好的Servlet程序是存在于服務器端的,因此從外界運行Servlet程序的唯一方法是通過服務器調用,因此在服務器防火墻的保護下,Servlet程序能夠得到高水平的安全性保障。

成本經濟,節省投資。由于Servlet技術的廣泛使用,市場上有許多廉價甚至免費的Web服務器可供個人或小規模網站使用,對于其余的現有服務器,即使它不支持Servlet技術,也往往可以免費或通過極少的投資來追加這部分功能。

2.2 JSP介紹

在Servlet機制的基礎上,J2EE架構同時提供了一種更加簡易的JSP(Java Server Pages)機制。JSP是一種腳本語言,它包裝了Servlet系統的界面,簡化了Java和Servlet的使用難度,同時通過擴展JSP標簽(TAG)提供了網頁動態執行的能力。在運行時,JSP引擎會按照JSP的語法,將JSP文件轉換成Servlet代碼源文件,然后調用Java編譯器,按照正常Servlet的方式進行編譯,最后在服務器載入運行。

使用JSP技術,開發人員無需了解Servlet機制,也可以使用HTML語法和標簽來設計和開發動態網頁,并且由于JSP引擎的自動機制,JSP頁面在修改之后能立刻看到更新結果,而無需手動重新編譯,這樣大大地簡化了網頁的開發流程。同時JSP頁面也具有Java的語言特點,幾乎可以運行于所有平臺,具有極其廣泛的市場。

2.3 Tomcat服務器介紹

Tomcat是SUN公司官方推薦的Servlet/JSP服務器。它是一個免費開源的Servlet容器,也是Apache組織的Jakarta項目中一個核心項目,不但具有輕量級和靈活嵌入系統的優點,并且可以支持Servlet/JSP的最新規范,因此得到廣泛的應用。

在安裝Tomcat服務器之前,系統必須先安裝JDK,即Java Develop Kit(Java開發工具包),這是SUN公司免費提供的Java語言的開發包,包含了編寫、運行Java程序所需要的全部工具。

3 Tomcat和IIS的集成配置

Tomcat本身具有Web服務器的功能,因此可以單獨運行,但Tomcat處理靜態HTML頁面的速度較慢,并且和目前Windows系統的IIS環境下開發的程序兼容性較差,而IIS服務器則不能解析Servlet/JSP頁面,因此我們將Tomcat和IIS集成在同一個Web服務器上,這樣既能支持強大的Servlet/JSP,又能完全兼容原有IIS環境下開發的各種軟件。

3.1 安裝IIS

如果使用的Windows系統是服務器(Server)版本,如Windows 2000 Server,大多已經自動安裝了IIS,因此可以略過這一步。如果使用的是其他版本的Windows系統,則需要首先安裝IIS。安裝的過程非常簡單,將Windows系統的安裝盤插入光驅中,然后在系統桌面的控制面板中運行“添加刪除程序”,選擇“添加/刪除Windows組件”,在打開的對話框中選中“Internet信息服務(IIS)”,然后單擊“下一步”即可進行安裝。注意不同Windows系統的安裝盤的IIS版本可能不同,比如Windows 2000安裝盤中是IIS 5.0,Windows 2003安裝盤中是IIS 6.0。

3.2 安裝和配置JDK

JDK可以在SUN公司的官方網站上免費下載,目前最新的JDK 1.6版本的安裝程序名稱為jdk-6-windows-i586.exe,點擊運行即可進行安裝。接下來需要設置環境變量,在桌面的“我的電腦”圖標點擊鼠標右鍵,依次選擇“屬性”——“高級”——“環境變量”,在上方用戶變量的窗口中點擊“新建”,新建一個名稱為JAVA_HOME的變量,值為JDK的安裝目錄(默認為C:\\Program Files\\Java\\jdk1.6.0)。然后再按同樣方法新建一個名稱為CLASSPATH的變量,值為JDK安裝目錄下lib目錄下dt.jar文件的地址(默認為C:\\Program Files\\Java\\jdk1.6.0\\lib\\dt.jar)和tools.jar文件的地址(默認為C:\\Program Files\\Java\\jdk1.6.0\\lib\ools.jar),兩個地址之間以分號隔開。最后在用戶變量窗口中選擇系統變量“PATH”,點擊“編輯”,在該變量值的尾部添加JDK安裝目錄下bin目錄地址(默認為C:\\Program Files\\Java\\jdk1.6.0\\bin)。完成這些環境變量的設置后,可以試著在命令行(運行——cmd)窗口輸入“Java”,如果出現Java命令參數等信息,則表明JDK的安裝和配置成功。

3.3 安裝Tomcat

Tomcat服務器的安裝程序可以在apache組織的官方網站上免費下載,目前最新的Tomcat 6.0版本的安裝程序名稱為apache-tomcat-6_0_10.exe,點擊運行即可進行安裝。安裝完畢后啟動Tomcat服務進程,然后在瀏覽器(如Internet Explorer)中輸入“http://localhost:8080/”進行測試,如果出現Tomcat的默認頁面,則表示Tomcat服務器和JDK的安裝配置已經成功。

3.4 獲取JAKARTA連接器

為了能夠集成IIS和Tomcat服務器,我們可以使用IIS服務管理器中的ISAPI篩選器,該篩選器是IIS對外的一個接口,可以調用各種擴展插件。我們可以在接口上安裝一個Tomcat重定向插件,這樣IIS在每次得到Servlet/JSP請求時,ISAPI篩選器就能通過ajp13協議,調用外部的該插件,對Servlet/JSP請求重定向至Tomcat服務器。

使用最為廣泛的重定向插件是isapi_redirector.dll,同樣可以在apache組織的官方網站上免費下載,下載之后應選擇一個合適的位置保存,通常我們會在Tomcat安裝目錄的conf目錄下新建一個connector來保存和集成相關的文件,因此默認地址為C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\connector\\isapi_redirector.dll。

3.5 配置Tomcat服務器

接下來打開Tomcat安裝目錄的conf目錄下的配置文件Server.xml,可以看到五個嵌套元素:Server,Service,Engine,Host和Context,其中Server級別最高,代表整個Java虛擬機,Service代表虛擬機中的一個服務,Engine代表服務中的一個請求處理機,Host表示一個虛擬主機,Context則表示一個Web應用程序。

Service元素中的Connector子元素,表示客戶端和該服務之間的連接,具有兩個常用屬性:Port屬性指定服務器端創建的端口,并在該端口監聽來自客戶端的請求,默認為8080。EnableLookups屬性指定是否進行DNS查詢得到遠程客戶端的實際主機名,默認為True。

明確了該元素的數據結構,我們可以編輯該文件,將Service元素層中的第二個Connector元素改為如下內容:

經過這樣的配置,Tomcat服務器就會在端口8009監聽AJP13請求,并在接受請求后由類org.apache.ajp.tomcat6.Ajp13Connector進行處理。我們隨后要相應地配置IIS,使得它用該端口和該協議來發送請求。

3.6 配置IIS

按照慣例,IIS的重定向配置文件也會放在Tomcat安裝目錄下,所以在Tomcat目錄的conf目錄(默認為C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\)新建兩個文本文件,命名為workers.properties和uriworkermap.properties。

workers.properties文件的正文如下:

workers.tomcat_home=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0(這是默認值,請修改為自己的Tomcat安裝目錄)

workers.java_home= C:\\Program Files\\Java\\jdk1.6.0(這是默認值,請修改為自己的JDK安裝目錄)

worker.list=ServletWorker

worker.ServletWorker.port=8009(默認8009端口,和Tomcat的配置一致)

worker.ServletWorker.host=local

worker.ServletWorker.type=ajp13(協議名稱,和Tomcat的配置一致)

按照文件的配置,IIS將會在需要的時機,將來自客戶端的請求通過ajp13協議,8009端口,發給名為ServletWorker的worker。

接下來uriworkermap.properties文件的正文如下:

/examples/*=ServletWorker

/examples/*.jsp=ServletWorker

/examples/servlet/*=ServletWorker

其中example是假設的JSP工程名稱,在輸入時請修改為自己的工程名稱,這三句代碼分別表示該工程下所有的靜態頁面文件,所有的JSP頁面文件,servlet文件夾下的所有頁面文件均由ServletWorker來處理。可以根據不同的需求范圍來更改這些代碼。

3.7 修改注冊表

為了讓IIS配置生效,我們打開注冊表HKEY_LOCAL_MACHINE\\SOFTWARE,在下面新建目錄Apache Software Foundation\\Jakarta Isapi Redirector\\1.0,然后添加五個主鍵:

Extension_uri=Jakarta/isapi_redirector.dll(Jakarta為接下來要創建的IIS虛擬目錄名)

Log_file= C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\logs\\isapi_redirect.log(請根據安裝位置修改)

Log_level=debug

Worker_file= C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\workers.properties(請根據安裝位置修改)

Worker_mount_file= C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\uriworkermap.properties(請根據安裝位置修改)

3.8 配置ISAPI篩選器

這是Tomcat和IIS集成的最后一步。打開本機的Internet服務管理器,用右鍵點擊“默認Web站點”,選擇“新建”——“虛擬目錄”,篩選器的“應用程序名”設置為Jakarta(必須和2.7步的Extension uri吻合),“本地路徑”設置為isapi_redirector.dll文件所在的目錄(這里為C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\connector),并且將“執行許可”設置為“腳本和可執行程序”。

新建完畢后,在Internet服務管理器主窗口的目錄樹中,用右鍵點擊IIS主機節點,選擇“屬性”,在出現的屬性窗口中,在主屬性的“WWW服務”區域點擊“編輯”,增加新的ISAPI篩選器,篩選器名稱為“Jakarta”,可執行文件為“C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\connector\\isapi_redirector.dll”。

最后重新啟動IIS,查看WWW服務主屬性的窗口,如果配置正確,在ISAPI篩選器子窗口中,新添加的Jakarta篩選器的狀態現在應該變為綠色向上的箭頭。

3.9 集成配置測試

到這里,IIS和Tomcat服務器的集成已經完畢,我們在啟動IIS和Tomcat之后,在瀏覽器里輸入http://localhost/index.jsp,如果出現和2.3步相同Tomcat的默認頁面,表明這個地址可以不再使用端口8080,而使用缺省的IIS端口80,再通過IIS的篩選器重定向到Tomcat服務器,也即集成的效果已經成功。

4 結束語

使用ISAPI技術集成了IIS和Tomcat的Web服務器,既能夠處理原有IIS環境下的靜態頁面請求,又可以接受Servlet/JSP機制的請求,充分發揮該機制運行速度快、安全、跨平臺等諸多優勢,具有很好的實用價值。

參考文獻:

[1] 蔡劍,景楠.Java Web應用開發:J2EE和Tomcat[M].2版.北京:清華大學出版社,2005:43-250.

[2] 孫鑫.Servlet/JSP深入詳解:基于Tomcat的Web開發[M].電子工業出版社,2008:2-20.

[3] Microsoft Corpararion.IIS 5.0使用參考手冊——IIS 6.0新增功能詳解[M].北京:科學出版社,2003.

[4] 李澗,李爽,杜瑞慶.JSP環境配置[J].現代企業教育,2006,11(2):144-145.

[5] 陳曦,鄒桂章.Tomcat服務器架設技術的探討[D].廣東:廣東省計算中心,2003.

[6] 梁田,倪少權,葉利華.ISAPI在Web服務器中的應用[D].四川:成都信息工程學院學報,2005.

主站蜘蛛池模板: 亚洲欧美在线看片AI| 国产成人乱无码视频| 91精品专区| 国产91特黄特色A级毛片| 97久久免费视频| 久久免费视频6| 亚洲看片网| 毛片免费视频| 亚洲国产成人精品无码区性色| 天天做天天爱夜夜爽毛片毛片| 99在线视频网站| 国产免费人成视频网| 扒开粉嫩的小缝隙喷白浆视频| 日韩精品无码免费专网站| 色综合五月婷婷| 亚洲天堂日韩在线| 一本大道东京热无码av| 亚洲欧美日韩精品专区| 日韩色图区| 亚洲人成网站日本片| 久久精品国产999大香线焦| 亚洲福利网址| 亚洲成A人V欧美综合| 中文字幕波多野不卡一区| 免费日韩在线视频| 91小视频版在线观看www| 亚洲综合国产一区二区三区| 91免费国产高清观看| AV熟女乱| 亚洲AV成人一区二区三区AV| 国产精品美女网站| 欧美日韩另类在线| 国产精品网曝门免费视频| a欧美在线| 亚洲第一在线播放| 全部毛片免费看| 国产久草视频| 欧美日韩免费| 亚洲国产成人精品无码区性色| 色网站在线免费观看| 成人年鲁鲁在线观看视频| 国产成人91精品| 国产尤物视频网址导航| 国产精品短篇二区| 亚洲an第二区国产精品| a级毛片视频免费观看| 欧美在线伊人| 亚洲娇小与黑人巨大交| 国产成人精品一区二区三区| 亚洲综合经典在线一区二区| 成人午夜免费视频| 欧美日一级片| 亚洲日本www| a网站在线观看| V一区无码内射国产| 一区二区三区成人| 毛片久久久| 中文天堂在线视频| 91精品国产自产91精品资源| 东京热高清无码精品| 亚洲色精品国产一区二区三区| 九色91在线视频| 亚洲女同欧美在线| 夜夜爽免费视频| 国产美女无遮挡免费视频| 成人免费网站久久久| 欧美人与动牲交a欧美精品| 亚洲国产欧美中日韩成人综合视频| 国产成人免费手机在线观看视频| 啪啪永久免费av| 99热这里只有精品2| 男人天堂亚洲天堂| 国产精女同一区二区三区久| 凹凸国产分类在线观看| 精品一区二区三区无码视频无码| 色亚洲成人| 91麻豆国产视频| 午夜欧美在线| 99色亚洲国产精品11p| 成人伊人色一区二区三区| 粉嫩国产白浆在线观看| 波多野结衣国产精品|