進入我們基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā)的最后一個階段了,這階段主要為我們的項目引進Struts2的Annotation。相對于帶Annotation的Hibernate與帶Annotation的Spring整合來說,帶Annotation的Struts與帶Annotation的Spring整合還是比較容易實現(xiàn)的。
我們先來引進Struts2.0的相關jar包:xwork-2.0.5.jar,struts2-core-2.0.11.2.jar,ognl-2.6.11.jar,commons-logging.jar(這個前面已引進),freemarker-2.3.8.jar,還有Struts2.0與Spring整合所需的struts2-spring-plugin-2.0.11.2.jar。好,馬上來開發(fā)我們的用戶注冊小例子。
register.jsp注冊頁的部分代碼如下:






success.jsp注冊成功頁部分代碼如下:

好,來開發(fā)我們的控制層吧。寫個RegisterAction.java的類:
























































Spring2.5通過@Controller @Scope("prototype") 這樣的注解,將Struts的Action納為自己的控制范圍之內(nèi)。Struts2.0自帶的@ParentPackage和@Results等注解,注明了要繼承的父包和響應結果。還有@RequiredStringValidator,@RequiredFieldValidator等注解,大大方便了我們處理表單信息的校驗。大家有沒有發(fā)覺少了什么?我們不需要Struts.xml的配置文件了,也不需要xxx-validation.xml,也不需要寫煩雜的驗證代碼了。豈不是很方便嗎?
不過,不要忘記了,我們還得在web.xml中配置Struts2:













好了,看看運行效果吧!


成功啦!我們基于Annotation的SSH整合開發(fā)終于完成了。我所介紹的Annotation注解其實并不多,還得靠大家找資料去學習。而我們側重點是在用Annotation時三大框架是如何整合起來的。
說點題外話吧,我們在開發(fā)過程中,究竟用Annotation還是XML,許多人曾問這樣的問題。有培訓機構的老師說過一句話,Annotation可以用,但XML配置一定要懂,因為XML配置現(xiàn)在還是主流。他說得也挺有道理的。有些人可能還不能接受Annotation這東西,就像我當初不大喜歡它一樣。我的一位教我們Java中間件的老教師說:“Struts,Spring,Hibernate算什么技術?學EJB才是有用的。”他教我們的好像是EJB2版本的,他年輕時用Jbuilder開發(fā)過EJB的項目。如果我問他“為什么不選EJB3.0”,他會不會說:“EJB3被改得一塌糊涂,什么注解啊,改得狗屁不通,還是EJB2的最好……”。當然,我沒有再問他。有時候,新事物要被人們所接受,是要經(jīng)歷一段時間的,世界在變,知識在變,我們何不用更寬廣的心態(tài),去接受那些新生的事物?
(*^-^*) 本文原創(chuàng),轉載請注明出處, http://www.aygfsteel.com/rongxh7謝謝! (*^-^*)
本文原創(chuàng),轉載請注明出處,謝謝!http://www.aygfsteel.com/rongxh7(心夢帆影JavaEE技術博客)