第一个HelloWorld的Struts2程序出错了。请大家看一下是什么问题。感谢。感谢。:(

[复制链接]
查看11 | 回复9 | 2008-12-14 19:19:40 | 显示全部楼层 |阅读模式
程序在部署后,在TOMCAT里看到的错误是(localhost.2008-12-14.log):
2008-12-14 19:19:40 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/D:/Java/tomcat6016/webapps/struts2hello/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)

at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)

at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)

at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)

at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)

at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)

at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:108)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)

at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1244)

at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:604)

at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:129)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)

at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)

at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)

at java.lang.Thread.run(Unknown Source)
Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/D:/Java/tomcat6016/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72 - bean - jar:file:/D:/Java/tomcat6016/webapps/struts2hello/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)

... 29 more


以下是程序代码:
struts2.xml:









/HelloWorld.jsp






HelloWorld.jsp:





Struts 2 示例











${message}





HelloWorld.java:
package example;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {

public String execute() throws Exception {

setMessage("你好!Struts 2!&quot

;

return SUCCESS;

}

private String message;

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}
}


web.xml:



struts2



org.apache.struts2.dispatcher.FilterDispatcher




struts2

/*

index.jsp

回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
从报错信息看应该是缺少xwork2的jar包
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
自己学这看看, 不要以为是新手,就可以随便问
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory 不是告诉你了吗?
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
自己要有troubleshooting的能力
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean
D:/Java/tomcat6016/lib/struts2-core-2.0.14.jar
D:/Java/tomcat6016/webapps/struts2hello/WEB-INF/lib/struts2-core-2.0.14.jar
删除其中一个jar文件试试
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
to justforregister: 对不起。我对JAVA现在还处于混乱当中。你是老手是否应该多点包容心呢?你的英语很厉害。我要向你学习。谢谢。
感谢baggio0105和ning0629,
我看了一下。好像是说我在系统里已经有了另外一个不同版本(或者相同版本)的struts2 core .jar 。
的确是这样。但是我把我原来拷贝到TOMCAT\LIB下的struts2的那些jar删除后。也不行哦。究竟是什么回事呢?
谢谢三位。
[ 本帖最后由 miaomiaoga 于 2008-12-15 17:04 编辑 ]
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
成功了成功了,我用MYECLIPSE CLEAN了一下。然后再重新部署。再把TOMCAT重起一下。就好了。(访问的文件名还分大小写的哦?)
谢谢。:)
再次谢谢三位。:)
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
03年就注册了, 怎么还是新手


回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
这。。。偶。。。一直。。。玩。。。ASP.NET.。。所以。。。。
更郁闷了....
回复

使用道具 举报

千问 | 2008-12-14 19:19:40 | 显示全部楼层
和猪谈问题!没意思!虽然本人也是....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行