![高校選課系統(tǒng)外文資料_第1頁(yè)](http://file4.renrendoc.com/view/baef47dccd25b5f9c5365fe03e9e0e0d/baef47dccd25b5f9c5365fe03e9e0e0d1.gif)
![高校選課系統(tǒng)外文資料_第2頁(yè)](http://file4.renrendoc.com/view/baef47dccd25b5f9c5365fe03e9e0e0d/baef47dccd25b5f9c5365fe03e9e0e0d2.gif)
![高校選課系統(tǒng)外文資料_第3頁(yè)](http://file4.renrendoc.com/view/baef47dccd25b5f9c5365fe03e9e0e0d/baef47dccd25b5f9c5365fe03e9e0e0d3.gif)
![高校選課系統(tǒng)外文資料_第4頁(yè)](http://file4.renrendoc.com/view/baef47dccd25b5f9c5365fe03e9e0e0d/baef47dccd25b5f9c5365fe03e9e0e0d4.gif)
![高校選課系統(tǒng)外文資料_第5頁(yè)](http://file4.renrendoc.com/view/baef47dccd25b5f9c5365fe03e9e0e0d/baef47dccd25b5f9c5365fe03e9e0e0d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)外文資料翻譯(譯文)題目名稱(chēng): 基于B/S結(jié)構(gòu)的高校選課管理系統(tǒng)學(xué) 院: 計(jì)算機(jī)科學(xué)技術(shù) 專(zhuān) 業(yè): 軟件工程 學(xué)生姓名: 玄玉參 班級(jí)學(xué)號(hào): 08-02班20號(hào) 指導(dǎo)教師: 軍進(jìn)輝 二。一二年六月八日本文分析了Hibernate和Struts的機(jī)制,提出了一種基于Hibernate和Struts的J2EE應(yīng)用開(kāi)發(fā)策略。在這種策略中,模型層用Hibernate實(shí)現(xiàn),視圖和控制器則用Struts框架實(shí)現(xiàn)。這樣可大大降低代碼的耦合性以及提高系統(tǒng)的開(kāi)發(fā)效率。Servlet的程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)生成的網(wǎng)頁(yè)與傳統(tǒng)的CGI和許多其他類(lèi)似的CGI技術(shù),JavaServlet的一個(gè)更有效率,更容易使用,功能更強(qiáng)大,并具有更好的可移植性,更節(jié)省投資相比。關(guān)鍵詞:Hibernate;Struts;MVC;Servlet;Jsp1JSP和SSH框架技術(shù)的介紹JSP技術(shù)簡(jiǎn)介JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見(jiàn)稿也已出臺(tái)。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。Spring技術(shù)簡(jiǎn)介SpringFramework是一個(gè)開(kāi)源的Java/JavaEE全功能棧(full-stack)的應(yīng)用程序框架,以Apache許可證形式發(fā)布,也有.NET平臺(tái)上的移植版本。該框架基于ExpertOne-on-OneJavaEEDesignandDevelopment(ISBN0-7645-4385-7)一書(shū)中的代碼,最初由RodJohnson和JuergenHoeller等開(kāi)發(fā)。SpringFramework提供了一個(gè)簡(jiǎn)易的開(kāi)發(fā)方式,這種開(kāi)發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類(lèi)。Spring中包含的關(guān)鍵特性:強(qiáng)大的基于JavaBeans的采用控制翻轉(zhuǎn)(InversionofControl,IoC)原則的配置管理,使得應(yīng)用程序的組建更加快捷簡(jiǎn)易。一個(gè)可用于從applet到JavaEE等不同運(yùn)行環(huán)境的核心Bean工廠。數(shù)據(jù)庫(kù)事務(wù)的一般化抽象層,允許聲明式(Declarative)事務(wù)管理器,簡(jiǎn)化事務(wù)的劃分使之與底層無(wú)關(guān)。內(nèi)建的針對(duì)JTA和單個(gè)JDBC數(shù)據(jù)源的一般化策略,使Spring的事務(wù)支持不要求JavaEE環(huán)境,這與一般的JTA或者EJBCMT相反。JDBC抽象層提供了有針對(duì)性的異常等級(jí)(不再?gòu)腟QL異常中提取原始代碼),簡(jiǎn)化了錯(cuò)誤處理,大大減少了程序員的編碼量。再次利用JDBC時(shí),你無(wú)需再寫(xiě)出另一個(gè)’終止'(finally)模塊。并且面向JDBC的異常與Spring通用數(shù)據(jù)訪問(wèn)對(duì)象(DataAccessObject)異常等級(jí)相一致。以資源容器,DAO實(shí)現(xiàn)和事務(wù)策略等形式與Hibernate,JDO和iBATISSQLMaps集成。利用眾多的翻轉(zhuǎn)控制方便特性來(lái)全面支持,解決了許多典型的Hibernate集成問(wèn)題。所有這些全部遵從Spring通用事務(wù)處理和通用數(shù)據(jù)訪問(wèn)對(duì)象異常等級(jí)規(guī)范。靈活的基于核心Spring功能的MVC網(wǎng)頁(yè)應(yīng)用程序框架。開(kāi)發(fā)者通過(guò)策略接口將擁有對(duì)該框架的高度控制,因而該框架將適應(yīng)于多種呈現(xiàn) (View)技術(shù),例如JSP,F(xiàn)reeMarker,Velocity,Tiles,iText以及POI。值得注意的是,Spring中間層可以輕易地結(jié)合于任何基于MVC框架的網(wǎng)頁(yè)層,例如Struts,WebWork,或Tapestry,提供諸如事務(wù)管理等服務(wù)的面向方面編程框架。在設(shè)計(jì)應(yīng)用程序Model時(shí),MVC模式(例如Struts)通常難于給出一個(gè)簡(jiǎn)潔明了的框架結(jié)構(gòu)。Spring卻具有能夠讓這部分工作變得簡(jiǎn)單的能力。程序開(kāi)發(fā)員們可以使用Spring的JDBC抽象層重新設(shè)計(jì)那些復(fù)雜的框架結(jié)構(gòu)。1.3Struts技術(shù)介紹Struts項(xiàng)目是Apache軟件基金會(huì)(ASF)贊助的一個(gè)開(kāi)源項(xiàng)目。它最初是Jakarta項(xiàng)目中的一個(gè)子項(xiàng)目,并在2004年3月成為ASF的頂級(jí)項(xiàng)目。它通過(guò)采用JavaServlet/JSP技術(shù),實(shí)現(xiàn)了基于JavaEEWeb應(yīng)用的Model-View-Controller(MVC)設(shè)計(jì)模式的應(yīng)用框架(WebFramework),是MVC經(jīng)典設(shè)計(jì)模式中的一個(gè)經(jīng)典產(chǎn)品。MVC結(jié)構(gòu)在Struts中,已經(jīng)由一個(gè)名為ActionServlet的Servlet充當(dāng)控制器(Controller)的角色,根據(jù)描述模型、視圖、控制器對(duì)應(yīng)關(guān)系的struts-config.xml的配置文件,轉(zhuǎn)發(fā)視圖(View)的請(qǐng)求,組裝響應(yīng)數(shù)據(jù)模型(Model)。在MVC的模型(Model)部分,經(jīng)常劃分為兩個(gè)主要子系統(tǒng)(系統(tǒng)的內(nèi)部數(shù)據(jù)狀態(tài)與改變數(shù)據(jù)狀態(tài)的邏輯動(dòng)作),這兩個(gè)概念子系統(tǒng)分別具體對(duì)應(yīng)Struts里的ActionForm與Action兩個(gè)需要繼承實(shí)現(xiàn)超類(lèi)。在這里,Struts可以與各種標(biāo)準(zhǔn)的數(shù)據(jù)訪問(wèn)技術(shù)結(jié)合在一起,包括EnterpriseJavaBeans(EJB),JDBC與JNDI。在Struts的視圖(View)端,除了使用標(biāo)準(zhǔn)的JavaServerPages(JSP)以外,還提供了大量的標(biāo)簽庫(kù)使用,同時(shí)也可以與其他表現(xiàn)層組件技術(shù)(產(chǎn)品)進(jìn)行整合,比如VelocityTemplates,XSLT等。通過(guò)應(yīng)用Struts的框架,最終用戶可以把大部分的關(guān)注點(diǎn)放在自己的業(yè)務(wù)邏輯(Action)與映射關(guān)系的配置文件(struts-config.xml)中。發(fā)展歷程在JavaEE的Web應(yīng)用發(fā)展的初期,除了使用Servlet技術(shù)以外,普遍是在JavaServerPages(JSP)的源代碼中,采用HTML與Java代碼混合的方式進(jìn)行開(kāi)發(fā)。因?yàn)檫@兩種方式不可避免的要把表現(xiàn)與業(yè)務(wù)邏輯代碼混合在一起,都給前期開(kāi)發(fā)與后期維護(hù)帶來(lái)巨大的復(fù)雜度。為了擺脫上述的約束與局限,把業(yè)務(wù)邏輯代碼從表現(xiàn)層中清晰的分離出來(lái),2000年,CraigMcClanahan采用了MVC的設(shè)計(jì)模式開(kāi)發(fā)Struts。后來(lái)該框架產(chǎn)品一度被認(rèn)為是最廣泛、最流行JAVA的WEB應(yīng)用框架。Struts2的合并示意圖2006年,WebWork與Struts這兩個(gè)優(yōu)秀的JavaEEWeb框架(WebFramework)的團(tuán)體,決定合作共同開(kāi)發(fā)一個(gè)新的,整合了WebWork與Struts優(yōu)點(diǎn),并且更加優(yōu)雅、擴(kuò)展性更強(qiáng)的框架,命名為“Struts2”,原Struts的1.x版本產(chǎn)品稱(chēng)為“Struts1”。至此,Struts項(xiàng)目并行提供與維護(hù)兩個(gè)主要版本的框架產(chǎn)品 Struts1與Struts2。很多開(kāi)發(fā)人員認(rèn)為Struts目前尚不成熟,應(yīng)用的成本較高。附帶的一點(diǎn)點(diǎn)建議:Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開(kāi)發(fā)效率。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過(guò)它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開(kāi)源軟件,這是它的一大優(yōu)點(diǎn),使開(kāi)發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。1.4Hibernate開(kāi)源框架介紹Hibernate是一種Java語(yǔ)言下的對(duì)象關(guān)系映射解決方案。 它是使用GNU寬通用公共許可證發(fā)行的自由、開(kāi)源的軟件。它為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的映射,提供了一個(gè)使用方便的框架。 概覽它的設(shè)計(jì)目標(biāo)是將軟件開(kāi)發(fā)人員從大量相同的數(shù)據(jù)持久層相關(guān)編程工作中解放出來(lái)。無(wú)論是從設(shè)計(jì)草案還是從一個(gè)遺留數(shù)據(jù)庫(kù)開(kāi)始,開(kāi)發(fā)人員都可以采用Hibernate。Hibernate不僅負(fù)責(zé)從Java類(lèi)到數(shù)據(jù)庫(kù)表的映射(還包括從Java數(shù)據(jù)類(lèi)型到SQL數(shù)據(jù)類(lèi)型的映射),還提供了面向?qū)ο蟮臄?shù)據(jù)查詢檢索機(jī)制,從而極大地縮短的手動(dòng)處理SQL和JDBC上的開(kāi)發(fā)時(shí)間。.NET上的HibernateHibernate有個(gè)在.NETFramework上的實(shí)現(xiàn)版本,稱(chēng)為NHibernate,在ADO.NETEntityFramework發(fā)表之前,NHibernate是在.NETFramework上經(jīng)常被使用的ORM實(shí)現(xiàn)。Hibernate的架構(gòu)有三個(gè)主要部分組成:1連接管理:Hibernate的連接管理服務(wù)提供的數(shù)據(jù)庫(kù)連接的有效管理。數(shù)據(jù)庫(kù)連接是與數(shù)據(jù)庫(kù)進(jìn)行交互,因?yàn)樗枰罅抠Y源的開(kāi)放和關(guān)閉數(shù)據(jù)庫(kù)連接的最昂貴的部分。2交易管理:事務(wù)管理服務(wù)提供給用戶能夠同時(shí)執(zhí)行多個(gè)數(shù)據(jù)庫(kù)報(bào)表。3對(duì)象關(guān)系映射:對(duì)象關(guān)系映射是從對(duì)象映射模型的數(shù)據(jù)表示為關(guān)系數(shù)據(jù)模型的技術(shù)。這部分是用來(lái)休眠選擇,插入,更新和刪除記錄窗體的基礎(chǔ)表。當(dāng)我們傳遞一個(gè)對(duì)象到session.save()的方法時(shí),Hibernate讀取該對(duì)象的變量的狀態(tài),并執(zhí)行必要的查詢。Hibernate是很好的工具盡可能對(duì)象關(guān)系映射的關(guān)注,但在連接管理和事務(wù)管理方面,它在性能和能力缺乏。所以通常冬眠與其他正在使用的連接管理和事務(wù)管理工具。例如Apache的二漠氯丙烷是用于與Hibernate的連接池。Hibernate提供了使用中的靈活性。它被稱(chēng)為“輕型”的體系結(jié)構(gòu)時(shí),我們只使用對(duì)象關(guān)系映射的組成部分。而在“全面解決”的體系結(jié)構(gòu)的所有三個(gè)組件對(duì)象關(guān)系映射,連接管理和事務(wù)管理)的使用。2一種基于Hibernate和Struts的J2EE應(yīng)用開(kāi)發(fā)策略2.1引言隨著Java技術(shù)的逐漸成熟與完善,作為建立企業(yè)級(jí)應(yīng)用的標(biāo)準(zhǔn)平臺(tái),J2EE平臺(tái)得到了長(zhǎng)足的發(fā)展。借助于J2EE規(guī)范中包含的多項(xiàng)技術(shù):EnterpriseJavaBean(EJB)、JavaServlets(Servlet)、JavaServerPages(JSP)、JavaMessageService(JMS)等,開(kāi)發(fā)出了許多應(yīng)用系統(tǒng)。但是,在傳統(tǒng)J2EE應(yīng)用的開(kāi)發(fā)過(guò)程中也出現(xiàn)了一些問(wèn)題:數(shù)據(jù)模型和邏輯模型之間的矛盾。目前使用的數(shù)據(jù)庫(kù)基本上都是關(guān)系型數(shù)據(jù)庫(kù),而Java本質(zhì)上是一種面向?qū)ο蟮恼Z(yǔ)言,對(duì)象在存儲(chǔ)和讀取時(shí)使用SQL和JDBC進(jìn)行數(shù)據(jù)庫(kù)操作,降低了編程的效率以及系統(tǒng)的可維護(hù)性;傳統(tǒng)的J2EE應(yīng)用多采用基于EJB的重量級(jí)框架,這種框架適合于開(kāi)發(fā)大型企業(yè)應(yīng)用,但是使用EJB容器進(jìn)行開(kāi)發(fā)和調(diào)試需要耗費(fèi)大量時(shí)間。為了降低代碼的耦合性,提高系統(tǒng)的開(kāi)發(fā)效率,本文提出了一種基于Struts框架和Hibernate框架的J2EE應(yīng)用開(kāi)發(fā)策略。2.2數(shù)據(jù)持久層及HibernateHibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(O/RMapping)的工具,它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使程序員可以使用對(duì)象編程思想來(lái)操作數(shù)據(jù)庫(kù)。它不僅提供了從Java類(lèi)到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用JDBC和SQL來(lái)操作數(shù)據(jù)庫(kù),使用Hibernate能大大的提高實(shí)現(xiàn)的效率。Hibernate框架用配置文件的形式來(lái)定義Java對(duì)象和數(shù)據(jù)表之間的映射關(guān)系,同時(shí)在更深的層面將數(shù)據(jù)表之間的關(guān)系解釋為Java對(duì)象之間的繼承及包含等關(guān)系。通過(guò)使用HQL語(yǔ)句將復(fù)雜的關(guān)系算法用對(duì)象的方式描述,在很大程度上簡(jiǎn)化了對(duì)數(shù)據(jù)的查詢,加快了開(kāi)發(fā)的效率。在Hibernate中有一個(gè)簡(jiǎn)單而直觀的API,用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢。要?jiǎng)?chuàng)建或修改這些對(duì)象,只需在程序中與它們進(jìn)行交互,然后告訴Hibernate保存即可。這樣,大量封裝持久化操作的業(yè)務(wù)邏輯不再需要編寫(xiě)煩瑣的JDBC語(yǔ)句,從而使數(shù)據(jù)持久層得到了極大的簡(jiǎn)化。2.3用Struts實(shí)現(xiàn)MVC架構(gòu)用Struts實(shí)現(xiàn)MVC架構(gòu)MVC(Model-View-Controller)由TrygveReenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。 模型(Model)是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和 I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖。控制器(Controller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴(lài)于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。Struts框架最早是作為ApacheJakarta項(xiàng)目的組成部分問(wèn)世運(yùn)做,它繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts框架很好的結(jié)合了Jsp,JavaServlet,JavaBean,Taglib等技術(shù)。在Struts中,承擔(dān)MVC中控制器角色的是ActionServletoActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn)。它截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(lèi)(這些動(dòng)作類(lèi)都是Action類(lèi)的子類(lèi))。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充ActionForm(FromBean),并傳給動(dòng)作類(lèi)(ActionBean)。動(dòng)作類(lèi)訪問(wèn)核心商業(yè)邏輯,即訪問(wèn)JavaBean或調(diào)用EJB。最后動(dòng)作類(lèi)把控制權(quán)傳給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-config.xml文件來(lái)配置。在Struts框架中,視圖主要由JSP生成頁(yè)面完成,Struts提供豐富的JSP標(biāo)簽庫(kù),這有利于分開(kāi)表現(xiàn)邏輯和程序邏輯。模型以一個(gè)或多個(gè)JavaBean的形式存在。在Struts中,主要存在三種Bean,分別是:Action,ActionForm,EJB或者JavaBean。Struts框架沒(méi)有具體定義模型層的實(shí)現(xiàn),在實(shí)際開(kāi)發(fā)中,模型層通常是和業(yè)務(wù)邏輯緊密相連的,并且要對(duì)底層數(shù)據(jù)進(jìn)行操作。下面介紹一種開(kāi)發(fā)策略,將Hibernate引入到Struts框架的模型層中,使用它來(lái)進(jìn)行數(shù)據(jù)封裝和映射,提供持久化的支持。運(yùn)用Hibernate和Struts開(kāi)發(fā)J2EE應(yīng)用以在J2EE應(yīng)用中非常普遍的用戶登錄過(guò)程為例,來(lái)說(shuō)明上述體系結(jié)構(gòu)是如何具體運(yùn)用的。登錄的流程非常清晰:用戶從登錄頁(yè)面login.jsp輸入登錄信息,系統(tǒng)對(duì)登錄信息進(jìn)行驗(yàn)證,如果正確則成功登錄,否則提示相應(yīng)錯(cuò)誤信息。 在開(kāi)發(fā)過(guò)程中,使用Eclipse做為開(kāi)發(fā)環(huán)境,同時(shí)加載了對(duì)Struts及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服務(wù)器使用Tomcat,數(shù)據(jù)庫(kù)選用了Mysql。首先對(duì)Hibernate進(jìn)行配置,只需要對(duì)系統(tǒng)自動(dòng)生成的hibernate.cfg.xml進(jìn)行修改,配置好數(shù)據(jù)庫(kù)連接的各種參數(shù)以及定義數(shù)據(jù)映射文件。由于Hibernate所帶的連接池主要用于測(cè)試,性能不是很好,可以通過(guò)JNDI將其修改為使用Tomcat的連接池。AbstractThistextanalysisthemechanismofHibernateandStruts,putforward1kindEEaccordingtotheJ2oftheHibernateandtheStrutsapplicationdevelopmentstrategy.Inthiskindofstrategy,themodellayeruseaHibernaterealizationandseediagramandcontrollertothenuseaStrutsframearealization.SocanconsumedlylowerthedevelopmentefficiencythattheOuofcodematchsexandexaltationsystem.Servletprogramrunningintheserver-side,dynamicallygeneratedWebpagewiththetraditionalCGIandmanyothersimilarcomparedtoCGItechnology,JavaServletwithamoreefficient,easiertouse,morepowerfulandhasbetterportability,moresavingstoinvest.Keywords:Hibernate;Struts;MVC;Servlet;Jsp1JSPandSSHframeworkintroducedJSPProfileJSP(JavaServerPages)isinitiatedbySunMicrosystems,Inc.,withmanycompaniestoparticipateintheestablishmentofadynamicwebpagetechnicalstandards.JSPtechnologysomewhatsimilartoASPtechnology,itisinthetraditionalHTMLwebpagedocument(*.htm,*.html)toinserttheJavaprogrammingparagraph(Scriptlet)andJSPtag(tag),thusJSPdocuments(*.jsp).UsingJSPdevelopmentoftheWebapplicationiscross-platformthatcanrunonLinux,isalsoavailableforotheroperatingsystems.JSPtechnologytousetheJavaprogramminglanguagepreparedbythecategoryofXMLtagsandscriptlets,toproducedynamicpagespackageprocessinglogic.Pagealsovisitbytagsandscriptletsexistintheservicessideoftheresourcesoflogic.JSPpagelogicandwebpagedesignanddisplayseparation,supportreusablecomponent-baseddesign,Web-basedapplicationdevelopmentisrapidandeasy.WebserverinthefaceofvisitsJSPpagerequest,thefirstimplementationoftheproceduresof,andthentogetherwiththeresultsoftheimplementationofJSPdocumentsinHTMLcodewiththereturntothecustomer.InserttheJavaprogrammingoperationofthedatabasecanbere-orientedwebsites,inordertoachievetheestablishmentofdynamicpagesneededtofunction.JSPandJavaServlet,isintheimplementationoftheserver,usuallyreturnedtotheclientisanHTMLtext,aslongastheclientbrowserwillbeabletovisit.JSP1.0specificationofthefinalversionislaunchedinSeptember1999,Decemberhasintroduced1.1specifications.AtpresentrelativelynewisJSP1.2norms,JSP2.0normsofthedrafthasalsobeenintroduced.JSPpagesfromHTMLcodeandJavacodeembeddedinoneofthecomponents.TheserverwasinthepagesofclientrequestsaftertheJavacodeandthenwillgeneratetheHTMLpagestoreturntotheclientbrowser.JavaServletJSPisthetechnicalfoundationandlarge-scaleWebapplicationdevelopmentneedsofJavaServletandJSPsupporttocomplete.JSPwiththeJavatechnologyeasytouse,fullyobject-oriented,andaplatform-independentandsecure,mainlyforallthecharacteristicsoftheInternet.JSPtechnologystrength:(1)timetoprepare,runeverywhere.AtthispointJavabetterthanPHP,inadditiontosystems,thecodenottomakeanychanges.(2)themulti-platformsupport.Basicallyonallplatformsofanydevelopmentenvironment,inanyenvironmentfordeploymentinanyenvironmentintheexpansion.ComparedASP/PHPlimitationsareobvious.(3)astrongscalability.FromonlyasmallJardocumentscanrunServlet/JSP,tothemultipleserversclusteringandloadbalancing,tomultipleApplicationfortransactionprocessing,informationprocessing,aservertonumerousservers,JavashowsatremendousVitality.(4)diversificationandpowerfuldevelopmenttoolssupport.ThisissimilartotheASP,Javaalreadyhavemanyverygooddevelopmenttools,andmanycanbefree,andmanyofthemhavebeenabletorunonavarietyofplatformsunder.JSPtechnologyvulnerable:(1)andthesameASP,Javaistheadvantageofsomeofitsfatalproblem.Itispreciselybecauseinordertocross-platformfunctionality,inordertoextremestretchingcapacity,greatlyincreasingthecomplexityoftheproduct.(2)Java'sspeedisclasstocompletethepermanentmemory,soinsomecasesbytheuseofmemorycomparedtothenumberofusersisindeeda"minimumcostperformance."Ontheotherhand,italsoneedsdiskspacetostoreaseriesof.Javadocumentsand.Class,aswellasthecorrespondingversionsofdocuments.SpringFrameworkTheSpringFrameworkisanopensourceapplicationframeworkfortheJavaplatform.ThefirstversionwaswrittenbyRodJohnsonwhoreleasedtheframeworkwiththepublicationofhisbookExpertOne-on-OneJ2EEDesignandDevelopmentinOctober2002.TheframeworkwasfirstreleasedundertheApache2.0licenseinJune2003.Thefirstmilestonerelease,1.0,wasreleasedinMarch2004,withfurthermilestonereleasesinSeptember2004andMarch2005.TheSpring1.2.6frameworkwonaJoltproductivityawardandaJAXInnovationAwardin2006.Spring2.0wasreleasedinOctober2006,andSpring2.5inNovember2007.InDecember2009version3.0GAwasreleased.Thecurrentversionis3.0.5.ThecorefeaturesoftheSpringFrameworkcanbeusedbyanyJavaapplication,butthereareextensionsforbuildingwebapplicationsontopoftheJavaEEplatform.AlthoughtheSpringFrameworkdoesnotimposeanyspecificprogrammingmodel,ithasbecomepopularintheJavacommunityasanalternativeto,replacementfor,orevenadditiontotheEnterpriseJavaBean(EJB)model.ModulesTheSpringFrameworkcomprisesseveralmodulesthatprovidearangeofservices:InversionofControlcontainer:configurationofapplicationcomponentsandlifecyclemanagementofJavaobjectsAspect-orientedprogramming:enablesimplementationofcross-cuttingroutinesDataaccess:workingwithrelationaldatabasemanagementsystemsontheJavaplatformusingJDBCandobject-relationalmappingtoolsTransactionmanagement:unifiesseveraltransactionmanagementAPIsandcoordinatestransactionsforJavaobjectsModel-view-controller:anHTTPandServlet-basedframeworkprovidinghooksforextensionandcustomizationRemoteAccessframework:configurativeRPC-styleexportandimportofJavaobjectsovernetworkssupportingRMI,CORBAandHTTP-basedprotocolsincludingwebservices(SOAP)Convention-over-configuration:arapidapplicationdevelopmentsolutionforSpring-basedenterpriseapplicationsisofferedintheSpringRoomoduleBatchprocessing:aframeworkforhigh-volumeprocessingfeaturingreusablefunctionsincludinglogging/tracing,transactionmanagement,jobprocessingstatistics,jobrestart,skip,andresourcemanagementAuthenticationandauthorization:configurablesecurityprocessesthatsupportarangeofstandards,protocols,toolsandpracticesviatheSpringSecuritysub-project(formerlyAcegiSecuritySystemforSpring).RemoteManagement:configurativeexposureandmanagementofJavaobjectsforlocalorremoteconfigurationviaJMXMessaging:configurativeregistrationofmessagelistenerobjectsfortransparentmessageconsumptionfrommessagequeuesviaJMS,improvementofmessagesendingoverstandardJMSAPIsTesting:supportclassesforwritingunittestsandintegrationtestsInversionofControlcontainerCentraltotheSpringFrameworkisitsInversionofControlcontainer,whichprovidesaconsistentmeansofconfiguringandmanagingJavaobjectsusingcallbacks.Thecontainerisresponsibleformanagingobjectlifecycles:creatingobjects,callinginitializationmethods,andconfiguringobjectsbywiringthemtogether.ObjectscreatedbythecontainerarealsocalledManagedObjectsorBeans.Typically,thecontainerisconfiguredbyloadingXMLfilescontainingBeandefinitionswhichprovidetheinformationrequiredtocreatethebeans.ObjectscanbeobtainedbymeansofDependencylookuporDependencyinjection.Dependencylookupisapatternwhereacallerasksthecontainerobjectforanobjectwithaspecificnameorofaspecifictype.Dependencyinjectionisapatternwherethecontainerpassesobjectsbynametootherobjects,viaeitherconstructors,properties,orfactorymethods.Inmanycasesit'snotnecessarytousethecontainerwhenusingotherpartsoftheSpringFramework,althoughusingitwilllikelymakeanapplicationeasiertoconfigureandcustomize.TheSpringcontainerprovidesaconsistentmechanismtoconfigureapplicationsandintegrateswithalmostallJavaenvironments,fromsmall-scaleapplicationstolargeenterpriseapplications.Thecontainercanbeturnedintoapartially-compliantEJB3containerbymeansofthePitchforkproject.TheSpringFrameworkiscriticizedbysomeasnotbeingstandardscompliant.However,SpringSourcedoesn'tseeEJB3complianceasamajorgoal,andclaimsthattheSpringFrameworkandthecontainerallowformorepowerfulprogrammingmodels.Aspect-orientedprogrammingframeworkTheSpringFrameworkhasitsownAOPframeworkwhichmodularizescross-cuttingconcernsinaspects.ThemotivationforcreatingaseparateAOPframeworkcomesfromthebeliefthatitwouldbepossibletoprovidebasicAOPfeatureswithouttoomuchcomplexityineitherdesign,implementation,orconfiguration.TheSAOPframeworkalsotakesfulladvantageoftheSpringContainer.TheSpringAOPframeworkisinterceptionbased,andisconfiguredatruntime.Thisremovestheneedforacompilationsteporload-timeweaving.Ontheotherhand,interceptiononlyallowsforpublicorprotectedmethodexecutiononexistingobjectsatajoinpoint.ComparedtotheAspectJframework,SpringAOPislesspowerfulbutalsolesscomplicated.Spring1.2includessupporttoconfigureAspectJaspectsinthecontainer.Spring2.0addedmoreintegrationwithAspectJ;forexample,thepointcutlanguageisreusedandcanbemixedwithSpAOP-basedaspects.Further,Spring2.0addedaSpringAspectslibrarywhichusesAspectJtooffercommonSpringfeaturessuchasdeclarativetransactionmanagementanddependencyinjectionviaAspectJcompile-timeorload-timeweaving.SpringSourcealsousesAspectJforAOPinotherSpringprojectssuchasSpringRooandSpringInsight,withSpringSecurityalsoofferinganAspectJ-basedaspectlibrary.SpringAOPhasbeendesignedtomakeitabletoworkwithcross-cuttingconcernsinsidetheSpringFramework.AnyobjectwhichiscreatedandconfiguredbythecontainercanbeenrichedusingSpringAOP.TheSpringFrameworkusesSpringAOPinternallyfortransactionmanagement,security,remoteaccess,andJMX.Sinceversion2.0oftheframework,SpringprovidestwoapproachestotheAOPconfiguration:schema-basedapproach.@AspectJ-basedannotationstyle.TheSpringteamdecidednottointroducenewAOP-relatedterminology;therefore,intheSpringreferencedocumentationandAPI,termssuchasaspect,joinpoint,advice,pointcut,introduction,targetobject(advisedobject),AOPproxy,andweavingallhavethesamemeaningsasinmostotherAOPframeworks(particularlyAspectJ).DataaccessframeworkSpring'sdataaccessframeworkaddressescommondifficultiesdevelopersfacewhenworkingwithdatabasesinapplications.SupportisprovidedforallpopulardataaccessframeworksinJava:JDBC,iBatis,Hibernate,JDO,JPA,OracleTopLink,ApacheOJB,andApacheCayenne,amongothers.Forallofthesesupportedframeworks,Springprovidesthesefeatures:Resourcemanagement-automaticallyacquiringandreleasingdatabaseresourcesExceptionhandling-translatingdataaccessrelatedexceptiontoaSpringdataaccesshierarchyTransactionparticipation-transparentparticipationinongoingtransactionsResourceunwrapping-retrievingdatabaseobjectsfromconnectionpoolwrappersAbstractionforBLOBandCLOBhandlingAllthesefeaturesbecomeavailablewhenusingTemplateclassesprovidedbySpringforeachsupportedframework.CriticssaytheseTemplateclassesareintrusiveandoffernoadvantageoverusing(forexample)theHibernateAPI..directly.Inresponse,theSpringdevelopershavemadeitpossibletousetheHibernateandJPAAPIsdirectly.Thishoweverrequirestransparenttransactionmanagement,asapplicationcodenolongerassumestheresponsibilitytoobtainandclosedatabaseresources,anddoesnotsupportexceptiontranslation.TogetherwithSpring'stransactionmanagement,itsdataaccessframeworkoffersaflexibleabstractionforworkingwithdataaccessframeworks.TheSpringFrameworkdoesn'tofferacommondataaccessAPI;instead,thefullpowerofthesupportedAPIsiskeptintact.TheSpringFrameworkistheonlyframeworkavailableinJavawhichoffersmanageddataaccessenvironmentsoutsideofanapplicationserverorcontainer.WhileusingSpringfortransactionmanagementwithHibernate,thefollowingbeansmayhavetobeconfigured.TransactionmanagementframeworkSpring'stransactionmanagementframeworkbringsanabstractionmechanismtotheJavaplatform.Itsabstractioniscapableofworkingwithlocalandglobaltransactions(localtransactiondoesnotrequireanapplicationserver).workingwithnestedtransactions.workingwithtransactionsafepoints.workinginalmostallenvironmentsoftheJavaplatformIncomparison,JTAonlysupportsnestedtransactionsandglobaltransactions,andrequiresanapplicationserver(andinsomecasesalsodeploymentofapplicationsinanapplicationserver).TheSpringFrameworkshipsaPlatformTransactionManagerforanumberoftransactionmanagementstrategies:TransactionsmanagedonaJDBCConnectionTransactionsmanagedonObject-relationalmappingUnitsofWorkTransactionsmanagedviatheJTATransactionManagerandUserTransactionTransactionsmanagedonotherresources,likeobjectdatabasesNexttothisabstractionmechanismtheframeworkalsoprovidestwowaysofaddingtransactionmanagementtoapplications:Programmatically,byusingSpring'sTransactionTemplateConfiguratively,byusingmetadatalikeXMLorJava5annotationsTogetherwithSpring'sdataaccessframework—whichintegratesthetransactionmanagementframework—itispossibletosetupatransactionalsystemthroughconfigurationwithouthavingtorelyonJTAorEJB.Thetransactionalframeworkalsointegrateswithmessagingandcachingengines.TheBoneCPSpring/HibernatepagecontainsafullexampleprojectofSpringusedinconjunctionwithHibernate.Model-view-controllerframeworkTheSpringFrameworkfeaturesitsownMVCframework,whichwasn'toriginallyplanned.TheSpringdevelopersdecidedtowritetheirownwebframeworkasareactiontowhattheyperceivedasthepoordesignofthepopularJakartaStrutswebframework,aswellasdeficienciesinotheravailableframeworks.Inparticular,theyfelttherewasinsufficientseparationbetweenthepresentationandrequesthandlinglayers,andbetweentherequesthandlinglayerandthemodel.LikeStruts,SpringMVCisarequest-basedframework.Theframeworkdefinesstrategyinterfacesforalloftheresponsibilitieswhichmustbehandledbyamodernrequest-basedframework.Thegoalofeachinterfaceistobesimpleandclearsothatit'seasyforSpringMVCuserstowritetheirownimplementationsiftheysochoose.MVCpavesthewayforcleanerfrontendcode.AllinterfacesaretightlycoupledtotheServletAPI.ThistightcouplingtotheServletAPIisseenbysomeasafailureonthepartoftheSpringdeveloperstoofferahigh-levelabstractionforweb-basedapplications[citationneeded].However,thiscouplingmakessurethatthefeaturesoftheServletAPIremainavailabletodeveloperswhileofferingahighabstractionframeworktoeaseworkingwithsaidAPI.TheDispatcherServletclassisthefrontcontrolleroftheframeworkandisresponsiblefordelegatingcontroltothevariousinterfacesduringtheexecutionphasesofaHTTPrequest.ThemostimportantinterfacesdefinedbySpringMVC,andtheirresponsibilities,arelistedbelow:HandlerMapping:selectingobjectswhichhandleincomingrequests(handlers)basedonanyattributeorconditioninternalorexternaltothoserequestsHandlerAdapter:executionofobjectswhichhandleincomingrequestsController:comesbetweenModelandViewtomanageincomingrequestsandredirecttoproperresponse.Itessentiallyislikeagatethatdirectstheincominginformation.Itswitchesbetweengoingintomodelorview.View:responsibleforreturningaresponsetotheclient.Itispossibletogostraighttoviewwithoutgoingtothemodelpart.Itisalsopossibletogothroughallthree.ViewResolver:selectingaViewbasedonalogicalnamefortheview(useisnotstrictlyrequired)Handlerinterceptor:interceptionofincomingrequestscomparablebutnotequaltoServletfilters(useisoptionalandnotcontrolledbyDispatcherServlet).LocaleResolver:resolvingandoptionallysavingofthelocaleofanindividualuserMultipartResolver:facilitateworkingwithfileuploadsbywrappingincomingrequestsEachstrategyinterfaceabovehasanimportantresponsibilityintheoverallframework.Theabstractionsofferedbytheseinterfacesarepowerful,sotoallowforasetofvariationsintheirimplementations,SpringMVCshipswithimplementationsofalltheseinterfacesandtogetheroffersafeaturesetontopoftheServletAPI.However,developersandvendorsarefreetowriteotherimplementations.SpringMVCusestheJavajava.util.Mapinterfaceasadata-orientedabstractionfortheModelwherekeysareexpectedtobestringvalues.TheeaseoftestingtheimplementationsoftheseinterfacesseemsoneimportantadvantageofthehighlevelofabstractionofferedbySpringMVC.DispatcherServletistightlycoupledtotheSpringInversionofControlcontainerforconfiguringtheweblayersofapplications.However,applicationscanuseotherpartsoftheSpringFramework—includingthecontainer—andchoosenottouseSpringMVC.BecauseSpringMVCusestheSpringcontainerforconfigurationandassembly,web-basedapplicationscantakefulladvantageoftheInversionofControlfeaturesofferedbythecontainer.Thisframeworkallowsformultilayering.Itallowsforthecodetobebrokenapartandusedmoreeffectivelyinsegments,whileallowingthemvctodothework.Itallowsforbackandforthtransmissionofdata.Somedesignsaremorelinearwithoutallowingaforwardandbackwardflowofinformation.MVCisdesignedverynicelytoallowthisinteraction.Itisusedmorethanjustinwebdesign,butalsoincomputerprogramming.It'sveryeffectiveforwebdesign.Basicallyallowsachecksandbalancesystemtooccurwherebeforebeingvieweditcanbeproperlyexamined.RemoteaccessframeworkSpring'sRemoteAccessframeworkisanabstractionforworkingwithvariousRPC-basedtechnologiesavailableontheJavaplatformbothforclientconnectivityandexportingobjectsonservers.ThemostimportantfeatureofferedbythisframeworkistoeaseconfigurationandusageofthesetechnologiesasmuchaspossiblebycombiningInversionofControlandAOP.Theframeworkalsoprovidesfault-recovery(automaticreconnectionafterconnectionfailure)andsomeoptimizationsforclient-sideuseofEJBremotestatelesssessionbeans.Convention-Over-ConfigurationRapidApplicationDevelopmentSpringRooisSpring'sConvention-over-configurationsolutionforrapidlybuildingapplicationsinJava.ItcurrentlysupportsSpringFramework,SpringSecurityandSpringWebFlow,withremainingSpringprojectsscheduledtobeaddedinduecourse.StrutsIntroductionApacheStrutsFromWikipedia,thefreeencyclopediajumpto:navigation,search"Struts"re
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024六年級(jí)英語(yǔ)上冊(cè) Unit 3 My weekend plan課時(shí)3 Let's try Let's talk說(shuō)課稿 人教PEP
- 2024-2025學(xué)年高中數(shù)學(xué) 開(kāi)學(xué)第一周 第一章 集合與函數(shù)概念 1.1.1 集合的含義與表示 第一課時(shí) 集合的含義說(shuō)課稿 新人教A版必修1
- 26手術(shù)臺(tái)就是陣地 (說(shuō)課稿)-2024-2025學(xué)年三年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 2025冷庫(kù)銷(xiāo)售合同范本
- 影視企業(yè)簽訂業(yè)績(jī)承諾協(xié)議的財(cái)務(wù)風(fēng)險(xiǎn)控制研究
- Unit 1 Let's be friends!(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 農(nóng)村征地合同范本
- 高中語(yǔ)文統(tǒng)編版(部編版)必修 上冊(cè)第一單元3 2 《哦香雪》單篇教學(xué)設(shè)計(jì)
- Unit 4 Space Exploration Listening and Speaking 說(shuō)課稿-2023-2024學(xué)年高中英語(yǔ)人教版(2019)必修第三冊(cè)001
- 丹尼斯合同范本
- 2025至2030年中國(guó)減肥肽數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024內(nèi)蒙古公務(wù)員省直行測(cè)、行政執(zhí)法、省考行測(cè)考試真題(5套)
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 山東省濱州市濱城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 期末試卷:安徽省宣城市2021-2022學(xué)年七年級(jí)上學(xué)期期末歷史試題(解析版)
- 幼兒教師新年規(guī)劃
- 2024年湖南省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2024新版(北京版)三年級(jí)英語(yǔ)上冊(cè)單詞帶音標(biāo)
- 第21課 活動(dòng)課 從考古發(fā)現(xiàn)看中華文明的起源 教學(xué)課件
- 部編版《道德與法治》四年級(jí)下冊(cè)教材解讀與分析文檔
- PP、PVC-風(fēng)管制作安裝施工作業(yè)指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論