我要作的是一個基於學生選課系統,我選擇的框架式SSH框架。java
SSH框架介紹:SSH是Spring+Struts+Hibernate的集成框架。Spring的架構基礎是基於使用javabean屬性的Inversion of Control容器。Spring在使用IoC容器做爲構建完關注全部架構層的完整解決方案方面是獨一無二的。 Spring提供了惟一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率而且減小了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其餘O/R mapping解決方案。Spring還提供了惟一的事務管理抽象,它可以在各類底層事務管理技術。pring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其餘企業事務--若是你須要--還能實現你本身的aspects。Struts是一個基於Sun J2EE平臺的MVC框架,主要是採用Servlet和JSP技術來實現的。Struts把Servlet、JSP、自定義標籤和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再本身編碼實現全套MVC模式。Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了很是輕量級的對象封裝,使得Java程序員能夠爲所欲爲的使用對象編程思惟來操縱數據庫。 Hibernate能夠應用在任何使用JDBC的場合,既能夠在Java的客戶端程序實用,也能夠在Servlet/JSP的Web應用中使用。程序員
SSH框架的選擇緣由:①目前我所學到的框架只有EF和SSH框架,然而EF框架須要藉助的工具須要收費才能使用,而SSH是徹底免費的。②SSH是典型的J2EE三層結構,分爲表現層、中間層(業務邏輯層)和數據服務層。三層體系將業務規則、數據訪問及合法性校驗等工做放在中間層處理。客戶端不直接與數據庫交互,而是經過組件與中間層創建鏈接,再由中間層與數據庫交互。③開發效率:對於傳統的ASP和 PHP等腳本站點技術,將整個站點的業務邏輯和表現邏輯都混雜在ASP或PHP頁面裏,從而致使頁面的可讀性至關差,可維護性很是低,但採用嚴格分層SSH架構,則可徹底避免這個問題。對錶現層的修改即便發生錯誤,也絕對不會將錯誤擴展到業務邏輯層,更不會影響持久層。④需求變動:SSH的分層架構,在優秀的分層架構裏,控制層依賴於業務邏輯層,但毫不與任何具體的業務邏輯組件耦合,只與接口耦合;一樣,業務邏輯層依賴於DAO 層,也不會與任何具體的DAO組件耦合,而是面向接口編程。採用這種方式的軟件實現,即便軟件的部分發生改變,其餘部分也儘量不要改變。數據庫