如何让servlet在整合后的Apache2+Tomcat5的80端口运行

Arthurz 2004-03-25 04:41:27
请看清问题,再做回答谢谢

我已经成功地整合了 Windows XP Pro + Apache 2.X + Tomcat 5.X +Mysql 4 + JK2

在WEB发布目录下,建立JSP文件,如test.jsp文件(内容不重要)
用http://127.0.0.1:8080/test.jsp和http://127.0.0.1:8080/test.jsp均能成功访问执行

当我再建一个Servlet时,我把编译好的class文件放在 ../WEB-INF/classes目录下,并在../WEB-INF/web.xml 做了servlet部署
如下

<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>

我能成功访问http://127.0.0.1:8080/hello,正确显示结果
但不能http://127.0.0.1/hello访问

请问哪位高手能有解决方法,小弟是新手

注意哦:一定要看完问题再回答哦 ,解决了再加100分
...全文
50 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arthurz 2004-03-26
  • 打赏
  • 举报
回复
软件准备:

J2SDK 1.5 beta1 http://java.sun.com
Apache 2.0.48 http://archive.apache.org/dist/httpd/
Tomcat 5.0.19 http://archive.apache.org/dist/jakarta/tomcat-5/
Mysql 4.0.18 http://www.mysql.com/downloads/index.html
Mysql Control Center 0.9.4 http://www.mysql.com/downloads/index.html
Mysql MySQL Connector/J 3.1 http://www.mysql.com/downloads/index.html
mod_jk2-2.0.43.dll http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/

1. J2SDK安装与环境配置

1.1 安装J2SDK可以按自己的意愿随意安装在任何目录

1.2 设置环境变量(以本人的安装目录为例)

在我的电脑上右键->高级->新建变量

变量 变量值
JAVA_HOME D:\Program Files\Java\j2sdk1.5.0
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\jre\lib\rt.jar;%TOMCAT_HOME%\common\lib\mysql-connector-java.jar;%TOMCAT_HOME%\common\lib
PATH %JAVA_HOME%;%JAVA_HOME%\bin
TOMCAT_HOME c:\Tomcat 5.0

注:变量的具体值,请根据自己的情况设置,以上可以做为参考,其中mysql-connector-java.jar文件及TOMCAT_HOME将在下文陆续介绍

2. Apache 2.0.48的安装与配置

2.1 Apache 的安装按照默认安装即可,我的安装目录是C:\,安装完成后在C:上会有一个Apache2的目录,下文我以$Apache_Dir表示此安装目录

2.2 Apache的配置

2.2.1 在$Apache_Dir/conf目录下新建一个workers2.properties的文本文件,内容如下

#---------------------------------------------------------------
[shm]
#根据自己的安装目录更改
file=c:/apache2/logs/shm.file
size=1048576

# socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#tomcatid=127.0.0.1:8009

# worker for the connector
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

#------------------------------------------------------------------

2.2.2 修改$Apache_Dir/conf/httpd.conf文件,用任一文本编辑器打开

2.2.2.1 搜索 "DocumentRoot" 关键字,将原来的设置改为

#------------------------------------------------------------------
#根据自己设定的目录,d:/webapps为我的WEB发布根目录

DocumentRoot "d:/webapps"

#-------------------------------------------------------------------

2.2.2.2 搜索 "DocumentRoot to" 关键字,也就是在上面一段的下方几行
找到,并修改为WEB发布目录,与DocumentRoot一致,也与TOMCAT的发布目录一致
#-------------------------------------------------------------------
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "d:/webapps">

2.2.2.3 搜索 "AddDefaultCharset ISO-8859-1"
改为

#------------------------------------------------------------------

#添加中文支持
# AddDefaultCharset ISO-8859-1

AddDefaultCharset GB2312
DefaultLanguage GB2312
AddLanguage zh-cn .cn

#-------------------------------------------------------------------
2.2.2.4

#------------------------------------------------------
LoadModule jk2_module modules/mod_jk2.dll

<Location "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</Location>

<Location "/servlet/*">
JkUriSet worker ajp13:localhost:8009
</Location>
#------------------------------------------------------



--------------------------------------------------------------------------------
需要注意的,这里是jk2_module不是jk_module,两者的配置方法是不一样的,JK2更为强大

这里的目的是将以下位置的相应后缀名的文件提交到TOMCAT,由TOMCAT来解释执行,因为Apache执行纯HTML文件的效率要比TOMCAT高得多.这里为了提高执行效率,建议将Servlet放在单独一个目录下,并且只放入Servlet文件."/servlet/*"表示WEB发布目录下servlet目录下的所有文件,/*.jsp表示WEB发布目录下的所有*.jsp文件,大家可以根据需要添加

Arthurz 2004-03-26
  • 打赏
  • 举报
回复

只有我可以看呀
我发到下面来
zcjl 2004-03-26
  • 打赏
  • 举报
回复
这篇文章还没有审批通过,请稍后……
(说明:推荐给《程序员》杂志的文章只有没被采用,或者已经在杂志上发表了,才会审批通过。)
--------------

What's wrong?
Arthurz 2004-03-26
  • 打赏
  • 举报
回复
我已经总结出来了,不知道你们能不能看到...

http://www.csdn.net/Develop/read_article.asp?id=26064
http://www.csdn.net/Develop/read_article.asp?id=26065
http://www.csdn.net/Develop/read_article.asp?id=26068

人来了我再开帖给分哦
zcjl 2004-03-25
  • 打赏
  • 举报
回复
“一会儿我就总结一下,把详细配置过程给搞出来”
-----------------------

果然是好同志
^_^
Arthurz 2004-03-25
  • 打赏
  • 举报
回复
up一下,再次感谢各位,一会儿我就总结一下,把详细配置过程给搞出来
Arthurz 2004-03-25
  • 打赏
  • 举报
回复
我晕呀,管理功能现在怎么坏了呀
我记得给你们 zcjl() CoolAbu(阿卜-Never Stop(★★★★)) 一人100分

Leemaasn(呆鸟一号) 50分吧

我的信誉哦,可不能掉...
Arthurz 2004-03-25
  • 打赏
  • 举报
回复
果然呀,嘿嘿,已经完美解决了,谢谢各位
我马上送分哦
CoolAbu 2004-03-25
  • 打赏
  • 举报
回复
Arthurz(伤心小箭):

你也试着举一反三看看呀,Apache和TOmcat的连接基本就是这样的,应该没有什么问题的。
zcjl 2004-03-25
  • 打赏
  • 举报
回复
举一反三,在后面加上:

<Location "/*">
JkUriSet worker ajp13:localhost:8009
</Location>

试试看吧
zcjl 2004-03-25
  • 打赏
  • 举报
回复
举一反三,在后面加上:

<Location "/*">
JkUriSet worker ajp13:localhost:8009
</Location>

试试看吧
wandou999 2004-03-25
  • 打赏
  • 举报
回复
http://localhost:8080/fileName/servlet/xxx(无扩展名);
Arthurz 2004-03-25
  • 打赏
  • 举报
回复
谢谢 CoolAbu(阿卜-Never Stop) 你的答复
可是你用的是
LoadModule jk_module modules/mod_jk2.dll
我用的是
#------------------------------------------------------
LoadModule jk2_module modules/mod_jk2.dll
<Location "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</Location>

<Location "/servlet/*">
JkUriSet worker ajp13:localhost:8009
</Location>
#------------------------------------------------------

设置是不太一样的
zcjl 2004-03-25
  • 打赏
  • 举报
回复
同意阿卜
CoolAbu 2004-03-25
  • 打赏
  • 举报
回复
上面贴的是我得配置,我测试过的,没有问题。
CoolAbu 2004-03-25
  • 打赏
  • 举报
回复
你最好把你的apache的conf下的httpd.conf贴出来,一般在最后面

JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /* ajp13 //把这个/*加上,要不然Apache桥接不过去。
Arthurz 2004-03-25
  • 打赏
  • 举报
回复
...
写错了,是http://127.0.0.1/test.jsp和http://127.0.0.1:8080/test.jsp都能成功访问
Leemaasn 2004-03-25
  • 打赏
  • 举报
回复
我记得前个星期有人和我说,他已经成功整合了,

但是我忘记他的ID了,真不好意思。

不然你可以发消息给他。

Leemaasn 2004-03-25
  • 打赏
  • 举报
回复
哈,我看问题仔细吧。。。
多了个8080都被我找出来了。

嘿嘿嘿。
Leemaasn 2004-03-25
  • 打赏
  • 举报
回复
这句话是不是有问题?

“用http://127.0.0.1:8080/test.jsp和http://127.0.0.1:8080/test.jsp均能成功访问执行”


这种整合很简单的。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧