JAVAWEB基礎(chǔ)

①JSP+JavaBean+Servlet? ?

視圖? ? ? 業(yè)務(wù)? ? ? 控制? ? MVC

1)javabean 封裝了數(shù)據(jù)和操作的功能類? 供(web組件)jsp,servlet調(diào)用

[內(nèi)容:私有屬性? get/set方法? 構(gòu)造函數(shù)]

2)Servlet:接收數(shù)據(jù)并處理? [doGet/doPost方法]

關(guān)系:

jsp中含有參數(shù)逝她,對應(yīng)javabean中的屬性款熬。jsp中form action指定serlvet的映射路徑,轉(zhuǎn)向servlet惩坑。servlet和jsp通過request、session擎浴、application(jsp內(nèi)置對象)實(shí)現(xiàn)數(shù)據(jù)共享歉嗓。

jsp頁面請求參數(shù)赫段,請求參數(shù)信息傳給servlet乌询,servlet在request中獲取參數(shù)榜贴,創(chuàng)建javabean對象實(shí)例,將其封裝到j(luò)avabean對象妹田,并調(diào)用javabean內(nèi)定義的業(yè)務(wù)處理方法唬党,得到結(jié)果。用request中setAttribute("屬性"鬼佣,屬性值)驶拱,把結(jié)果值設(shè)定在request范圍(容器)內(nèi)[實(shí)現(xiàn)屬性數(shù)據(jù)共享],請求轉(zhuǎn)發(fā)后的頁面使用getAttribute可獲取結(jié)果值。/servlet根據(jù)結(jié)果值直接選擇轉(zhuǎn)發(fā)到j(luò)sp頁面晶衷,顯示頁面信息屯烦。

②JSP+JavaBean+Servlet+DAO?

DAO模式:把數(shù)據(jù)庫表的操作轉(zhuǎn)化為對java類的操作。(抽象出數(shù)據(jù)訪問方法[增刪查改]房铭,所有數(shù)據(jù)訪問都有DAO代理)

[在java語言或JSP,在實(shí)現(xiàn)數(shù)據(jù)庫操作時温眉,可以采用將數(shù)據(jù)庫表和普通的java類映射缸匪,將數(shù)據(jù)表轉(zhuǎn)換為類(對象),然后利用對象實(shí)現(xiàn)對數(shù)據(jù)庫的操作类溢。]

[JavaBean和DAO之間的數(shù)據(jù)傳遞和交換凌蔬。][數(shù)據(jù)訪問邏輯使用DAO模塊提供服務(wù),為了使得任何需要訪問數(shù)據(jù)庫中數(shù)據(jù)的邏輯操作都可以以統(tǒng)一的方式使用DAO,一般需要設(shè)計(jì)數(shù)據(jù)訪問邏輯處理的接口闯冷。]

1)數(shù)據(jù)JavaBean:對應(yīng)數(shù)據(jù)庫表結(jié)構(gòu)砂心,即每個字段屬性,以及get/set方法

2)數(shù)據(jù)訪問邏輯處理接口(DAO接口):抽象出來的數(shù)據(jù)訪問方法蛇耀,如增刪查改方法

3)業(yè)務(wù)邏輯處理類(JavaBean)? -DAO:繼承接口 寫具體實(shí)現(xiàn)方法

4)serlvet調(diào)用有關(guān)對象的操作方法

③視圖層設(shè)計(jì)技術(shù):HTML辩诞、JSP、JSTL(JSP標(biāo)準(zhǔn)標(biāo)簽庫)纺涤、EL(表達(dá)式語句)译暂、Ajax技術(shù)(運(yùn)用Javascript和可擴(kuò)展語言xml實(shí)現(xiàn)瀏覽器與服務(wù)器通信)。

④servlet技術(shù):監(jiān)聽器(Listener)和過濾器(Filter)撩炊。

⑤JDBC技術(shù):用于執(zhí)行SQL語句的java api外永,由一組類與接口組成,通過調(diào)用這些類和接口所提供的方法拧咳,可以使用標(biāo)準(zhǔn)的SQL語句來存取數(shù)據(jù)庫中的數(shù)據(jù)伯顶。

⑥struts2框架

1)struts是整合了當(dāng)前動態(tài)網(wǎng)站技術(shù)中Servlet、JSP、JavaBean祭衩、JDBC灶体、XML等相關(guān)開發(fā)技術(shù)基礎(chǔ)上的一種主流Web開發(fā)框架。

2)struts2是基于MVC模式的web框架汪厨,按照MVC的思想主要有控制器層包括核心控制器FilterDispatcher赃春、業(yè)務(wù)控制器Action;模型層劫乱,包括業(yè)務(wù)邏輯組件和數(shù)據(jù)庫訪問組件织中;視圖組件。

3)struts.xml(控制器層組件) : 實(shí)現(xiàn)視圖(頁面JSP)與業(yè)務(wù)邏輯組件(Action)之間關(guān)系的聲明衷戈。

4)對于struts2,各組件之間的數(shù)據(jù)共享是通過Action的屬性實(shí)現(xiàn)的狭吼,提交界面給輸入域x,y提供值;提交后殖妇,進(jìn)入Action刁笙,Action接收數(shù)據(jù)并賦值給自身屬性,然后自動執(zhí)行方法execut(),并返回一個字符串谦趣;在配置文件struts.xml中疲吸,根據(jù)字符串的值,轉(zhuǎn)向不同的處理前鹅。

5)p241例11-1 開發(fā)步驟理解

web.xml配置核心控制器

編寫JSP頁面(視圖組件)? struts標(biāo)簽摘悴、form action=""

編寫業(yè)務(wù)控制器組件(Action)? 屬性變量get/set方法

修改struts.xml配置文件,配置Action和頁面跳轉(zhuǎn)配置

6)struts2中的Action能自動將請求參數(shù)傳遞給對應(yīng)的包含Setter方法的屬性舰绘,但當(dāng)頁面請求參數(shù)較多是蹂喻,把過多的參數(shù)屬性定義在Action中不符合Struts所倡導(dǎo)的松耦合原則,較好的辦法是使用javabean來封裝參數(shù)捂寿,在Action中定義javabean對象作為屬性口四,在表單中使用對象的屬性作為表單域。

jsp中form action="javabean對象"

7)多方法的Action:

前面都是通過execute()方法處理請求秦陋。[action的method缺省是蔓彩,默認(rèn)為excute方法]在實(shí)際應(yīng)用中,所為每個業(yè)務(wù)邏輯定義一個Action,需要在struts.xml中配置的內(nèi)容多,action也多驳概》嘈。可以用一個Action處理多個業(yè)務(wù)請求,并在struts.xml指定業(yè)務(wù)處理所采用的方法抡句。

方式:?

為Action配置method屬性

動態(tài)方法調(diào)用?

使用通配符映射方式

⑦Hibernate持久化技術(shù)

1)Hibernate框架封裝了JDBC的一種來源的對象/關(guān)系映射(ORM)探膊。

2)數(shù)據(jù)持久化:程序中的數(shù)據(jù)以某種形式保存到某存貯介質(zhì)中。

3)通過配置文件和映射文件把java對象或持久化對象(PO)映射到數(shù)據(jù)庫表格待榔,然后通過操作PO實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增刪查改等操作逞壁。


————

自己的理解:

1.JSP+Servlet+JavaBean

? 1)隱含jdbc+mysql流济,

? ? 2)jdbc技術(shù)放在javabean里實(shí)現(xiàn)了,如DbUtils,封裝對數(shù)據(jù)庫表的操作腌闯。

? ? 3)DAO模式時绳瘟,jdbc技術(shù)則處在訪問邏輯處理類中(xxxDAO)。

2.JSP+JavaBean+Servlet+DAO模式

就是改變了javabean,將原來javabean(屬性姿骏、get/set方法糖声、業(yè)務(wù)操作方法)變成多個文件→

數(shù)據(jù)javabean[屬性和get/set方法]、

數(shù)據(jù)訪問邏輯處理接口[抽象的數(shù)據(jù)處理方法]分瘦、

業(yè)務(wù)處理javabean[繼承接口蘸泻,實(shí)現(xiàn)具體方法]

3.struts2框架?

1)用 struts2+數(shù)據(jù)庫 就能完成一個系統(tǒng)項(xiàng)目開發(fā)。 可以取代整個JSP+Servlet+JavaBean嘲玫。

2) 是個MVC模式框架悦施,

控制層功能相當(dāng)于servlet技術(shù),Action相當(dāng)于servlet,且有監(jiān)聽器攔截器

視圖層:JSP struts標(biāo)簽(似JSTL去团、EL表達(dá)式)

模型層:依舊是javabean抡诞。

3)區(qū)別:

在struts2,各組件之間的數(shù)據(jù)共享通過Action的屬性實(shí)現(xiàn)的土陪。

4) servlet和Action的相似點(diǎn)

servlet需要在web.xml中配置昼汗,配置類路徑、servlet名稱鬼雀、訪問地址顷窒。在jsp中 form action="servlet訪問地址"

Action需要在struts中配置,配置名稱(地址映射名稱)取刃、對應(yīng)的實(shí)現(xiàn)類、Action類中處理方法名出刷、結(jié)果配置

4.Hibernate框架

1)可以取代原始JDBC

2)將PO持久化對象映射到數(shù)據(jù)表璧疗,實(shí)現(xiàn)自動化建數(shù)據(jù)庫數(shù)據(jù)表

3)直接操作PO對象實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市馁龟,隨后出現(xiàn)的幾起案子崩侠,更是在濱河造成了極大的恐慌,老刑警劉巖坷檩,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件却音,死亡現(xiàn)場離奇詭異,居然都是意外死亡矢炼,警方通過查閱死者的電腦和手機(jī)系瓢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來句灌,“玉大人夷陋,你說我怎么就攤上這事欠拾。” “怎么了骗绕?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵藐窄,是天一觀的道長。 經(jīng)常有香客問我酬土,道長荆忍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任撤缴,我火速辦了婚禮刹枉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腹泌。我一直安慰自己嘶卧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布凉袱。 她就那樣靜靜地躺著芥吟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪专甩。 梳的紋絲不亂的頭發(fā)上钟鸵,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音涤躲,去河邊找鬼棺耍。 笑死,一個胖子當(dāng)著我的面吹牛种樱,可吹牛的內(nèi)容都是我干的蒙袍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嫩挤,長吁一口氣:“原來是場噩夢啊……” “哼害幅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起岂昭,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤以现,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后约啊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體邑遏,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年恰矩,在試婚紗的時候發(fā)現(xiàn)自己被綠了记盒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡外傅,死狀恐怖孽鸡,靈堂內(nèi)的尸體忽然破棺而出蹂午,到底是詐尸還是另有隱情,我是刑警寧澤彬碱,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布豆胸,位于F島的核電站,受9級特大地震影響巷疼,放射性物質(zhì)發(fā)生泄漏晚胡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一嚼沿、第九天 我趴在偏房一處隱蔽的房頂上張望估盘。 院中可真熱鬧,春花似錦骡尽、人聲如沸遣妥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箫踩。三九已至,卻和暖如春谭贪,著一層夾襖步出監(jiān)牢的瞬間境钟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工俭识, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慨削,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓套媚,卻偏偏與公主長得像缚态,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子堤瘤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容