日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2.x和Struts1.x的区别

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2.x和Struts1.x的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Strust2.x不是新發布的新框架,而是另一個非常流行的框架WebWork基礎上發展起來的。Struts2并沒有繼承Struts1的特點,但是它吸收了Struts1和WebWork兩者的優勢,因此是一個優秀的框架

Struts2和Struts1有很多不同點:

1,Action類的編寫

? ? 在Struts1中,Action類一般是繼承基類“org.apache.struts.action.Action”.而在Struts2中,Action類可以實現一個Action接口,也可以實現其他接口,也可以繼承ActionSupport基類,甚至不需要實現任何接口,只編寫execute函數即可

2,Action的運行模式

? ? ?Struts1 中,Action是單態的,系統實例化一個對象來處理多個請求,為每個請求分配一個線程,在線程中運行execute函數。因此,在開發時需要需要特別小心,Action資源必須是線程安全的或者同步的。但是Strust2中,Action為每個請求產生一個實例,不會產生線程安全問題。

3,對Web容器的依賴

? ? Struts1中,Action的execute函數中,傳入Servlet API:HttpServletRequest和HttpServletResponse,使得測試依賴于Web容器,但是,Struts2中,可以不傳入HttpServletRequest和HttpServletResponse,但是可以訪問它們

HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response=ServletActionContext.getResponse();

4,對表單數據的封裝

? ? Struts1中,使用ActionForm來封裝表單數據,所有的ActionForm必須繼續org.apache.struts.action.ActionForm,有可能造成ActionForm類和VO類重復編碼。但是,Struts2中,直接在Action中編寫表單數據對應的屬性,就是把Struts1中ActionForm和Action合二為一了,可以不用編寫ActionForm,而這些屬性又可以通過Web頁面上的標簽訪問。

? ? ?


總結

以上是生活随笔為你收集整理的Struts2.x和Struts1.x的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。