版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
J2EE架構(gòu)與應(yīng)用程序設(shè)計(jì)課程性質(zhì):專業(yè)選修課考核辦法:平時(shí)(出勤10%+上機(jī)20%)+期末70%授課教師:程嵐嵐聯(lián)系方式:ahchengll@課程要求先行課:Java語言程序設(shè)計(jì)數(shù)據(jù)庫原理與設(shè)計(jì)
XML與WebService
計(jì)算機(jī)網(wǎng)絡(luò)
認(rèn)真聽課,嚴(yán)格考勤課后復(fù)習(xí),動(dòng)手練習(xí)教材JavaWeb整合開發(fā)實(shí)戰(zhàn)
基于Struts2+Hibernate+Spring賈蓓、鎮(zhèn)明敏、杜磊編著清華大學(xué)出版社2013年7月出版定價(jià):79.8元參考書目《輕量級(jí)JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn)》(第三版),李剛著,電子工業(yè)出版社《Eclipse寶典》,李松林等編著,電子工業(yè)出版社參考網(wǎng)站//forums/J2EE/forums課程內(nèi)容基礎(chǔ)技術(shù)Web應(yīng)用開發(fā)基礎(chǔ)JavaWeb開發(fā)環(huán)境JSP與ServletSQL與JDBC框架技術(shù)Struts2框架技術(shù)Spring框架技術(shù)Hibernate框架技術(shù)框架整合Spring與Struts2框架整合Spring與Hibernate框架整合什么是JavaEEJavaEEJavaEnterpriseEditionJava2
jdk1.0,jdk1.2,jdk1.3,jdk1.4,jdk1.5,……Java8Java2PlatformJava2StandardEditionJava2MicroEdition
Java2EnterpriseEditionJavaEE5(2006,May)
JavaEE6JavaEE7(2013,June)JavaEE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)現(xiàn)成的產(chǎn)品JavaEE已成為使用最廣泛的Web程序設(shè)計(jì)技術(shù)支持Web應(yīng)用服務(wù)器的開發(fā)和應(yīng)用支持Web應(yīng)用程序的開發(fā)和應(yīng)用JavaEE的多層體系結(jié)構(gòu)應(yīng)用組件JavaEE運(yùn)行環(huán)境定義了3種類型的組件Application客戶端應(yīng)用程序Web組件Servlet、JSP,JSF應(yīng)用過濾器,Web事件監(jiān)聽器企業(yè)Bean組件(EnterpriseJavaBean或enterprisebean)容器類型容器用于管理運(yùn)行在其中的組件并為之提供服務(wù)。Application客戶端容器Web容器EJB容器JavaEE7的容器JavaEE應(yīng)用概述JavaEE應(yīng)用往往超出了Sun所提出的經(jīng)典JavaEE應(yīng)用規(guī)范,而是一種更廣泛的開發(fā)規(guī)范。經(jīng)典JavaEE應(yīng)用以EJB(企業(yè)級(jí)JavaBean)為核心,以應(yīng)用服務(wù)器為運(yùn)行環(huán)境,所以通常開發(fā)、運(yùn)行成本較高。輕量級(jí)JavaEE應(yīng)用具備了JavaEE規(guī)范的種種特征,例如面向?qū)ο蠼5乃季S方式、優(yōu)秀的應(yīng)用分層及良好的可擴(kuò)展性、可維護(hù)性。輕量級(jí)JavaEE應(yīng)用保留了經(jīng)典Java應(yīng)用的架構(gòu),但開發(fā)、運(yùn)行成本更低。輕量級(jí)JavaEE的特色輕量級(jí)JavaEE平臺(tái)在企業(yè)開發(fā)中占有絕對(duì)的優(yōu)勢(shì)JavaEE應(yīng)用以其穩(wěn)定的性能、良好的開放性及嚴(yán)格的安全性,深受企業(yè)應(yīng)用開發(fā)者的青睞。實(shí)際上,對(duì)于信息化要求較高的行業(yè),如銀行、電信、證券及電子商務(wù)等行業(yè),都不約而同地選擇了JavaEE開發(fā)平臺(tái)。淘寶在技術(shù)方面的變革(參見《淘寶技術(shù)這十年》):2003年誕生,采用LAMP架構(gòu)(Linux+Apache+MySQL+PHP)2004年,轉(zhuǎn)向Java,MVC框架用WebX,控制層用EJB,持久層是ibatis,,由當(dāng)時(shí)的Sun公司提供支持。輕量級(jí)JavaEE的特色選擇JavaEE構(gòu)建信息化平臺(tái)的意義體現(xiàn)了一種長遠(yuǎn)的規(guī)劃企業(yè)的信息化是不斷整合的過程,在未來的日子里,經(jīng)常會(huì)有不同平臺(tái)、不同系統(tǒng)的異構(gòu)系統(tǒng)需要整合。JavaEE應(yīng)用提供的跨平臺(tái)性、開放性及各種遠(yuǎn)程訪問的技術(shù),為異構(gòu)系統(tǒng)的良好整合提供了保證。JavaEE重量級(jí)JavaEEVs.SSHSSH組合是一種輕量級(jí)的JavaEE平臺(tái)具有高度的實(shí)用性和可擴(kuò)展性?;谳p量級(jí)JavaEE平臺(tái)的應(yīng)用可以運(yùn)行在普通Web容器中,無須EJB容器的支持,且一樣具有穩(wěn)定的性能和極高的可擴(kuò)展性、可維護(hù)性。提供持久化服務(wù)封裝顯示提供數(shù)據(jù)訪問服務(wù)提供業(yè)務(wù)邏輯實(shí)現(xiàn)SSH架構(gòu)的分層模型圖表現(xiàn)層MVC的控制器層業(yè)務(wù)邏輯層DAO層DomainObject層數(shù)據(jù)庫SSH架構(gòu)的分層模型圖DomainObject(領(lǐng)域?qū)ο?層:此層由系列的POJO組成,這些對(duì)象是該系統(tǒng)的DomainObject,往往包含了各自所需要實(shí)現(xiàn)的業(yè)務(wù)邏輯方法。DAO(DataAccessObject,數(shù)據(jù)訪問對(duì)象)層:此層由一系列的DAO組件組成,這些DAO實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫的創(chuàng)建、查詢、更新和刪除等原子操作SSH架構(gòu)的分層模型圖業(yè)務(wù)邏輯層:此層由一系列的業(yè)務(wù)邏輯對(duì)象組成,這些業(yè)務(wù)邏輯對(duì)象實(shí)現(xiàn)了系統(tǒng)所需要的業(yè)務(wù)邏輯方法。這些業(yè)務(wù)邏輯方法可能僅僅用于暴露DomainObject對(duì)象所實(shí)現(xiàn)的業(yè)務(wù)邏輯方法,也可能是依賴DAO組件實(shí)現(xiàn)的業(yè)務(wù)邏輯方法。控制器層:此層由一系列控制器組成,這些控制器用于攔截用戶請(qǐng)求,并調(diào)用業(yè)務(wù)邏輯組件的業(yè)務(wù)邏輯方法,處理用戶請(qǐng)求,并根據(jù)處理結(jié)果轉(zhuǎn)發(fā)到不同的表現(xiàn)層組件。表現(xiàn)層:此層由系列的JSP頁面、Velocity頁面、PDF文檔視圖組件組成,負(fù)責(zé)收集用戶請(qǐng)求,并將顯示處理結(jié)果。JavaEE應(yīng)用的組件總體而言,JavaEE應(yīng)用大致包括如下幾類組件表現(xiàn)層組件:主要負(fù)責(zé)收集用戶輸入數(shù)據(jù),或者向客戶顯示系統(tǒng)狀態(tài)。控制器組件:對(duì)于JavaEE的MVC框架而言,框架提供一個(gè)前端核心控制器,而核心控制器負(fù)責(zé)攔截用戶請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給用戶實(shí)現(xiàn)的控制器組件。而這些用戶實(shí)現(xiàn)的控制器則負(fù)責(zé)處理調(diào)用業(yè)務(wù)邏輯方法,處理用戶請(qǐng)求。業(yè)務(wù)邏輯組件:是系統(tǒng)的核心組件,實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯。業(yè)務(wù)邏輯方法僅僅負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯,不應(yīng)該進(jìn)行數(shù)據(jù)庫訪問。因此,業(yè)務(wù)邏輯組件中不應(yīng)該出現(xiàn)原始的Hibernate、JDBC等API。JavaEE應(yīng)用的組件DAO組件:DataAccessObject,也被稱為數(shù)據(jù)訪問對(duì)象。每個(gè)DAO組件都提供DomainObject對(duì)象基本的創(chuàng)建、查詢、更新和刪除等操作,這些操作對(duì)應(yīng)于數(shù)據(jù)表的CRUD等原子操作。如果采用不同的持久層訪問技術(shù),DAO組件的實(shí)現(xiàn)會(huì)完全不同。為了業(yè)務(wù)邏輯組件的實(shí)現(xiàn)與DAO組件的實(shí)現(xiàn)分離,我們?yōu)槊總€(gè)DAO組件都提供接口,業(yè)務(wù)邏輯組件面向DAO接口編程,從而提供更好的解耦。領(lǐng)域?qū)ο蠼M件:領(lǐng)域?qū)ο螅―omainObject)抽象了系統(tǒng)的對(duì)象模型。這些領(lǐng)域?qū)ο蟮臓顟B(tài)都必須保存在數(shù)據(jù)庫里。因此,每個(gè)領(lǐng)域?qū)ο笸ǔ?duì)應(yīng)一個(gè)或多個(gè)數(shù)據(jù)表,領(lǐng)域?qū)ο笸ǔP枰峁?duì)數(shù)據(jù)記錄訪問方式。JavaEE應(yīng)用的優(yōu)勢(shì)Questions我可以使用用JSP完成這個(gè)系統(tǒng),為什么還要用Hibernate等技術(shù)?我完全可以使用純粹的JSP完成整個(gè)系統(tǒng),為什么還要將系統(tǒng)分層?
我們不能僅僅考慮系統(tǒng)開發(fā)過程,還需要考慮系統(tǒng)后期的維護(hù)、擴(kuò)展,還要考慮大型系統(tǒng)的協(xié)同開發(fā)。對(duì)于個(gè)人學(xué)習(xí)、娛樂性的個(gè)人站點(diǎn),的確沒有必要采用JavaEE應(yīng)用架構(gòu),采用純粹的JSP就可以實(shí)現(xiàn)整個(gè)系統(tǒng)。對(duì)于大型的信息化系統(tǒng),采用JavaEE應(yīng)用架構(gòu)則有很大的優(yōu)勢(shì)。軟件不能徹底替換,只能在其原來基礎(chǔ)上延伸如果支撐企業(yè)系統(tǒng)的軟件不具備可擴(kuò)展性,當(dāng)企業(yè)平臺(tái)發(fā)生改變時(shí),我們?nèi)绾蚊鎸?duì)這種改變?如果我們新開發(fā)的系統(tǒng)不能與老系統(tǒng)有機(jī)地融合在一起,那么老系統(tǒng)的信息如何重新利用?這種損失將無法用金錢來衡量。對(duì)于信息化系統(tǒng),對(duì)整個(gè)系統(tǒng)工作量而言,前期開發(fā)工作僅僅是小部分,而后期的維護(hù)、升級(jí)往往占更大的比重。更極端的情況是,可能在前期開發(fā)期間,企業(yè)需求已經(jīng)發(fā)生改變……這種改變是客觀的,而軟件系統(tǒng)必須適應(yīng)這種改變,這要求軟件系統(tǒng)具有很好的伸縮性。
最理想的軟件系統(tǒng)應(yīng)該如同計(jì)算機(jī)的硬件系統(tǒng),各種設(shè)備可以支持熱插拔,各設(shè)備之間的影響非常小,設(shè)備與設(shè)備之間的實(shí)現(xiàn)完全透明,只要有通用的接口,設(shè)備之間就可以良好協(xié)作。雖然,目前軟件系統(tǒng)還達(dá)不到這種理想狀態(tài),但這應(yīng)該是軟件系統(tǒng)努力的方向。上面介紹的這種框架,致力于讓應(yīng)用的各組件以松耦合的方式組織在一起,讓應(yīng)用之間的耦合停留在接口層次,而不是代碼層次。輕量級(jí)JavaEE應(yīng)用相關(guān)技術(shù)輕量級(jí)JavaEE應(yīng)用以傳統(tǒng)的JSP作為表現(xiàn)層技術(shù)以系列開源框架作為MVC層、中間層、持久層解決方案并將這些開源框架有機(jī)地組合在一起使得JavaEE應(yīng)用具有高度的可擴(kuò)展性、可維護(hù)性。Web的概念及發(fā)展萬維網(wǎng)一個(gè)由許多超文本文檔鏈接起來而形成的系統(tǒng)。是Internet上的一種服務(wù)。系統(tǒng)中有用的事物被稱為“資源”,資源通過“統(tǒng)一資源標(biāo)識(shí)符”(URI)來標(biāo)識(shí),并通過超文本傳輸協(xié)議(HypertextTransferProtocol)傳送給用戶,而用戶則可以通過點(diǎn)擊鏈接的方式來獲取這些資源。
注意:萬維網(wǎng)和互聯(lián)網(wǎng)是兩個(gè)不同的概念,事實(shí)上,互聯(lián)網(wǎng)是萬維網(wǎng)運(yùn)行的手段和媒介,萬維網(wǎng)只有通過互聯(lián)網(wǎng)才能提供相關(guān)的服務(wù)。Web的概念及發(fā)展歷史1980年:TimBerners-Lee負(fù)責(zé)的Enquire項(xiàng)目具有了Web類似思想。1990年:直到1990年,第一臺(tái)Web服務(wù)器開始運(yùn)行。1991年:CERN正式發(fā)布了Web技術(shù)標(biāo)準(zhǔn)。組成服務(wù)器:物理設(shè)備指遠(yuǎn)程計(jì)算機(jī),存放供用戶訪問的信息資源,軟件指根據(jù)用戶的請(qǐng)求將信息資源傳遞給用戶的應(yīng)用程序??蛻舳耍何锢碓O(shè)備指本地計(jì)算機(jī),軟件指接受并顯示服務(wù)器上傳遞過來的信息資源的應(yīng)用程序發(fā)展Web1.0:稱為互聯(lián)網(wǎng)第一代,指的是2003年以前的互聯(lián)網(wǎng)模式。Web2.0:以用戶為靈魂,它允許多人參與,以可讀可寫的模式成為了互聯(lián)網(wǎng)新的發(fā)展趨勢(shì)。Web3.0:爭議很大。被描述為一條最終通向人工智能的網(wǎng)絡(luò)進(jìn)化的道路,將整個(gè)網(wǎng)絡(luò)轉(zhuǎn)化為一系列的3D空間。 Web應(yīng)用程序Web應(yīng)用程序介紹概念
Web應(yīng)用程序是一種使用HTTP作為核心通信協(xié)議、通過互聯(lián)網(wǎng)讓W(xué)eb瀏覽器和服務(wù)器通訊的計(jì)算機(jī)程序。技術(shù)組成客戶端開發(fā)技術(shù):HTML、CSS、DOM、ActiveX、JavaScript、VBScript、Applet等。服務(wù)器端開發(fā)技術(shù):JSP/Servlet、PHP、ASP、CGI、Perl等。
使用Java開發(fā)Web應(yīng)用Java——優(yōu)秀的面向?qū)ο缶幊陶Z言使用Java進(jìn)行Web開發(fā)框架技術(shù)面向?qū)ο蟮囊粋€(gè)突出優(yōu)點(diǎn)就是復(fù)用,面向?qū)ο笙到y(tǒng)獲得的最大的復(fù)用方式就是使用框架。框架其實(shí)就是可重用的設(shè)計(jì)架構(gòu)應(yīng)用架構(gòu)強(qiáng)調(diào)的是軟件的設(shè)計(jì)重用性和系統(tǒng)的可擴(kuò)充性,以縮短大型應(yīng)用系統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量。Java中常用的框架StrutsApache基金會(huì)和Jakarta項(xiàng)目組的一個(gè)開源項(xiàng)目,是一個(gè)基于JavaEE平臺(tái)的MVC框架。WebWork由OpenSymphony組織開發(fā),是一個(gè)基于Web的MVC框架。Struts2Apache基金會(huì)的一個(gè)開源項(xiàng)目,建立在Struts和WebWork框架基礎(chǔ)之上,繼承了二者的優(yōu)點(diǎn)。Struts2.2Java中常用的框架Spring一個(gè)以Ioc和AOP為核心的輕量級(jí)容器框架。提供了一系列的JavaEE開發(fā)解決方案,包括表示層的SpringMVC、持久層的SpringJDBC,業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級(jí)應(yīng)用技術(shù)Spring3.2Hibernate一個(gè)ORM(對(duì)象關(guān)系映射)框架,它對(duì)JDBC進(jìn)行了輕量級(jí)的封裝。通過使用Hibernate,開發(fā)人員能夠以面向?qū)ο蟮乃季S方式來操作數(shù)據(jù)庫Hibernate4.3.8多種集成開發(fā)環(huán)境(IDE)IntelliJIDEAJBuilderEclipseMyEclipse多種集成開發(fā)環(huán)境Web服務(wù)器為創(chuàng)建、部署、運(yùn)行、管理Web應(yīng)用提供多種運(yùn)行時(shí)服務(wù)的分布式系統(tǒng)。提供了應(yīng)用程序運(yùn)行的一個(gè)基本環(huán)境。TomcatGlassFishJBossWebLogic常用的JavaEE服務(wù)器Web服務(wù)器Tomcat:Tomcat和Java結(jié)合得最好,是Sun官方推薦的JSP服務(wù)器器。Tomcat是開源的Web服務(wù)器,經(jīng)過長時(shí)間的發(fā)展,性能、穩(wěn)定性等方面都非常優(yōu)秀。Jetty:另一個(gè)優(yōu)秀的Web服務(wù)器。Jetty有個(gè)更大的優(yōu)點(diǎn)就是,Jetty可作為一個(gè)嵌入式服務(wù)器。Resin:日前最快的JSP、Servlet運(yùn)行平臺(tái),支持EJB。個(gè)人學(xué)習(xí)該服務(wù)器是免費(fèi)的,但如果想將該服務(wù)器作為商業(yè)使用,則需要交納相應(yīng)的費(fèi)用。常用的JavaEE服務(wù)器JavaEE服務(wù)器支持更多的JavaEE特性,例如分布式事務(wù)、EJB容器等JBoss:開源的JavaEE服務(wù)器,目前支持EJB3.0技術(shù)。WebLogic和Websphere:這兩個(gè)是專業(yè)的商用JavaEE服務(wù)器,價(jià)格不菲。但在性能等各方面也是相當(dāng)出色。對(duì)于輕量級(jí)JavaEE而言,沒有必要使用JavaEE服務(wù)器,使用簡單的Web容器己經(jīng)完全能勝任。
開發(fā)環(huán)境配置(1)下載JDK例如選擇jdk7u76版本,運(yùn)行安裝文件,默認(rèn)安裝位置是C:\ProgramFiles\Java。設(shè)置(或修改)系統(tǒng)環(huán)境變量JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0_76PATH變量值后要加;%JAVA_HOME%\binCLASSPATH值后要加.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;開發(fā)環(huán)境配置(2)下載EclipseLunaFilesize:254M下載地址:/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-win32.zip&mirror_id=1209開發(fā)環(huán)境配置(3)下載Tomcat7.0下載地址:/download-70.cgi找到所需版本后,選擇BinaryDistributioncore下的.zip文件類型,將下載得到的壓縮包apache-tomcat-7.0.59.zip解壓,如解壓至D盤根目錄設(shè)置系統(tǒng)環(huán)境變量如TOMCAT=D:\apache-tomcat-7.0.5964位操作系統(tǒng)最好選擇64位的Tomcat開發(fā)環(huán)境配置(4)安裝Tomcat,安裝目錄下有如下文件夾bin:儲(chǔ)存Tomcat的啟動(dòng)和停止程序。conf:儲(chǔ)存Tomcat的配置文件。lib:儲(chǔ)存Tomcat所需類庫。logs:儲(chǔ)存Tomcat的日志文件。temp:儲(chǔ)存Tomcat的臨時(shí)文件。webapps:儲(chǔ)存Web應(yīng)用程序部署文件。work:儲(chǔ)存Web應(yīng)用程序部署文件中經(jīng)過編譯的頁面文件。開發(fā)環(huán)境配置(5)下載MySQL下載地址:/d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《職業(yè)農(nóng)民培育》課件
- 2024年鄉(xiāng)鎮(zhèn)組織員個(gè)人年終工作總結(jié)
- 《旅行社的戰(zhàn)略管理》課件
- 協(xié)力共贏:團(tuán)隊(duì)力量
- 酒店前廳保安執(zhí)勤要領(lǐng)
- 保險(xiǎn)行業(yè)銷售技巧培訓(xùn)總結(jié)
- 2001年天津高考語文真題及答案(圖片版)
- 媒體行業(yè)客服工作感想
- 景觀設(shè)計(jì)師年終總結(jié)7篇
- 2023年項(xiàng)目管理人員安全培訓(xùn)考試題(能力提升)
- 第六章傳質(zhì)基本概念
- API-685-中文_
- 政治經(jīng)濟(jì)學(xué)結(jié)構(gòu)圖解
- 服裝品質(zhì)管理人員工作手冊(cè)
- 國家開放大學(xué)電大??啤东F醫(yī)基礎(chǔ)》2023-2024期末試題及答案試卷編號(hào):2776
- 初三畢業(yè)班后期管理措施
- 超星爾雅慕課公共關(guān)系禮儀實(shí)務(wù)杜漢榮課后習(xí)題及答案(1)word版本
- 示教機(jī)械手控制系統(tǒng)設(shè)計(jì)
- 氧化鋁生產(chǎn)工藝教學(xué)(拜耳法)
- 選礦學(xué)基礎(chǔ)PPT課件
- 安利食品經(jīng)銷商合同協(xié)議范本模板
評(píng)論
0/150
提交評(píng)論