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的时候遇到的一点波折。
环境搭好了,剩下的就是抓时间应该深入学习一下。
posted on 2007-09-27 21:32
jadmin 阅读(83)
评论(0) 编辑 收藏