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 閱讀(85)
評論(0) 編輯 收藏