在MyEclipse整合Tomcat开发WebProject的问题?

kyjt80 2008-05-15 12:01:07
前提:
本人在MyEclipse5.5中已经成功配置好Tomcat5.5,能正常启动和关闭Tomcat,在MyEclipse自带的Browser中输入http://localhost:8080也能正常看到页面.

问题描述:
在MyEclipse中新建一个WebProjcet,名为struts2,所在文件夹为D:\workspace\struts2

方法1:打包成struts2.war到webapps中,在browser中输入http://localhost:8080/struts2能访问

方法2:如果在server.xml中添加如下内容,或conf\Catalina\localhost中新建struts2.xml,内容如下:
<Context path="/struts2" docBase="D:\workspace\struts2" reload="true" workDir="D:\workspace\struts2\work" privileged="true"/>
这时在browser中输入http://localhost:8080/struts2不能访问

现在我想用"方法2"的来调试程序,因为"方法1"太麻烦,有一点改动都要重新打包

问题原因:
因为在MyEclipse中新建WebProjcet时,必须设定Content Directory,默认为:WebContent,所以Web.xml在struts2\WebContent\WEB-INF文件夹下,而Tomcat是到struts2\WEB-INF文件夹下找Web.xml,当然找不到,所以报错,而打包则是正确的.但是MyEclipse不允许把Content Directory设成空白.所以产生矛盾.

请问怎么解决上述矛盾?



...全文
287 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoversong 2008-05-15
  • 打赏
  • 举报
回复
不好意思,上面写错了,应该是docBase="D:\workspace\struts2\WebRoot".
hoversong 2008-05-15
  • 打赏
  • 举报
回复
楼主,我觉得你还是没有解决,因为你path中的名字struts2和docBase="D:\workspace\struts2中的struts2名字是一样的,而这两个是可以不同的,path的名字提供的是你的访问名字,可以随意,所以实际上你访问的还是通过tomcat启动后的程序,而不是你在这里配置以后所进行的访问。不知道你明白我意思没有?
kyjt80 2008-05-15
  • 打赏
  • 举报
回复
谢谢各位的热心回答,知道问题的所在了.
<Context path="/struts2" docBase="D:\workspace\struts2" reload="true" workDir="D:\workspace\struts2\work" privileged="true"/>

把上面的docBase="D:\workspace\struts2改成docBase="D:\workspace\struts2\WebRoot就行了.

是AWUSOFT和hoversong两位朋友的回答给了我很大的启发.谢谢你们!
xulight 2008-05-15
  • 打赏
  • 举报
回复
在eclipse工具中点击发布按钮即可,不麻烦
kyjt80 2008-05-15
  • 打赏
  • 举报
回复
我试着用web project方式新建了一个工程,还是不行呀!

因为web.xml在struts2\WebRoot\WEB-INF下,而不是struts2\WEB-INF下,tomcat找不到web.xml文件.
awusoft 2008-05-15
  • 打赏
  • 举报
回复
修改server.xml,那都是修改了Tomcat的配置了,这就看Tomcat需不需要重启了.
awusoft 2008-05-15
  • 打赏
  • 举报
回复
会的啊,一般的都会自动更新的.我用myeclipse5.5就算了改了web.xml都会自动重新发布的啊.不需要关闭Tocmat啊.你有在myeclipse里启动Tomcat的吗?
kyjt80 2008-05-15
  • 打赏
  • 举报
回复
更正:上面我写的有点小问题,新建的时候也是用的dynamic web project

另外,楼上的说不用重新打包,那么如果不是用"方法2"(修改server.xml或新增strtus2.xml)来发布项目,而是直接把项目打包到webapps下,难道d:\workspase\struts2中改动了程序文件,webapps下也会变?应该不会吧?只有重新打包,而且打包前得把webapps下的之前的.war和相应的文件夹删除才行,删除前还得把tomcat关掉,所以说太麻烦.

不知道各位明白我的意思没有?
hoversong 2008-05-15
  • 打赏
  • 举报
回复
如三楼所说,我的也是WebRoot,我的myeclipse是6.0的。可以直接启动tomcat进行发布,不用打包。
hoversong 2008-05-15
  • 打赏
  • 举报
回复
有一点不一样,开始我建立的是dynamic web project,然后就出现你所说的问题了。但改成普通的web project后就好了,改动程序文件以后也不用你所说的得重新打包啊。方法二我刚试了下,报
The requested resource (/hover-struts-hello) is not available.
的错。
awusoft 2008-05-15
  • 打赏
  • 举报
回复
新建一个Web项目的时候不是只有个WebRoot文件夹的吗?直接到发布就行了.没有遇到过这么多问题哦
hoversong 2008-05-15
  • 打赏
  • 举报
回复
这个问题我今天也是刚刚在struts2.0中提过,关注中…………
kyjt80 2008-05-15
  • 打赏
  • 举报
回复
我顶!

58,452

社区成员

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

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