struts2 学习笔记一 第一个struts2程序
2009-10-26 15:48
477 查看
最近准备开始学习struts2,所以百度上找了个简单例子,想先感受一下struts2编程。
http://student.csdn.net/space.php?uid=44933&do=blog&id=14087,
上面网址就是我学习的第一个例子,感觉不错,讲的浅显易懂,并且有穿插struts1的知识。但根据示例一步一步下来,遇到几个问题,怎么也调试不通过。于是又百度,但没有满意的答案,费了九牛二虎之力才终于成功运行。下面是我的一些总结。
一:示例中只是让导入以下五个包:
struts2-core-2.0.11.1.jar
xwork-2.0.4.jar
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
其实还要导入commons-fileupload-1.2.1.jar包,
否则浏览器会提示出现以下错误:
message
description The requested resource () is not available.
tomcat容器会提示出现以下错误:
严重: Exception starting filter struts2
Unable to load configuration. - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
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.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load configuration. - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
... 28 more
Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 30 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211)
... 33 more
2009-10-26 16:03:52 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-10-26 16:03:52 org.apache.catalina.core.StandardContext start
严重: Context [/struts2] startup failed due to previous errors
2009-10-26 16:03:52 org.apache.coyote.http11.Http11Protocol start
二:直接从网页上copy代码,可能带来不可预知的错误,建议亲自动手敲代码,这样也有助于对程序理解。
http://student.csdn.net/space.php?uid=44933&do=blog&id=14087,
上面网址就是我学习的第一个例子,感觉不错,讲的浅显易懂,并且有穿插struts1的知识。但根据示例一步一步下来,遇到几个问题,怎么也调试不通过。于是又百度,但没有满意的答案,费了九牛二虎之力才终于成功运行。下面是我的一些总结。
一:示例中只是让导入以下五个包:
struts2-core-2.0.11.1.jar
xwork-2.0.4.jar
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
其实还要导入commons-fileupload-1.2.1.jar包,
否则浏览器会提示出现以下错误:
HTTP Status 404 -
type Status reportmessage
description The requested resource () is not available.
tomcat容器会提示出现以下错误:
严重: Exception starting filter struts2
Unable to load configuration. - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
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.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load configuration. - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
... 28 more
Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/D:/software/apache-tomcat-6.0.20/webapps/struts2/WEB-INF/lib/struts2-core-2.1.8.jar!/struts-default.xml:47:178
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 30 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211)
... 33 more
2009-10-26 16:03:52 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-10-26 16:03:52 org.apache.catalina.core.StandardContext start
严重: Context [/struts2] startup failed due to previous errors
2009-10-26 16:03:52 org.apache.coyote.http11.Http11Protocol start
二:直接从网页上copy代码,可能带来不可预知的错误,建议亲自动手敲代码,这样也有助于对程序理解。
相关文章推荐
- [原创]java WEB学习笔记54:Struts2学习之路--- 编写Struts2 的第一个程序,HelloWord,简述 package ,action,result
- Java web学习笔记 (2)我的第一个struts2程序(2.3.4.2版本 myeclipse下)
- 《疯狂Java讲义(第三版)》学习笔记之 —— 1.3 Java运行机制 && 1.5 第一个Java程序
- Struts2学习笔记一 简介及入门程序
- SWT学习笔记(3)——第一个程序
- ASP.NET MVC Web API 学习笔记---第一个Web API程序【转】
- ActionScript学习笔记(1)- 第一个ActionScript程序
- Eclipse 4.x学习笔记(1、运行第一个Java程序)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Struts2_实战演练(中)>(三十九)
- PyQt5学习笔记1_第一个QML+PyQt程序
- [原创]java WEB学习笔记04:Servlet 简介及第一个Servlet程序(配置注册servlet,生命周期)
- Django学习笔记2-编写第一个Django程序
- libevent学习笔记 —— 第一个程序:计时器
- php学习笔记--第一个PHP程序;
- php学习笔记二:第一个php程序 hello world!
- iOS新手学习第一天 学习笔记 iPhone的第一个程序
- ExtJS 学习笔记一(安装Eclipse的Spket插件并编写第一个ExtJS程序)
- .NET 学习笔记(二)——用vs编写的第一个程序
- 【Spring学习笔记-2】Myeclipse下第一个Spring程序-通过ClassPathXmlApplicationContext加载配置文件