当前位置:Linux教程 - Apache - apache - apache+apacheJserv

apache - apache+apacheJserv

apache+apacheJserv
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

环境:mdk7
首先使用BJLC光盘上的jdk1.2pre2
具体装过程略
rpm: apache-1.3.9 apache-devel jsdk-2.0
tgz: Apache-Jserv1.1 gnujsp-1.0.0
解开Jserv的src
./configure --enable-EAPI --with-JSDK=/usr/lib/classes/jsdk.jar
--with-apxs=/usr/sbin/apxs
应该没有问题,很顺利编译通过
再/etc/httpd/conf/httpd.conf
在最后(一定要在最后否则有很多小麻烦)
Include ./jserv/jserv.conf
重新启动apache
http://localhost/servlet/Hello
如果能看到应该就差不多了
试http://localhost/jserv/
一般是403 forbidden
如果是forbidden
修改
jserv.conf
搜索Location
里面有一段allow
改成allow localhost.localdomain
好像就可以了
用localhost或者是127.0.0.1都不行
反正这是我碰到的倒霉事希望大家能一次成功
到这apache-jserv就算是完成了,也就是有了
一个servlet容器并且有了在apache里面的模块
能够同这个容器进行通信,通信协议最好用
apjv12,反正所由地方都设成apjv12就没有问题
否则很可能出现不匹配的情况,最后导致
500错误,在log中显示malformed fata
前面提到servlet容器建好了
Jserv调通了,还有两个很有用的log文件
在我的mdk7里面是
/usr/logs/里面的mod_jserv.log和jserv.log
这两个文件在调试中极有用
它们的权限要求nobody可以写
所以我的做法是
chmod 664 *
chgrp nobody *
大牛是不是这样做,我不知道
可能这样会有安全性问题
前面如果你看到了jserv的状态页点击apjv12://localhost:8007
应该能够看到各个zone的配置
如果看不到应该收到所谓selfservlet一个选项
没有打开的提示,打开就好了好像是在jserv.properties里面
接下来是搞gnujsp
解开了会发现jsp是完全用java写成的例程
主要是两个gnujsp-...jar和servlet-...jar
反正我用的是gnujsp10和servlet-2.0-plus
拷到/usr/servlet/jsp(这是随便给的)
编写gjsp.properties文件

关键是
servlet.gnujsp.class=org.gjt.jsp.JspServlet
servlet.gnijsp.initArgs=checkclass=true, //这样编译好的jspservlet可以利用
pagebase=/home/httpd/html,
scratchdir=/usr/servlets/jsp/scratch, //这里要有文章
debug=true, //先打开,调好了再关掉
compiler=builtin-javac -classpath //这里builtin-javac需要jdk1.2的tools.jar
%classpath%:%scratchdir%:/usr/servlets/jsp/gnujsp.jar:
/usr/servlets/jsp/servlet.jar:/usr/servlets/jsp/beans //指定编译用的classpath
-d %scratchdir% -deprication %source% //就是编译一个普通的java文件一样

首先要注意你选择的scratchdir一定要nobody可写,其次使用builtin的javac
需要在jserv.properties加上
wrapper.class...=/usr/jdk1.2/lib/tools.jar (这是我安装的路径)
到这里jsp的zone就差不多了

现在开始在jserv.properties里面指明zones
很简单不废话了

最后是在jserv.conf里面作mount,照着例子写
也不难,前面有人贴过了
最后就可以试试自己的jsp了
首先先从http://localhost/jserv/
里面看一看jsp的zone配制出来没有
验证一下参数都正确

====================================================================================================

1.先确认apachejserv已能正常工作
2.把gnujsp10.jar,servlet-2.0-plus.jar拷到/home/httpd/sevlets目录下
3.修改jserv.conf,加入
ApJServAction .jsp /servlets/org.gjt.jsp.JspServlet
ApjServMount /java /root(这个目录主要是用来存放jsp生成的java
和class文件,可视具体情况而定)
4.修改jserv.properties,加入
wrapper.classpath=/usr/jdk/lib/tools.jar
wrapper.classpath=/home/httpd/servlets/gnujsp10.jar
wrapper.classpath=/home/httpd/servlets/servlet-2.0-plus.jar
5.修改zone.properties,加入
repositories=/home/httpd/java/
servlet.gnujsp.code=org.gjt.jsp.JspServlet
servlet.org.gjt.jsp.JspServlet.initArgs=checkclass=true
servlet.org.gjt.jsp.JspServlet.initArgs=scratchdir=/home/httpd/java
servlet.org.gjt.jsp.JspServlet.initArgs=compiler=builtin-javac -encoding %enco
ding% -classpath %classpath% -d %scratchdir% -deprecation %source%