jsp相对于php来说,可能运行得更快,消耗系统资源更少,功能更为强大――例如对分布式处理和组件支持等等。jsp技术在国外已经相当普及,而在国内,只不过还是刚热起来而已……虽然现在asp+在性能上给jsp带来严峻的挑战,但它作为微软以外的一个选择,又支持多平台,所以还是很多网站所采用的首选。在这一部分里,我们将讲解三种不同的jsp集成方案,代表着三种典型的应用范围。
linux+apache+php+jsp的resin解决方案
首先向大家推荐的是resin。resin是快速的、容易配置和实施的、使用简单的jsp/servlet引擎和web服务器。这一点完全是无庸置疑的,无论是在windows平台还是在unix/linux平台。然而目前的resin 1.3 还不是一个应用服务器。不过resin 2.0版有望取得很大的突破。因为它将包含一些最新的j2ee特性。resin在jsp tags、xml解析等方面投入都比较早,现在也是处于比较领先的地位。而apache.org的tomcat更象是一个开发研究的产品。如果让我来做一个网站,resin肯定是我的首选――相信泛舟也是如此认为的。
我们将在linux+apache+php的web服务解决方案中加入jsp的支持,这也许是您升级网站的需要。就算你不需要php也没有关系,下面我也会讲解如何做到这一点。
1、软件包的获取
jdk是所有支持jsp环境所必须的,可以从http://java.sun.com获得它for linux的最新版本,现在好象是jsdk v1.3。
resin可以从它的老家http://www.caucho.com获得它的最新版本。在5月初的时候它的最新稳定版是1.2.5。
至于apache什么的,请参考上一节有关内容。
2、安装jdk
在安装resin前,最好先安装好jdk,如果是下载的rpm包的话,可以使用
rpm -uvh java_version.rpm
如果是下载的gnu压缩包的话,直接解压就可以了。
别忘了确认java运行所需要的一些基本设置,可能包括path、java_home、classpath,例如可以把这些行加入/etc/profile文件里:
resin将显示它监听的每一个端口。在上面这个例子中,resin的http服务使用了8080,servlet支持协议使用了6802端口。也就是说mod_caucho只可以在本地的6802端口和resin连接通信,但你可以通过8080端口在任何主机上浏览resin服务器的内容。
下面这个片段显示了http和srun在上面这个例子中的配置。
...
呵呵,现在你可以使用一些简单的脚本来测试你的jsp环境了。
附注:wrapper.pl
resin使用一个perl的脚本,resin1.2/bin/wrapper.pl,来控制java进程。((bin/httpd.sh只是一个调用wrapper.pl的微型脚本而已)。你可以通过修改bin/httpd.sh或者bin/wrapper.pl来设定你的配置。
wrapper.pl在resin结束的时候自动重起它。假如你需要使用kill命令停止resin,你需要先用kill命令杀掉wrapper.pl进程("httpd.sh stop"就是通过kill了wrapper.pl进程来实现的。