随着网络的迅猛发展和JAVA语言的流行,许多公司都开始使用JSP来开发自己的动态网站,在Windows系统下配置JSP环境是一件比较容易的事情......
五、 详细过程
1、安装JDK
其实不存在什么安装,只需要将JDK拷贝到一个固定目录就可以了。这里笔者采用JDK-1.2.2的二进制版本。对于采用1.1.x的读者,如果是选择了static的方式 将Apache和ApacheJserv整和,出现故障的时候可以采用DSO模式(建议JDK-1.1.x版本的都采 用DSO模式比较好)。
#tar xfz JDK-1.2.2-linux-i386.tar.gz
#mv JDK-1.2.2 /www/JDK122
2、安装JSDK
和安装JDK道理一样,只需要解包后拷贝到一个固定目录就可以了。 不过要注意的是,这里实际上只是用到这个包的jsdk.jar文件,所以一定要知道这个文件的路径。
#tar xfz jsdk-2.0.tar.gz
#mv JSDK-2.0 /www/jsdk
#ls -l /www/jsdk/lib
total 80 -r--r--r-- 1 root root 76453 Jun 28 01:03 jsdk.jar
3、apache基本配置
这个其实并不能说是真正的配置,只是在第一次解包的时候要生成一些必须的.h文件才需要 的一步而已。相当于预配置。
#tar xfz apache_1.3.12.tar.gz
#cd apache_1.3.12
#./configure
#cd ..
这样就会生成了诸如httpd.h等的头文件。如果没有这些文件的话,以后配置ApacheJserv或者 Php3等都会报错的。
4、ApacheJserv配置与编译
这里需要使用的指令至少有:
--with-apache-src= (指定了apache源码的路径,用于static方式的编译)
--with-jdk-home= (指定jdk的根目录)
--with-JSDK= (指定jsdk.jar的目录,注意是大写的JSDK!!!)
至于其他的并不是一定要写,但是建议还是要指定诸如安装目录,jdk平台号码(1或者2)等。 其中java-platform是这样指定的:即如果使用的是jdk-1.1.x的就是1(默认是1,可以不写)。如果是jdk-1.2.x就指定是2。
#tar xfz ApacheJserv-1.1.2.tar.gz
#cd ApacheJserv-1.1.2
#./configure --with-apache-src=../apache_1.3.12 --prefix=/www/jserv \
>--with-jdk-home=/www/jdk122 --with-java-platform=2 \
>--with-JSDK=/www/jsdk/lib/jsdk.jar --disable-debugging
#make
#make install
#cd ..
5、Apache的配置编译
关于Apache的配置很多文档都有说明,这里就不赘述了。
#cd apache_1.3.12
#./configure --prefix=/www/httpd --activate-module=src/modules/jserv/libjserv.a
#make
#make install
6、gnujsp安装
其实只是需要gnujsp-1.0中的几个jar文件而已。
#tar xfz gnujsp-1.0.tar.gz
#mkdir /www/gnujsp
#cp gnujsp-1.0/lib/*.jar /www/gnujsp
#mkdir /www/gnujsp/bean_jsp
#ls -l /www/gnujsp
drwxr-xr-x 10 root root 4096 Sep 15 15:56 bean_jsp/
-rw-rw-r-- 1 root root 125972 Sep 15 12:55 gnujsp10.jar
-rw-rw-r-- 1 root root 153015 Sep 15 12:55 gnujsp10test.jar
-rw-rw-r-- 1 root root 37291 Sep 15 12:55 servlet-2.0-plus.jar
-rw-r--r-- 1 root root 38826 Sep 15 12:55 servlet-2.1.jar
7、Jserv配置文件的编辑
这个是jsp是否能够正确解析使用的关键,也是本文的重点。
关键点在于设置好jserv的相关文件:
jserv.conf
jserv.properties
zone.properties
或者新建立一个properties文件,编辑的顺序大概是:
jserv.conf-->jserv.properties-->zone.properties-->自定义的properties文件。
现在假设你需要定义一个叫gsp的zone,那么可以按照以下步骤和方法编辑相关内容:
*jserv.conf
在编辑这个文件前,请将"include /www/jserv/etc/jserv.conf"这句 添加到apache的httpd.conf文件内。文档中说这句话可以放到任何地方,不过经过实践发现:最好还是放到httpd.conf的末尾!!!!!
你可以这样运行:
#echo "include /www/jserv/etc/jserv.conf" >> /www/httpd/conf/httpd.conf
做好后,再用例如vi编辑器编辑jserv.conf。如果你想记录(log)jserv的所有动作,那么最好是允许log,去掉以下语句注释:
ApJServLogFile /www/jserv/logs/mod_jserv.log
然后找到"# Mount point for Servlet zones"这行,这里是定义Servlet zones 的mount点的(类似linux的安装点)。我们加入以下这行:
ApJServMount /gsp /gsp
接着找到ApJServAction关键字,加入以下这行:
ApJServAction .jsp /gsp/gnujsp
这个是定义了.jsp文件是给gnujsp解析的。这样jserv.conf文件就基本设置好了。
*jserv.properties
这里要设置一下wrapper.classpath,找到wrapper.classpath关键字,添加以下这行:
wrapper.classpath=/www/jdk122/lib/tools.jar
接着找到"# Servlet Zones parameters"这行,修改zones=root成为:
zones=root,gsp (添加gsp这个zone)
接着下面几行在 root.properties=/www/jserv/etc/zone.properties后添加定义gsp的properties行:
gsp.properties=/www/jserv/etc/gsp.properties
基本上jserv.properties就设置好了。
*gsp.properties
至于zone.properties就不需要设置,因为这里定义了一个新的zone-->gsp,起作用的是gsp.properties。
找到: # List of Repositories 这行,然后添加以下几行:
repositories=/www/gnujsp/gnujsp10.jar
repositories=/www/gnujsp/servlet-2.0-plus.jar
repositories=/www/gnujsp/bean_jsp
其中第三行是定义了bean的响应目录,这个目录可以随便定义。但是必须是真实存在的。
找到"# Servlet Aliases" 这行,添加别名行:
servlet.gnujsp.code=org.gjt.jsp.JspServlet
servlet.gnujsp.initArgs=checkclass=true,\(请注意不要断行回车)
%classpath%:%scratchdir%:/www/gnujsp/servlet-2.0-plus.jar
:/www/gnujsp/gnujsp10.jar
:/www/gnujsp/bean_jsp -d %scratchdir% -deprecation %source%
其中第二行开始到最后结束其实是同一样,由于篇幅问题才加入了换行符号。 请大家一定要注意尽量使用同一行!!!!!!!,并且注意其中的符号不可以缺少任何一个。
其中一些参数做一下解释:
pagebase意思是允许解析jsp文件的起始目录。
scratchdir是生成的.java 和.class文件的临时目录。
请大家一定要注意这个目录必须对nobody是可写的!!!所以必须用chown命令将这个目录的owner和 group改成nobody。
其后的是classpath是定义搜索的路径,其中要包括bean的目录,否则没办法使用bean的。另外你也可以增加多几个类似的目录,但是必须在以上文件中都要有定义。
至此:基本的设置就全部完成了。接下来就可以进行测试了。