eclipse下web开发 (配置)文件同步更新到服务器上

本文介绍了在Eclipse中进行Web开发时遇到的Struts2配置文件`struts.xml`无法同步更新到服务器的问题及解决方法。错误提示涉及Dispatcher初始化失败,原因是`struts.xml`的class属性配置错误。解决办法包括直接编辑运行时文件、调整Eclipse的文件同步策略、启用Struts2的开发模式常量以及发布工程后执行Clean操作。重点讨论了设计模式和模块化的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近需要做一个web方面的文件上传的Demo.开发工具是eclipse[具体名称:Eclipse IDE for Java EE Developers 版本:2.0.0.20130613-0530].使用struts2[struts2-core-2.3.15.1.jar]

[错误1]

[console提示]org.apache.struts2.dispatcher.Dispatcher errorSEVERE: Dispatcher initialization failedUnable to load configuration. - action - file:******/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/******/WEB-INF/classes/struts.xml:**:**

[原因]struts.xml文件中的class属性配置错误,对应的action的处理类错误。

[错误的解决办法]修改工程中的struts.xml.这种方法有时候有效,但有时候不起作用,几乎能把人搞疯掉(对debugging中的coder最痛苦的事情,就是这种“不可再现”的错误!)。产生这种错误的原因是由于eclipse的在进行web开发时的机制导致的。用eclipse进行web开发时,你所编辑的工程中文件并不是调试或运行时的文件。在调试或运行时的文件,eclipse用的是路径“eclipse的workspace的目录/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/工程名”下面的文件!struts.xml文件在该目录的“WEB-INF/classes/struts.xml”路径下!即eclipse的修改的同步机制是一个不确定因素!

[正确的解决办法]

1.直接编辑eclipse调试或运行时所用的文件,即web工程发布所用的文件。[这种办法比较可靠,但是笨拙]。

2.改进eclipse的web开发的修改与发布的文件同步策略。在这里,具体就是如何使eclipse的struts.xml修改后生效的机制可控(rebuild工程?重启tomcat?或是重启eclipse? 我测试过这几种做法,好像都没有确定性,即有时候可以有时候不可以[coder最讨厌的东东]).我在网上找了好久都没找到比较好的解决方案。

3.开启struts2自带的开发模式常量(这也不一定好使)
在以前的开发中,当修改一些配置时总是不能及时地更新到服务器,我们总会重新部署或重启来更新改变的内容,在struts2中可以通过一个常量来达到此目的。即在struts.xml中的<struts>元素下增加如下内容:
<constant name="struts.configuration.xml.reload" value="true" />
这样配置后,当配置文件修改保存时就会及时更新到服务器中。

4.最可靠的方法:把工程发布到服务器,启动服务器(很关键),再在project菜单中选中clean选项


对这个问题的总结:
关键词:设计模式;模块化
struts.xml文件修改后是否要及时更新到服务器上,这即属于struts自身的范围[开发者需要自己决定],也属于tomcat服务器的范围[因为tomcat是一个运行平台],但是不属于eclipse的设计需要考虑的[eclipse只是一个开发工具],这是从软件设计的思想方面得出的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值