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






success.jsp注冊(cè)成功頁(yè)部分代碼如下:

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
























































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













好了,看看運(yùn)行效果吧!


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