您的当前位置:首页Tomcat和Apache集成支持JSP技术探讨

Tomcat和Apache集成支持JSP技术探讨

2022-12-06 来源:飒榕旅游知识分享网
  ・12・计算机应用研究2003年

Tomcat和Apache集成支持JSP技术探讨

边清刚,潘东华

(大连理工大学系统工程研究所,辽宁大连116024)

摘 要:介绍了JSP,Tomcat,Apache的产生、发展,对Tomcat和Apache作为服务器的功能进行了比较,描

述了Tomcat的安装和配置,讨论了Tomcat和Apache集成,并对两者结合的配置做了详尽的阐述。重点突出了与以前版本之间集成的不同。关键词:JSP;Tomcat;Apache;集成中图法分类号:TP312JA   文献标识码:A   文章编号:100123695(2003)0620012203

TheResearchofTomcatSupportingJSPTechnologyIntegratingwithApache

BIANQing2gang,PANDong2hua

(InstituteofSystemsEngineering,DalianUniversityofTechnology,DalianLiaoning116024,China)

Abstract:ThepaperdescribesthedevelopmentofJSP,Tomcat,Apache,andthedifferencebetweenTomcatandApache,andintegrat2ingofTomcatwithApache.Atthesametime,thepapergivesaparticulardescriptionoftheconfiguringoftheTomcatandApache,andemphasizesonthedifferencebetweenTomcat4andTomcat3.LastlyanexampleisgiventodescribetheresultofthemakingTomcatwithApache.

Keywords:JSP;Tomcat;Apache;Integration1 引言

近年来,IT行业涌现了一大批能够构建Web应用系统、支持动态处理的程序设计技术,如ASP,PHP,Perl等。但只有20世纪末诞生的JSP,一问世就吸引了各大软件开发商的注意,表现出了强大的生命力。由于JSP技术不仅能够跨平台和兼容各种Web服务器产品,还把强大的服务器端Java技术有机地融合到了静态网页的构造中去,因此,利用JSP技术可以建立跨平台、可靠性高和先进的动态网站。

Tomcat是ApacheJakarta的子项目之一。作为一个优秀的开放源代码的Web应用服务器,Tomcat基于Java技术,全面支持JSP1.2以及Servlet2.3规范(Tomcat4.0以前版本支持JSP1.1以及Servlet2.2,Tomcat5.0将支持JSP2.0以及Servlet2.4)。因其技术先进、性能稳定,而且免费,因而得到了许多软件开发商的认可,成为目前比较流行的Web应用服务器。1996年4月起,Apache成为全球最流行的WebServer。2002年7月,NWSS(NetcraftWebServerSurvey)调查发现[1],全球57%的站点应用A2pache,这比所有其它WebServer应用之和还要多。A2pache是一个自由软件,其志在为各种网络操作系统提供安全、可靠的WebServer。

Tomcat作为独立运行的服务器使用,存在一些问

收稿日期:2002208224;修返日期:2002210206

题:①在解释静态网页时,Tomcat没有Apache快;②Tom2

cat的鲁棒性没有Apache好;③Tomcat的可配置性没有Apache好;④这也可能是最主要的,许多网站由于长期投资于Apache服务器,比如使用Perl或者PHP脚本语言等,全部放弃原来的内容和形式是不可能的。针对这些原因,Apache+Tomcat配合使用,Apache来解释静态网页的内容,而Tomcat来解释JSP,作为JSP的引擎。对于一个大型的,像Amazon.com这样的,以JSP为脚本的动态网站,采用Apache+Tomcat这样的结构具有更突出的优点,它主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(如各类图像GIF,JPG,PNG和流式媒体等)。

对于两者的配合使用,有一些文章[2,3]进行了描述,但是仅限制在Tomcat4.0以前的版本。Tomcat4.0版本以后,它与Apache的集成配置和以前版本相比有了很大的变化。以往的版本在设置完成以后,Web内容需要放置在WebApps目录下面。在浏览器中只输入域名或IP,也不能实现直接对网页的访问,还需要加上一个相对路径,如http://localhost/examples/index.jsp。我们在建立动态网站的时候,想自己设立Web文件夹,在访问网站的时候,一般不喜欢在输入域名或IP以后,再输入类似/examples/这样的相对路径。本文就Tomcat4.04的安装配置、Tomcat4.04和Apache集成配置及如何实现动态网站Web根目录的随意放置和浏览器中直接输入域名

第6期边清刚等:Tomcat和Apache集成支持JSP技术探讨  ・13・

或IP,就可以实现对网站的访问做了探讨。

2 Tomcat4的安装及配置

211 JDK的安装及配置

要执行Java程序,JDK是必须要安装的。JDK是免

费的软件,可以从SUN官方网站上下载。现在常用的版本是1.3[4]。

(1)对于WINNT操作系统,下载软件j2sdk21302win,解压安装到C:\\jdk1.3,设置系统环境变量:

JAVA

HOME=c:\\jdk1.3

CLASSPATH=C:\\jdk1.3\\lib;c:\\jdk1.3\\lib\ools.jar;C:\\jdk1.3\\lib\\dt.jar;C:\\jdk1.3\\lib\\htmlconverter.jar

PATH=C:\\jdk1.3\\bin

Tomcat自己作为服务器已经成功!如果想停止Tomcat的运行,可以在Bin文件夹下运行Shutdown或./shut2down.sh(Linux),Tomcat服务就可以停止。

3 Tomcat和Apache的集成

在集成Tomcat和Apache的过程中有两步需要我们来做:①Apache的安装配置,使Apache能够访问Tomcat;②Tomcat能够识别和回应来自Apache的访问。311 Apache的安装和配置

对于Apache,我们可以在Apache的官方网站:http://www.apache.org上下载。Apache最新版本为2.0.40,稳定版本为1.3.26。下载Apache1.3.26:

在WINNT操作系统中解压安装在C:\\apache目录下。

在Linux操作系统中比较复杂一些,在这里我们加以详细解释,使用命令如下:

mkdir/usr/local/httpd

tarzxvfapache1.3.26.tar.gzcdapache1.3.26

./configure2prefix=/usr/local/httpd2enable2module=somakemakeinstall(2)在Linux操作系统中,下载J2sdk21.linux2i586.bin,首先改变其权限:

chmoda+xJ2sdk21.31042linux2i586.bin

31042

该文件变成一个可执行文件,然后执行如下命令:

./J2sdk21.31042linux2i586.bin2prefix=/usr/local/jdk1.3

此时需要做的工作就是配置Linux系统中的环境变量。这里有两种方式可以用,一种是打开/etc/profile文件,添加如下内容:

JAVA

HOME=/usr/local/jdk1.3

CLASSPATH=/usr/local/jdk1.3/lib:/usr/local/jre/libPATH=S|PATH:/usr/local/jdk1.3/bin:/usr/local/jre/binExportJAVA

HOME

ExportCLASSPATH

另一种方法是在/usr/root目录下:

vi.bashprofile

按键I,插入以下语句:

JAVA

HOME=/usr/local/jdk1.3

HOME

ExportJAVA

在Configure命令中,指定了目标安装目录,并且加入了DSO(DynamicSharedObject)支持。注意的是一定不要忘了这一项,否则对于下面你要加入的模块不予支持。

在Apache的官方网站下载WebApp模块,将解压后的Modwebapp.so放入Apache(WINNT)或Httpd(Linux)的Modules目录,然后编辑Conf文件夹里的Httpd.conf文件,使其能够装载Modwebapp.so。在Httpd.conf文件的最后加入下面六行(这在任何操作系统中都一样):

###############################AddedbyMr.BIAN#########LoadModuleWebapp

modulemodules/modWebapp.so

WebAppConnectionMyconnectionwarplocalhost:8008WebAppDeployMyJspMyconnection/

########################

CLASSPATH=/usr/local/jdk1.3/lib:/usr/local/jre/libExportCLASSPATH

PATH=S|PATH:/usr/local/jdk1.3/bin:/usr/local/jre/bin

然后按键Esc,输入:wq就退回命令行状态。Linux中环境变量就设置完毕。212 Tomcat4的安装

Tomcat可以从Apache的网站http://jakarta.apache.org下载jakarta2tomcat24.0.4.zip(WINNT)或

jakarta2tomcat24.0.4.tar.gz(Linux)解压安装至C:\omcat(WINNT)或/usr/local/tomcat(Linux)。

对Tomcat进行环境变量的设置。在WINNT操作系统中加入:

CATALINABASE=C:\omcatCATALINA

HOME=C:\omcat

其中第一、六行做一个隔离,表明加入的东西有别于Httpd.conf文件中的其余部分;第二行表明加入该段内容的作者,以便将来寻找责任人或者便于修改;第三行是加入WebApp模块,如果在Linux操作系统中编译A2pache时没有增加DSO支持,即2enable2module=so这句话,加入的LoadModule就无法使用;第四行指定Tomcat与Apache的连接;第五行部署应用。第四、五行要结合

[5~7]

在一起使用,两者格式指令如下:

WebAppConnection[connectionname][Provider][forwardHost:port]WebAppDeploy[Appname][connectionname][pathtoApp]

在Linux操作系统中在/root/.bashfile文件或/etc/

profile文件中加入如下语句:

CATALINABASE=/usr/local/tomcatCATALINABASE=/usr/local/tomcat

进入Tomcat所包含的文件夹Bin运行Startup或./startup.sh(Linux),在浏览器中输入http://localhost:8080,就可以看到Tomcat自带的JSP和Servlet例程,这说明

其中Connectionname指定连接名,可以定义你喜欢的名称。但第四、五两行要统一,需要一个一致的名字。Provider只能是Warp,不能做改动。Port端口号用来告诉Modwebapp模块应该把请求发向什么地方。WebAp2pDeploy通知Modwebapp模块把所有的请求发向应用服务器上的特定目录。Appname是服务器上的文件目录名字。pathtoApp就是登录网站时的URL(统一资源定位

  ・14・计算机应用研究

2003年

器)。例如http://www.cctv.com/tvonline/real.html,在笔者所列的设置中,我们设置为/,改变以往资料中设置为/examples/的惯用格式,这样在浏览器中可以直接输入域名或者IP就可以访问该网站中的以Index为文件名,jsp,htm,html为扩展名的文件,不必再加上相对路径如/examples/等,比较符合大众访问网站的习惯。312 修改Tomcat配置接收Apache请求

Apache能够向Tomcat发送请求,现在我们需要做的是让Tomcat处理Apache的请求。

Tomcat的配置文件Server.xml位于自己安装目录包含的Conf文件夹中。打开该文件,找到这句话及其下面所有信息:

Port=″8008″minProcessors=″5″maxProcessors=″75″enableLookups=″true″appBase=″WebApps″acceptCount=″10″debug=″0″/>

存盘,进行综合测试,重新启动所有的服务。注意:

首先启动Tomcat服务,启动完毕后,启动Apache服务。

Linux操作系统中:

/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh/usr/local/httpd/bin/apachectlrestart

WinNT操作系统中:

C:\omcat\\bin\\shutdown.batC:\omcat\\bin\\startup.bat

在程序中,重新启动Apache。在浏览器中输入以下地址http://localhost或者本机的IP,则可以输出如图1所示的结果。

333333

图1 结果显示这段配置信息定义了Tomcat回应Apache的连接,这

里面需要小小的修改来适合我们的安装。经过多次尝试,笔者得出,只要对appBase参数进行修改就可以了:

在WinNT操作系统中,appBase=″d:/wwwroot″在Linux操作系统中,appBase=″/wwwroot″

浏览器自动找到对应文件夹下的Index.jsp,并自动

加上该文件的名称Index.jsp。5 结束语总的说来,新版本的Tomcat和Apache的集成配置过程,比以往版本的配置都要困难,因为缺少比较全面的文档来说明Tomcat版本之间发生了哪些变化。本文对Apache+Tomcat配置过程在Linux7.2,Linux7.1,Windows2000Server操作系统中反复论证过。在这里,我们做了两点小小的进展:一是Web根目录位置任意设定,可以自行规定,不用像许多资料所说的那样,必须设置在Tomcat下面的WebApps中;二是浏览器中输入域名或者IP可以实现访问网站,不比再加上类似/examples/的目录(相对路径)。实现直接对网站的访问,只是迈出了必需的第一步。配置过程中,仍有许多的知识点值得我们去探索。参考文献:

[1]TheApacheSoftwareFoundation.TheNumberOneHTTPSer2

verontheInternet[EB/OL].http://httpd.apache.org,2002208201.

[2]赵东.利用Apache和Tomcat构建支持Servlet的动态网站

[J].计算机应用研究,2000,17(11):47249.[3]刘冲,等.配置Tomcat使Apache服务器支持Java动态网

页编程[J].计算机应用,2001,21(8):1092110.

[4]SunMicrosystems.DownloadCenter[EB/OL].http://wwws.sun.

com/software/download/,2002208201.[5]DonMacVittie.MakingTomcatWorkwithApache[EB/OL].

http://dcb.sun.com/practices/howtos/tomcatapache.jsp,2001211220.[6]宗峰.Tomcat全攻略[EB/OL].http://www2900.ibm.com/

developerworks/cn/java/l2tomcat/index.shtml,20012121

[7][美]MarkWutka1JSP和Servlet程序设计使用专辑[M].程

显华,等1北京:机械工业出版社,2002.

需要注意的是appBase的设置内容为你的网站的根路径!这改变了以往认为虚拟目录的物理路径必须放在Tomcat包含的WebApps目录下的观点。Apache配置中Appname参数必须是你设置的app2Base中的一个文件夹。如上面所描述,我们在Apache配置文件中加的Myjsp文件夹就在wwwroot目录中。

Tomcat的配置文件Web.xml也位于Conf文件夹里。打开该文件,将对文件进行如下配置:

index.htmlindex.htmindex.jsp改为:

index.jspindex.htmindex.html

这样做的目的在于浏览器中输入域名或IP后,即按顺序搜索Index.jsp,Index.htm,Index.html,如果发现以后,不用人为输入文件名,服务器可以自动调出该文件并显示。修改完毕后,保存文件。

4 JSP网页发布实例

我们在wwwroot/MyJsp文件夹里面,用记事本编写一个简单的Index.jsp文件,内容格式如下:

FirstJSPpage

<%=newjava.util.Date()%>

<%=″hello,thisisBIANQinggang’sfirstJSPpage″%>

<%=″MyEmail:bqgang@sina.com″%>

作者简介:

边清刚(19772),男,山东临邑人,硕士研究生,主要研究方向

为计算机网络、知识管理;潘东华(19602),男,辽宁朝阳人,副教授,主要研究方向为计算机网络、决策支持系统、知识管理。

因篇幅问题不能全部显示,请点此查看更多更全内容