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・计算机应用研究