當前位置:
首頁 >
Java SSH 资料总结
發布時間:2025/4/14
38
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Java SSH 资料总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Struts
Struts通過采用 Java Servlet/JSP 技術,實現了基于Java EE Web應用的MVC設計模式的應用框架,是MVC經典設計模式中的一個經典產品。
?
Struts1的核心構成
?
在 Struts1 中,由一個名為 ActionServlet 的 Servlet 充當 控制器(Controller)的角色,根據描述模型、視圖、控制器對應關系的 struts-
config.xml 的配置文件,轉發視圖(View)的請求,組裝響應數據模型(Model)。
?
在 MVC 的模型(Model)部分,經常劃分為兩個主要子系統(系統的內部數據狀態與改變數據狀態的邏輯動作),這兩個概念子系統分
別具體對應 Struts 1里的 ActionForm 與 Action 兩個需要繼承實現超類。在這里,Struts 1可以與各種標準的數據訪問技術結合在一起,包
括Enterprise Java Beans(EJB), JDBC 與 JNDI。
?
在 Struts 1的視圖(View) 端,除了使用標準的JavaServer Pages(JSP)以外,還提供了大量的標簽庫使用,同時也可以與其他表現層
組件技術(產品)進行整合,比如 Velocity Templates,XSLT 等。
?
通過應用 Struts 的框架,最終用戶可以把大部分的關注點放在自己的業務邏輯(Action)與 映射關系的配置文件(struts-config.xml)中。
?
struts2
Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與
Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠
與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品
?
strut2的體系結構
?
解析:
當Web容器收到請求(HttpServletRequest)它將請求傳遞給一個標準的的過濾鏈包括 ?流程(ActionContextCleanUp)過濾器,然后經過
Other filters(SiteMesh ,etc),
接下來需要調用FilterDispatcher核心控制器,然后它調用ActionMapper確定請求那個Action,ActionMapper返回一個收集Action詳細信息
的ActionMaping對象。
接下來FilterDispatcher將控制權委派給ActionProxy,ActionProxy調用配置管理器(ConfigurationManager) 從配置文件中讀取配置信息
(struts.xml),然后創建ActionInvocation對象,ActionInvocation在調用Action之前會依次的調用所用配置攔截器(Interceptor N) 一旦執行結
果返回結果字符串ActionInvocation負責查找結果字符串對應的(Result)然后執行這個Result Result會調用一些模版(JSP)
來呈現頁面,之后攔截器(Interceptor N)會在被執行(順序和Action執行之前相反)最后響應(HttpServletResponse)被返回在web.xml中配置的
那些過濾器和(核心控制器)(FilterDispatcher)。
?
為什么使用Struts?
首先,Struts 是MVC的一種實現,它將 Servlet和 JSP 標記(屬于 J2EE 規范)用作實現的一部分。Struts繼承了MVC的各項特性,并根據
J2EE的特點,做了相應的變化與擴展,減弱了業務邏輯接口和數據接口之間的耦合,以及讓視圖層更富于變化
?
另外, struts具有頁面導航功能,使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護
有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。
?
Hibernate
什么是Hibernate?Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編
程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用
中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任
?
Hibernate基本執行流程
?
為什么使用Hibernate?
1. 對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。
2、Hibernate是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作,將軟件開發人員從大量相同的數據持久層相關編程工作中解
放出來,使開發更對象化了。
3、移植性好,支持各種數據庫,如果換個數據庫只要在配置文件中變換配置就可以了,不用改變hibernate代碼。
4、支持透明持久化,因為hibernate操作的是純粹的(pojo)java類,沒有實現任何接口,沒有侵入性。所以說它是一個輕量級框架。
?
Spring
什么是Spring?Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。
?
Spring的特性
Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼
?
為什么使用Spring?
Spring的以上特性使得開發人員使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發
。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
總結
以上是生活随笔為你收集整理的Java SSH 资料总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lua资料总结
- 下一篇: Java Struts 特性和新特性总结