从网上下了Jforum,做BBS发布,在部署过程中遇到一问题:tomcat下可以正确运行,但是在如果用apache2做前端,则报错,404,找不到页面,google了很久,发现是Jforum中用了servlet-mapping的缘故,查了资料还是无效。只有自己动手了,从servlet-mapping的原理出发,就是将页面的请求转发到srvlet处理,我就在Apache中做了转发,问题解决。下面是我的两个配置文档:
1、apache2中的虚拟主机配置
<VirtualHost 10.1.1.254:80>
<Directory "/var/j2e/jforum/" >
DirectoryIndex index.htm index.html index.jsp index.php
#AddDefaultCharset utf8
</Directory>
ServerAdmin help@126.com
DocumentRoot "/var/j2e/jforum/"
ServerName jforum.j2elocal.com
ErrorLog /var/log/apache2/jforum/jorum-error_log
CustomLog /var/log/apache2/jforum/jforum-access_log common
#JkMountCopy On
#JkMount /* worker1
JkMount /*/servlet/* worker1
JKMount /*.page worker1
#JkMount /*/*.page worker1
JkMount /*.jsp worker1
</VirtualHost>
2、tomcat虚拟主机中的web.xml
<servlet-mapping>
<servlet-name>jforum</servlet-name>
<url-pattern>*.page</url-pattern>
</servlet-mapping>
注意红色部分!