數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目2014-2015上課程_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目2014-2015上課程_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目2014-2015上課程_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目2014-2015上課程_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目2014-2015上課程_第5頁(yè)
已閱讀5頁(yè),還剩184頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java2EnterpriseSSHFramework1123Struts45PartPartⅠ 式,這種新程序開(kāi)發(fā)模式稱為瀏覽器/服務(wù)器(B/S)模式。 靜態(tài)網(wǎng)頁(yè)是指沒(méi)有數(shù)據(jù)庫(kù)、不含程序、不可交互和不超文本標(biāo)示語(yǔ)言。文本是由命令組成的描述格、等。 gateintergace)通用網(wǎng)關(guān)接口的簡(jiǎn)稱。它 Perl(PracticalExtractionandReportBourne 或者Tcl(ToolCommandPHP(HypertextC和流編寫語(yǔ)言,以至于一般的“cgi程序”就是Perl程序。 print語(yǔ)句來(lái)實(shí)現(xiàn),開(kāi)發(fā)者幾乎無(wú)法從程序中看出最后輸 系出名門 和 標(biāo)記、普通文本、命令以及件等。利用可以向網(wǎng)頁(yè)中添加交互式內(nèi)容(如表單),也可以創(chuàng)化的部分加入的了一些特有的,這些又稱為 草根中走出的巨人 的縮寫。是一種開(kāi)放源代碼的編程語(yǔ)言,與和Java、Perl以及自創(chuàng)新的語(yǔ)法。具有非常強(qiáng)大的功 Scriptlet)和JSP 擴(kuò)展名就是.jsp。 和Scriptlets, Apache、JBoss和廠商提 模型-視圖-控制器b 模型的變化-機(jī)制。 什么是使 ObjectModel進(jìn)行動(dòng)態(tài)顯示和交互Ajax是由JesseJamesGarrett創(chuàng)造的,稱它為 +異步JavaScript和 Explorer中首次引入,它是MooTools,Prototype,

Part工作原理,Web.xml,基本語(yǔ)法,編譯指令, ,內(nèi)置對(duì)象,Servlet,Filter,Listener.PartⅡ?qū)W習(xí) 否正確,將JSP頁(yè)面轉(zhuǎn)換為Servlet(Servlet就是用JavaServlet源文件生成class文件,這一階段是轉(zhuǎn)換階段。 在上發(fā)布應(yīng)用之前,首先要了解 解讀Java應(yīng)用通過(guò)一個(gè)基于的發(fā)布描述符文件來(lái)配置(1)Servlet的定義(2)Servlet的初始化參數(shù)(3)Servlet以及JSP的映射(4)Filter的定義 e文 (7)資 (8)環(huán)境變量的定義 網(wǎng)頁(yè)數(shù)據(jù)就是JSP服務(wù)器不處理的部分,例如的內(nèi) 編譯指令主要用來(lái)提供整個(gè)JSP網(wǎng)頁(yè)相關(guān)的信息,并且用令:page、include和taglib。 所的的各個(gè)頁(yè)面之間瀏覽時(shí),這個(gè)applicationJSP個(gè)內(nèi)置對(duì)象的范圍(scope),分別為pageContext<request< session<application都具有方法setAttribute( )和getAttribute( )。個(gè)Servlet實(shí)例,相當(dāng)于這個(gè)JSP產(chǎn)生的Servlet類的this,可以通過(guò)對(duì)象實(shí)例的屬性和函數(shù)。在JSP頁(yè)面中,out對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,是一個(gè)輸出config表示一個(gè)javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取Servlet實(shí)例的初始化參數(shù)。Servlet

b器并不是Servlet,他們并不實(shí)際創(chuàng)建一個(gè)請(qǐng)求。他們是請(qǐng)求到達(dá)一個(gè)Servlet前的預(yù)處理程序,在響應(yīng)離開(kāi)Servlet后的后處理程序。就像你將在后面的例子中看到器器可以客戶端的請(qǐng)求、服務(wù)端的操作等。通過(guò)監(jiān) 增加一個(gè)HttpSession時(shí),給人數(shù)加1。器還有一生命周期的。編寫器需要實(shí)現(xiàn)相應(yīng)的接口,常用的接口: PartStruts體系結(jié)構(gòu),Action,Result,Interceptors,Tags,EL,OGNL,Theme,View, PartⅢStrutsStruts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金 好地幫助Java開(kāi)發(fā)者利用J2EE開(kāi)發(fā)應(yīng)用。Struts主要采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn),把Servlet、JSP、自定義發(fā)的,也是致力于組件化和代碼重用的J2EE框架,后來(lái)Struts與兩合并,稱為Sturts2??蚣芸梢詷O大地提高開(kāi)發(fā)效率,Rickard 的過(guò)濾器并把所有的請(qǐng)求(/*)映射到這個(gè)過(guò)濾器。<web-<filter-name>struts2</filter-<filter- <filter-name>struts2</filter-<url-pattern>/*</url-</filter- </web-客戶端提起一個(gè)(HttpServletRequest)請(qǐng)求,即在瀏覽器中輸。請(qǐng)求被提交到一系列()過(guò)濾器等)、。 示例程序——login.jsp(1)<s:form<table<td><s:submit <td><s:reset示例程序importcom.annlee.constant.StrutsConstant;publicclassLoginActionextendsActionSupport{privateStringusername;privateStringpassword;{return}{this.username=}publicString{

publicStringexecute()throws{if{put("user",}{}}}return}{this.password=}示例程序<web-appversion="2.4"xmlns="h <filter-name>struts2</filter-<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter- <filter-name>struts2</filter-<url-pattern>/*</url- 示例程序<!DOCTYPEstruts"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN" <actionname="login"<result<result<result示例程序perties(5)<!DOCTYPEvalidatorsPUBLIC"-//OpenSymphonyGroup//XWorkValidator <field<field-validator<message<field<field-validator<messageAction是Struts2編程的部分,在模式中擔(dān)任控制 Property-DrivenAction將直接用自己的字段來(lái)充當(dāng)性和它set、get方法。它一般用在頁(yè)面表單比較簡(jiǎn)單的情 口,它是所有action執(zhí)行結(jié)果的通用接口。在struts- 頁(yè)面跳轉(zhuǎn)DispatcherResult是最常用的一種result,也是Struts2默認(rèn)的result,稱為通用result。action執(zhí)行完后,請(qǐng)求 <resultname="success"<paramRedirectResult與DispatcherResult作用類似,也是實(shí)ChainResult是一種result類型,它基于自己的器stack(堆棧)和result調(diào)用一個(gè)action,這樣允許一個(gè) 個(gè)ChainResult,然后通過(guò)一個(gè)ChainingInterceptor攔器 請(qǐng)求通過(guò)一個(gè)或多個(gè)Interceptor。多個(gè)器組合在一器棧InterceptorStack)。interceptor 化相應(yīng)的interceptor對(duì)象,然后串成一個(gè)列表(list),最后一個(gè) Struts2 ,還包 <%@taglibprefix="s"uri="/struts- 被設(shè)置為字符串的,然后它們會(huì)解析%{ 大括號(hào)之間的內(nèi)容都會(huì)基于valuestack求值。注意3個(gè)規(guī)

“%{”開(kāi)始并以“} ”結(jié)束,這些字符在對(duì)表達(dá)式求 模板 Struts提供的Html ):小段代碼,在JSP、 te(模板):一個(gè)文件,通常使用JSP或者M(jìn)arker編寫,能被特定 tags)輸出 ):一系列tem tes打包在一起, result中可以配置使用 模板是基 和模 來(lái)裝載的。模 使struts.ui.tem teDir屬性,在perties里來(lái)定義(缺 的兩個(gè)位置將會(huì)被搜索(按照順序) te.ftl(2)在classpath里 te.ftl選 上 屬性。如<s:textfield 的 屬性設(shè)置。這可以輕松地在幾個(gè)選擇的地方使用 會(huì)話范圍內(nèi)的以選 (5)session會(huì)話范圍 (6)application會(huì)話范圍 內(nèi)的struts.ui.theme 屬性(缺省是如果想要改變整個(gè)應(yīng)用 ,調(diào)整pertiesStruts2自帶 取數(shù)據(jù)所自定義的語(yǔ)言。開(kāi)始EL只能在JSTL中使用, !象圖形導(dǎo)航語(yǔ)言)。可以從http://獲取有一個(gè)根對(duì)象的概念(在Struts2中,它就是中(作為上下文 ),包括session、application、request、attr這些。這些對(duì)象與根對(duì)象無(wú)關(guān),它們只是存在于context的一邊(保存在context中)。所 這些對(duì)象時(shí)需要使用#來(lái)告訴不要在根對(duì) result都是為了整合不同的視圖技術(shù)而設(shè)計(jì)的。1.Velocity是一個(gè)基于java的模板引擎(temteengine)2.marker也是一個(gè)模板引擎,允許JavaServlet保持圖形設(shè)模板用servlet提供的數(shù)據(jù)動(dòng)態(tài)地生成HTML。4.XSLTResult用XSLT來(lái)轉(zhuǎn)換action對(duì)象到XML在Struts中使 Marker允許Javaservlet保封完成的。模板用servlet提供的數(shù)據(jù)動(dòng)態(tài)地生成 Marker編寫的文件后綴名為“.ftl”。在struts中對(duì) Marker提供了完美的支持,struts- Marker類型的result:<action<result marker">test- 錄application)、classpath。這個(gè)順序?qū)τ谠谕耆幾g的jar中提供模版很理想,但是也同時(shí)支持在應(yīng) 中定義這些模版來(lái)覆蓋jar中的模版文件。事實(shí)上,這就是為什么可以覆蓋struts中默認(rèn)的UItags和Tags的原理。 variable)指定一個(gè)路徑(文件系統(tǒng)中的任意一個(gè) )。 如,在JSP中可能這樣創(chuàng)建一個(gè)form:<s:form <s:textfieldlabel="Firstname"<s:submit入到工程的classpath。其次,struts-default.xml <actionname=“test” <resultname="success"(1)值棧(value(2)action上下文Velocity是提供的一般Tag的擴(kuò)展.只要簡(jiǎn)單的了解這些的方式:#sxxx(...)...end(),就可以馬上開(kāi)始使用了。注意:“#s”后面是沒(méi)空格的,它與名稱直接連在一起(雖然不會(huì)發(fā)生什么但在閱讀上實(shí)在很不舒服,而在Struts中使用java開(kāi)源報(bào)表庫(kù)。它將.jrxml(XML源文件)編譯為.jasper(=編譯后版本)文件,它可以被轉(zhuǎn)換為多種格式輸出、、XLS和dist/jasperreports-X.jar mons-*.jar (all the-exceptforlogging)lib/itext-X.jar gettersetter方法的類,可以作為值對(duì)象來(lái)使用)。.jasper文件。這些模版將會(huì)被用來(lái)設(shè)計(jì)結(jié)果報(bào)表。對(duì)于ireport)來(lái)定義。將文件到工程的 和lastName字段(這兩個(gè)屬性來(lái)自 .class)。這配置struts.xml。Jasper類型的result不是struts2缺省就提供了的,而是作為一個(gè)plugin代 程序的技術(shù)方面。Struts的 java.util.Local類中,而action則通過(guò)一個(gè)定義與PublicLocalegetLocale()ActionContext獲得locale的值。Struts2通過(guò)查詢?yōu)榱私o不同的地區(qū)提供不同的字符串信息,需要一個(gè)應(yīng)用程序的源文件來(lái)為給定的locale找到正確的字符串信息。幸運(yùn)的是,以Java.util.ResourceBundle抽象類的方式提供了這些功能。帶來(lái)了資源包的實(shí)現(xiàn):和java.util.ListResouceBundle。這兩個(gè)類會(huì)自動(dòng)加載含有 信息的屬性文件(*.properties文件)。當(dāng)被調(diào)用的時(shí)候,會(huì)查找正確的名字,如 。資源包按照下面的順序搜索(1)ActionCperties(2)BaseCperties (象從第一步重復(fù)執(zhí)(5)perties(類所在 和每個(gè) 直到 。自(7)全局資源屬性(perties里定義(1)通過(guò)配置屬性或者編程的方式默認(rèn)資源包的功能。修改perties文件中的:struts.custom.i18n.resources.i18n”); 。 屬性中使用 PartⅣJava數(shù)據(jù)庫(kù)最原始的方法是通過(guò)來(lái)完成的。(JavaDataBaseConnectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行語(yǔ)句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一,它由一組用Java語(yǔ)言編寫的類和接口組java.sql包提供了JDBC Connection類:負(fù)責(zé) 將傳入的命令事先編好等待使用,當(dāng)有單一的指 建立數(shù)據(jù)庫(kù)連接,獲得Connection對(duì)象根據(jù)SQL語(yǔ)句建立Statement對(duì)象或PreparedStatement對(duì)象用Connection對(duì)象執(zhí)行SQL語(yǔ)句,獲得結(jié)果集ResultSet對(duì)象 結(jié)果集ResultSet對(duì)象中的數(shù)據(jù),保存某個(gè)Java對(duì)象中如果是修改或者刪除操作需要對(duì)數(shù)據(jù)發(fā)commit命令最后依次關(guān)閉各個(gè)Statement對(duì)象和Connection對(duì)象的全稱是Object/RelationMap和數(shù)據(jù)庫(kù)的橋梁。并不是一種具體的產(chǎn)品,而是一類 為了解決的問(wèn)題,Sun公司首先推出了EntityEJB的解響了EntityEJB的實(shí)際應(yīng)用。 它僅僅停留在SQLMap O/RMap 體系結(jié)構(gòu)(Architecture) 持久化類(Persistent 連接池C3P0,它位于lib Session類對(duì)于Hibernate開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)最重要的和CriteriaCallback類。當(dāng)一些有用的 發(fā)生時(shí)――例如持久對(duì)象 session.save(user); <hibernate-map的表所在的和/或catalog名稱。 。class設(shè)定標(biāo)識(shí)符 的類名.可寫它的完整類名如: 作為主鍵,而不是使用一個(gè)鍵。 括它們的包裝類)和以及對(duì)應(yīng)的標(biāo)準(zhǔn)類型。集合類(Collections)映射Java提供了豐富的集合類庫(kù),它們可分為3List:集合中的對(duì)象按索引位置排序,可以有重復(fù)對(duì)象,允許按照對(duì)Hibernate允許把以上3種Java。 過(guò)load()或get()函數(shù)來(lái)獲取持久化對(duì)象,這里就需要使Hibernate提供了完善的按條件(QueryByCriteria,的功能。也可以用本地SQL(native描述查詢,Hibernate額外提供了將結(jié)果集(result 直接使用些數(shù)據(jù)庫(kù)的特性,或者用于將原有的JDBC應(yīng)用遷移到 使用注釋配置Java注釋的更為巧妙的新方法。借助新的 文件,注釋直接嵌入到Java類中,并提供一種強(qiáng)大及靈 出顯示功能,最近發(fā)布的JavaIDE也為其提供了有力的支規(guī)范旨在提供一種標(biāo)準(zhǔn)化的Java持久性機(jī)制。由于Spring的是個(gè)輕量級(jí)(Lightweight),實(shí)現(xiàn)了 ofControl)模式的容器,基于此所建立的測(cè)試(Testability)的特性,使得整個(gè)應(yīng)用程序在架構(gòu) JavaMail1.4,JAX-S2.0等)。 提取 基于注釋的Servlet和Portlet 控制器風(fēng)格配置擴(kuò)展 認(rèn)可的支持,支持6r機(jī)制。Spring框架的jar文件,兼容AOP,Spring,Springb模塊,SpringC框架。什么是Spring包括兩個(gè)重要的概念:IoC(Inversionof Injection, 什么是何謂輕量級(jí)所謂“輕量級(jí)”是相對(duì)于“重量級(jí)”來(lái)講的。在Spring 化”了企業(yè)級(jí)應(yīng)用的開(kāi)發(fā)。這里的“簡(jiǎn)化”是相對(duì)的。 b 透明的把P集成到軟件中去。 的是那些如果選擇Spring或者其他的使用特定的J2EEAPIs戶非常簡(jiǎn)單地看到這些class的JavaBean的屬性。 口代替classes減弱編程成本,降至最小。Spring的設(shè)計(jì)使依靠很少的APIs建立應(yīng)用成為可能。在Spring應(yīng)用中應(yīng)用構(gòu)架。可以選擇作為或者localEJBs擴(kuò)展業(yè)務(wù) 者像Hibernate一樣的O/Rmap ofControl,IoC)原理。Spring框架所提供 在Spring中,BeanFactory是IoC容器的接口。它的職 L數(shù)。而beanfactory將通過(guò)調(diào)用beandefintionreader從多個(gè)文件中bean定義。獲取ObjectgetBean(String):返回以給定名字 ,否則將返回一個(gè)新建ObjectgetBean(String,Class):返回給定名稱的bean實(shí)例,ClassgetType(Stringname):返回給定名稱的bean的ClassbooleanisSingleton(String):判斷給定名稱的bean定義(或String[]getAliases(String):返回給定bean名稱的所有別名配置對(duì)象通過(guò)調(diào)用staticfactory方法來(lái)實(shí)例化bean,而不是使用 對(duì)bean采用統(tǒng)一名約定將會(huì)使配置更加簡(jiǎn)單易懂。而且在使用Spring時(shí),如果要發(fā)通知(advice)給與一組名稱相關(guān)的bean時(shí),這種簡(jiǎn)單名方式將會(huì)帶來(lái)額外的果一個(gè)bean有多個(gè)id,那么其他的id在本質(zhì)上將被認(rèn)為是別名。為了提供多個(gè)名稱,需要通過(guò)alias屬性來(lái)加以指定。而 <aliasname="fromName" ofControl,IoC)名字的由來(lái)。Setter通過(guò)調(diào)用無(wú)參構(gòu)造函數(shù)或無(wú)參static工廠方法實(shí)例化set()方法(又被稱為setter)的DI injection,也就是 注使用Constructorinjection,由于使用Constructorinjection時(shí)并不如Setter injection時(shí)擁有setXXX()這其它的協(xié)作者 性的值設(shè)置為對(duì)容器中的另外一個(gè)bean的。該 使用 對(duì)于像陣列、javautilList、java.util.Set、java.util.Map等集合實(shí)例,在注入前必須填充入一些實(shí)它卻比普通的JavaBean多了很多特性。并且使用者不但象實(shí)例的一張“處方(recipe)”或者模板。就如class建對(duì)象的作用域,而不必在JavaClass級(jí)定義作用域。Spring支持五種作用域(其中有三種只能用在基于的SpringApplicationContext)。Spring提供了幾個(gè)標(biāo)志接口(markerinterface),這些 利用J2EE應(yīng)用的一部分自動(dòng)啟動(dòng)。當(dāng)然仍然可以采用編程 利用 singleton提前進(jìn)行實(shí)例化。提前實(shí)例化意味著作為配置所有的singletonbean。通常情況下這是件好事,因個(gè)延遲初始化bean將告訴IoC 同的是,ContextLoaderListener不能在與Servlet2.2兼Spring2.5順應(yīng)這種趨勢(shì),提供了完全基于注釋配置Bean、裝配BeanSpringIoC替換原來(lái)基于的配置。在本例中有3個(gè)類,它們分別是Office、Car和Boss,使用容car和office這兩個(gè)私有成員變量進(jìn)行自動(dòng)注入。所以對(duì)成員變量使用@Autowired后,甚至可以將sette方法(setCar()和setOffice())從Boss中刪除在Setter由于Boss()構(gòu)造函數(shù)有兩個(gè)入?yún)?,分別是car和office,為Boss(Carcar,Office office)的入?yún)?lái)創(chuàng)建Boss在默認(rèn)情況下使用注釋進(jìn)行自動(dòng)注入時(shí), 匹配的Bean。@Autowired(requiredfalse),這等于告訴Spring:在找不到匹配BeanSpring不但支持自己定義的@Autowired的注釋,還支持幾個(gè)由規(guī)的動(dòng)注入,面@Resource認(rèn)按自動(dòng)注入罷了。 注釋就 Spring2.0引入了一種更加簡(jiǎn)單并且更強(qiáng)大的方式來(lái)自定SpringSpring用純Java實(shí)現(xiàn),它不需要專門的編譯過(guò)程。Spring不需要控制類裝載器層次,因此它適用于J2EE 響到SpringOAPI的情況下加入對(duì)成員變量器支持,但Spring并沒(méi)有實(shí)現(xiàn)成員變量器。配置在Spring2.0中最激動(dòng)人心的增強(qiáng)之一是關(guān)于它更@AspectJ使用了Java5的注解,可以將切面 Java類。AspectJ5發(fā)布的AspectJproject 種@AspectJ風(fēng)格。Spring2.0使用了和AspectJ5一樣的注解,使用了AspectJ提供的一個(gè)庫(kù)來(lái)做切點(diǎn)(Spring并不依賴于AspectJ

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論