Struts2 初探 发布日期:2007-8-3 10:09:00 发布者:[IT电子教育门户] 评论:[ 0] 浏览: 420 Struts2 发布已经有一段时间了。 (http://struts.apache.org/downloads.html) 最近正在做的项目已经到了尾声,利用这段空闲的时间,我试用了一下Struts2。 跟Struts1 相比,Struts2 做了不少改变,例如:Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象,具体可以参考apache官方网站。 http://struts.apache.org/2.0.6/index.html 我的感觉是Struts2变的更加灵活了。 好,既然是学习,Hello World 程序是必不可少的。 第一步,先看看系统要求: Platform Requirements Struts 2 requires Servlet API 2.4 JSP API 2.0 Java 5 更具体系统要求可以在文档说明中找到。 第二步,了解如何部署Struts2程序。 我手上没有支持Struts2的IDE所以只有自己多花点力气了。 在以下链接中可以找到部署Struts2程序的三种方法: http://struts.apache.org/2.0.6/docs/ready-set-go.html 1. Use the blank template (在struts-2.0.6-all.zip) 2. run the Maven archetype 3. just setup a web infrastructure from scratch 我用了第三种方法。 http://struts.apache.org/2.0.6/docs/simple-setup.html 这个链接上面说的很明白。主意需要库,多了或者少了都会出问题。 我就试过把struts-2.0.6-all.zip包里边的lib全部拷贝过去,结果在tomcat启动的过程中出现一下错误: 严重: Error filterStart 查看tomcat日志,消耗了不少时间终于排除了问题。 可能是里边的一些plugin包引起的,以后在慢慢研究怎么回事。 好了,按照simple-setup.html中的说明把程序部署好。部署好之后的目录结构如下: struts2 ├─META-INF │ MANIFEST.MF │ ├─WEB-INF │ │ web.xml │ │ │ ├─classes │ │ │ struts.xml │ │ │ │ │ └─org │ │ └─sen │ │ └─hello │ │ HelloWorld.class │ │ │ └─lib │ antlr-2.7.2.jar │ commons-beanutils-1.6.jar │ commons-chain-1.1.jar │ commons-logging-1.0.4.jar │ commons-validator-1.3.0.jar │ freemarker-2.3.8.jar │ ognl-2.6.11.jar │ oro-2.0.8.jar │ struts2-core-2.0.6.jar │ xwork-2.0.1.jar │ └─hello HelloWorld.jsp 【注】我这个程序跟http://struts.apache.org/2.0.6/docs/hello-world.html上面的Hello world 是一样的,只是改了包名。 启动tomcat,成功了^_^。 因为我用的开发工具试myEclipse 于是,我便试着把这个项目迁移到eclipse中去 在eclipse 中新建项目Struts2 然后把所有的文件复制过去。最后目录结构为: struts2 │ .project │ .mymetadata │ .classpath │ ├─src │ │ struts.xml │ │ │ └─org │ └─sen │ └─hello │ HelloWorld.java │ ├─WebRoot │ ├─WEB-INF │ │ │ web.xml │ │ │ │ │ ├─lib │ │ │ struts2-core-2.0.6.jar │ │ │ ... │ │ └─classes │ │ │ struts.xml │ │ │ │ │ └─org │ │ └─sen │ │ └─hello │ │ HelloWorld.class │ │ │ ├─META-INF │ │ MANIFEST.MF │ │ │ └─hello │ HelloWorld.jsp │ ├─.myeclipse └─.settings ... myEclipse 可以正确发布,但是启动的时候出现问题。 java.lang.UnsupportedClassVersionError: org/apache/struts2/dispatcher/FilterDispatcher (Unsupported major.minor version 49.0) 经过检查发现原因所在:我elipse的编译器虽然设成了jdk1.5,但是eclipse启动tomcat的时候还是用之前设的jdk1.4。把启动在myeclipse的application server下面找到tomcat并且把jdk设为jdk1.5便ok了。 上面是我在试用struts2的时候遇到的一点波折。 环境搭好了,剩下的就是抓时间应该深入学习一下。