輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)

出版時(shí)間:2012-4  出版社:電子工業(yè)出版社  作者:李剛  頁(yè)數(shù):816  
Tag標(biāo)簽:無(wú)  

前言

  前   言  經(jīng)過(guò)多年沉淀,Java EE平臺(tái)已經(jīng)成為電信、金融、電子商務(wù)、保險(xiǎn)、證券等各行業(yè)的大型應(yīng)用系統(tǒng)的首選開(kāi)發(fā)平臺(tái)。目前Java行業(yè)的軟件開(kāi)發(fā)已經(jīng)基本穩(wěn)定,這兩三年內(nèi)基本沒(méi)有出現(xiàn)什么具有廣泛影響  力的新技術(shù)。Java EE開(kāi)發(fā)大致可分為兩種方式:以Spring為核心輕量級(jí)Java EE企業(yè)開(kāi)發(fā)平臺(tái);以EJB 3+JPA為核心的經(jīng)典Java EE開(kāi)發(fā)平臺(tái)。無(wú)論使用哪種平臺(tái)進(jìn)行開(kāi)發(fā),應(yīng)用的性能、穩(wěn)定性都有很好的保證,開(kāi)發(fā)人群也有很穩(wěn)定的保證?! ”緯榻B的開(kāi)發(fā)平臺(tái),就是以Struts 2.2+Spring 3.0+Hibernate 3.6(實(shí)際項(xiàng)目中可能以JPA來(lái)代替Hibernate )為核心的輕量級(jí)Java EE,這種組合在保留經(jīng)典Java EE應(yīng)用架構(gòu)、高度可擴(kuò)展性、高度可維護(hù)性的基礎(chǔ)上,降低了Java EE應(yīng)用的開(kāi)發(fā)、部署成本,對(duì)于大部分中小型企業(yè)應(yīng)用是首選。在一些需要具有高度伸縮性、高度穩(wěn)定性的企業(yè)應(yīng)用(比如銀行系統(tǒng)、保險(xiǎn)系統(tǒng))里,以EJB 3+JPA為核心的經(jīng)典Java EE應(yīng)用則具有廣泛的占有率。本書的姊妹篇《經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》主要介紹了后一種Java EE開(kāi)發(fā)平臺(tái)?! ”緯饕?jí)了《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》的知識(shí),采用最新的Tomcat 7作為Web服務(wù)器,全面而細(xì)致地介紹了Servlet 3.0的新特性,并將Struts升級(jí)到Struts 2.2.1,Spring升級(jí)到3.0.5,Hibernate升級(jí)到3.6.0。書中詳細(xì)介紹了Spring和Hibernate的“零配置”特性,并充分介紹了Struts 2的Convention(約定)支持。本書不僅介紹了Spring 2.x的AOP支持,詳細(xì)介紹了Spring 2.x中Schema配置所支持的util、aop、tx等命名空間,還簡(jiǎn)要講解了AspectJ的相關(guān)內(nèi)容。本書也重點(diǎn)介紹了Spring 3.0的新功能:SpEL,SpEL不僅可以作為表達(dá)式語(yǔ)言單獨(dú)使用,也可與Spring容器結(jié)合來(lái)擴(kuò)展Spring容器的功能?! ”緯鴦?chuàng)作感言  筆者首先要感謝廣大讀者對(duì)本書第2版的認(rèn)同,在將近2年的時(shí)間內(nèi),本書第2版的銷量高達(dá)178萬(wàn)碼洋,得到無(wú)數(shù)Java學(xué)習(xí)者的認(rèn)同,成為Java EE開(kāi)發(fā)者首選的經(jīng)典圖書??紤]到目前技術(shù)的升級(jí),筆者現(xiàn)將本書的全部技術(shù)升級(jí)到最新版、最前沿,以饗讀者?! ∵€有一個(gè)值得介紹的消息:本書姊妹篇《經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》(由電子工業(yè)出版社出版,ISBN 978-7-121-11534-9)現(xiàn)已上市。學(xué)習(xí)本書時(shí)可以采用“輕經(jīng)合參”的方式來(lái)學(xué)習(xí):“輕”指的是以“SSH”整合的輕量級(jí)Java EE開(kāi)發(fā)平臺(tái),“經(jīng)”指的是以“EJB 3+JPA”整合的經(jīng)典Java EE開(kāi)發(fā)平臺(tái);這兩種平臺(tái)本身具有很大的相似性,將兩種Java EE開(kāi)發(fā)平臺(tái)結(jié)構(gòu)放在一起參考、對(duì)照著學(xué)習(xí),能更好地理解Spring、Hibernate框架的設(shè)計(jì)思想,從而更深入地掌握它們。與此同時(shí),也可以深入理解EJB 3與Spring容器中的Bean、EJB容器與Spring容器之間的聯(lián)系和區(qū)別,從而融會(huì)貫通地掌握EJB 3+JPA整合的開(kāi)發(fā)方式?! 〗?jīng)常有讀者寫郵件來(lái)問(wèn)筆者,為何你能快而且全面地掌握各種Java開(kāi)發(fā)技術(shù)?筆者以前做過(guò)一些零散的回復(fù)。這里簡(jiǎn)單地介紹筆者學(xué)習(xí)Java的一些歷史與方法,希望廣大讀者從中借鑒值得學(xué)習(xí)的地方,避開(kāi)一些彎路?! 」P者大約是1999年開(kāi)始接觸Java,開(kāi)始主要做點(diǎn)Applet玩(當(dāng)時(shí)筆者對(duì)Applet做出來(lái)的動(dòng)畫十分傾心)。后來(lái)開(kāi)始流行ASP、JSP,筆者再次喜歡上ASP、JSP那種極其簡(jiǎn)單的語(yǔ)法、短期內(nèi)的快速上手,后來(lái)斷斷續(xù)續(xù)用ASP、JSP寫了多個(gè)小型企業(yè)網(wǎng)站、BBS、OA系統(tǒng)之類--不知道其他人是什么經(jīng)歷,筆者選擇編程一方面是因?yàn)閭€(gè)人愛(ài)好和“自豪感”(覺(jué)得能做出各種軟件,有點(diǎn)成就感),另一方面是因?yàn)榫帉戃浖梢暂p易地賣點(diǎn)錢(是不是很俗?),但這個(gè)目的筆者無(wú)法回避--由于出生在湖北一個(gè)貧窮的鄉(xiāng)下,所以在同濟(jì)念書時(shí)筆者常常為了開(kāi)飯而寫代碼,或許有一些程序員和筆者會(huì)有相同的感觸?! ≡诤髞?lái)的開(kāi)發(fā)過(guò)程中,筆者發(fā)現(xiàn)純粹的JSP開(kāi)發(fā)雖然前期很方便,但由于開(kāi)發(fā)時(shí)代碼重復(fù)得厲害,所以后期升級(jí)、維護(hù)很痛苦,于是開(kāi)始大規(guī)模地修改自己寫的一堆“垃圾”代碼,不斷地思考怎樣對(duì)JSP腳本進(jìn)行提取、封裝到Java Bean中,這個(gè)過(guò)程并不順利,經(jīng)常遭遇各種性能問(wèn)題、并發(fā)問(wèn)題。原本可以運(yùn)行良好的應(yīng)用,反而被改得經(jīng)常出現(xiàn)問(wèn)題?! 〈蠹s到了2000年,筆者接觸到EJB,對(duì)EJB許下的“承諾”無(wú)比欣羨,于是義無(wú)反顧地投入EJB的懷抱,不過(guò)EJB的學(xué)習(xí)并不順利,當(dāng)時(shí)用的好像是WebLogic 5的服務(wù)器,那時(shí)候覺(jué)得WebLogic 5所報(bào)的錯(cuò)誤晦澀、難以閱讀,動(dòng)輒幾屏的錯(cuò)誤信息,讓人感覺(jué)很有壓力?! 〔贿^(guò)筆者是一個(gè)頑固的人,遇到錯(cuò)誤總是不斷地修改、不斷地嘗試,在這樣的嘗試中,不知不覺(jué)中,天色已經(jīng)發(fā)白。說(shuō)來(lái)慚愧,第一個(gè)Hello World級(jí)的Entity EJB居然花了將近一個(gè)月的時(shí)間才弄完(絕不建議讀者從EJB 1.1或EJB 2開(kāi)始學(xué)習(xí),這只會(huì)給學(xué)習(xí)徒增難度,而且現(xiàn)在EJB 1.1、EJB 2都已被淘汰)。在那段時(shí)間內(nèi),筆者連最心愛(ài)的C幾乎完全沒(méi)碰過(guò)。  在接下來(lái)的2年多時(shí)間內(nèi),筆者一直沉浸在EJB中,不斷地搜尋各種關(guān)于EJB的資料、不斷地深入鉆研著關(guān)于EJB規(guī)范、EJB的運(yùn)行、EJB容器的運(yùn)行機(jī)制。隨著時(shí)間的流逝,EJB、EJB容器的運(yùn)行原理逐漸明朗起來(lái)?! ∧鞘且欢巫屓藨涯畹?、“神話”般的歲月,年輕的人,似乎擁有無(wú)窮的精力,那也是筆者Java技術(shù)增長(zhǎng)最迅速的3年,筆者的Java EE功底也是在那3年內(nèi)打下的,后來(lái)接觸的各種“新”技術(shù)只是在那個(gè)基礎(chǔ)上“修修補(bǔ)補(bǔ)”,或者“溫故而知新”?! ?004年初,筆者開(kāi)始接觸到Spring框架,從接觸Spring的第一天開(kāi)始,直到今天,筆者一直覺(jué)得Spring和EJB之間有很大的相似性:  Spring本身也是一個(gè)容器,只是EJB容器管理的是EJB,Spring容器管理的是普通Java對(duì)象。  Spring對(duì)Bean類的要求很少,EJB容器對(duì)EJB的要求略多一些--所以初學(xué)者學(xué)習(xí)EJB上手較難,但學(xué)習(xí)Spring就簡(jiǎn)單得多?! ∫?yàn)檎业竭@種類比性,筆者學(xué)習(xí)Spring時(shí),總是不斷地將EJB與Spring進(jìn)行類比,然后再找出它們之間的不同之處。由于采用了這種“溫故而知新”的學(xué)習(xí)方式,所以筆者很容易就理解了Spring的設(shè)計(jì),而且更加透徹。  很多Java學(xué)習(xí)者在學(xué)習(xí)過(guò)程中往往容易感覺(jué)Java開(kāi)發(fā)內(nèi)容紛繁蕪雜,造成這種感覺(jué)的原因就是因?yàn)闆](méi)有進(jìn)行很好的歸納、總結(jié)、類比。為了避免“知識(shí)越學(xué)越多”的混亂感,讀者應(yīng)該充分利用已掌握的知識(shí),溫故而知新--一方面對(duì)已有的知識(shí)進(jìn)行歸納、總結(jié),另一方面將新的內(nèi)容與已掌握的知識(shí)進(jìn)行類比,這樣既能把已有的知識(shí)掌握得更有條理、更系統(tǒng),也能更快、更透徹地掌握新的知識(shí)?! 〕鲇谝陨侠碛?,筆者在介紹非常專業(yè)的編程知識(shí)之時(shí),總會(huì)通過(guò)一些淺顯的類比來(lái)幫助讀者更好地理解。“簡(jiǎn)單、易讀”成為筆者一貫堅(jiān)持的創(chuàng)作風(fēng)格,也是瘋狂Java體系叢書的特色。另一方面,瘋狂Java體系圖書的知識(shí)也很全面、實(shí)用。筆者希望讀者在看完瘋狂Java體系的圖書之后,可以較為輕松地理解書中所介紹的知識(shí),并切實(shí)學(xué)會(huì)一種實(shí)用的開(kāi)發(fā)技術(shù),進(jìn)而將之應(yīng)用到實(shí)際開(kāi)發(fā)中。如果讀者在學(xué)習(xí)過(guò)程中遇到無(wú)法理解的問(wèn)題,可以登錄瘋狂Java聯(lián)盟(http://www.crazyit. org)與廣大Java學(xué)習(xí)者交流,筆者也會(huì)通過(guò)該平臺(tái)與大家一起交流、學(xué)習(xí)。  本書有什么特點(diǎn)  本書保持了《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》第2版簡(jiǎn)單、實(shí)用的優(yōu)勢(shì),同樣堅(jiān)持讓案例說(shuō)話、以案例來(lái)介紹知識(shí)點(diǎn)的風(fēng)格,在書的最后同樣示范開(kāi)發(fā)了企業(yè)工作流案例,希望讀者通過(guò)該案例真正步入實(shí)際企業(yè)開(kāi)發(fā)的殿堂?! ”緯廊槐A袅恕遁p量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)》第2版的三個(gè)特色。  1.經(jīng)驗(yàn)豐富,針對(duì)性強(qiáng)  筆者既擔(dān)任過(guò)軟件開(kāi)發(fā)的技術(shù)經(jīng)理,也擔(dān)任過(guò)軟件公司的培訓(xùn)導(dǎo)師,還從事過(guò)職業(yè)培訓(xùn)的專職講師,這些經(jīng)驗(yàn)影響了筆者寫書的目的,不是一本學(xué)院派的理論讀物,而是一本實(shí)際的開(kāi)發(fā)指南?! ?.內(nèi)容實(shí)際,實(shí)用性強(qiáng)  本書所介紹的Java EE應(yīng)用范例,采用了目前企業(yè)流行的開(kāi)發(fā)架構(gòu),絕對(duì)嚴(yán)格遵守Java EE開(kāi)發(fā)規(guī)范,而不是將各種技術(shù)雜亂地糅合在一起號(hào)稱Java EE。讀者參考本書的架構(gòu),完全可以身臨其境地感受企業(yè)實(shí)際開(kāi)發(fā)?! ?.高屋建瓴,啟發(fā)性強(qiáng)  本書介紹的幾種架構(gòu)模式,幾乎是時(shí)下最全面的Java EE架構(gòu)模式。這些架構(gòu)模式可以直接提升讀者對(duì)系統(tǒng)架構(gòu)設(shè)計(jì)的把握?! ”緯鴮懡o誰(shuí)看  如果你已經(jīng)掌握了Java SE內(nèi)容,或已經(jīng)學(xué)完了《瘋狂Java講義》一書,那么你非常適合閱讀此書。除此之外,如果你已有初步的JSP、Servlet基礎(chǔ),甚至對(duì)Struts 2、Spring 3.0、Hibernate 3.6有所了解,但希望掌握它們?cè)趯?shí)際開(kāi)發(fā)中的應(yīng)用,本書也將非常適合你。如果你對(duì)Java的掌握還不熟練,則建議遵從學(xué)習(xí)規(guī)律,循序漸進(jìn),暫時(shí)不要購(gòu)買、閱讀此書。

內(nèi)容概要

本書是《輕量級(jí)Java
EE企業(yè)應(yīng)用實(shí)戰(zhàn)》的第3版,第3版保持了第2版內(nèi)容全面、深入的特點(diǎn),主要完成全部知識(shí)的升級(jí)。
本書介紹了Java
EE領(lǐng)域的三個(gè)開(kāi)源框架:Struts
2、Spring和Hibernate。其中Struts
2升級(jí)到2.2.1,Spring升級(jí)到3.0.5,Hibernate升級(jí)到了3.6.0。本書還全面介紹了Servlet
3.0的新特性,以及Tomcat 7.0的配置和用法,本書的示例應(yīng)該在Tomcat
7.0上運(yùn)行。
本書重點(diǎn)介紹如何整合Struts
2.2+Spring 3.0+Hibernate 3.6進(jìn)行Java
EE開(kāi)發(fā),主要包括三部分。第一部分介紹Java
EE開(kāi)發(fā)的基礎(chǔ)知識(shí),以及如何搭建開(kāi)發(fā)環(huán)境。第二部分詳細(xì)講解Struts 2.2、Spring
3.0和Hibernate 3.6三個(gè)框架的用法,介紹三個(gè)框架時(shí),從Eclipse IDE的使用來(lái)上手,一步步帶領(lǐng)讀者深入三個(gè)框架的核心。這部分內(nèi)容是筆者講授“瘋狂Java實(shí)訓(xùn)”的培訓(xùn)講義,因此是本書的重點(diǎn)部分,既包含了筆者多年開(kāi)發(fā)經(jīng)歷的領(lǐng)悟,也融入了豐富的授課經(jīng)驗(yàn)。第三部分示范開(kāi)發(fā)了一個(gè)包含7個(gè)表、表之間具有復(fù)雜的關(guān)聯(lián)映射、繼承映射等關(guān)系,且業(yè)務(wù)也相對(duì)復(fù)雜的工作流案例,希望讓讀者理論聯(lián)系實(shí)際,將三個(gè)框架真正運(yùn)用到實(shí)際開(kāi)發(fā)中去,該案例采用目前最流行、最規(guī)范的Java
EE架構(gòu),整個(gè)應(yīng)用分為領(lǐng)域?qū)ο髮?、DAO層、業(yè)務(wù)邏輯層、MVC層和視圖層,各層之間分層清晰,層與層之間以松耦合的方法組織在一起。該案例既提供了IDE無(wú)關(guān)的、基于Ant管理的項(xiàng)目源碼,也提供了基于Eclipse
IDE的項(xiàng)目源碼,最大限度地滿足讀者的需求。
本書不再介紹Struts
1.X相關(guān)內(nèi)容,如果讀者希望獲取《輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)》第一版中關(guān)于Struts
1.X的知識(shí),請(qǐng)登錄http://www.crazyit.org下載。當(dāng)讀者閱讀此書時(shí)如果遇到技術(shù)難題,也可登錄http://www.crazyit.org發(fā)帖,筆者將會(huì)及時(shí)予以解答。
閱讀本書之前,建議先認(rèn)真閱讀筆者所著的《瘋狂Java講義》一書。本書適合于有較好的Java編程基礎(chǔ),或有初步JSP、Servlet基礎(chǔ)的讀者。尤其適合于對(duì)Struts
2、Spring、Hibernate了解不夠深入,或?qū)truts
2+Spring+Hibernate整合開(kāi)發(fā)不太熟悉的開(kāi)發(fā)人員閱讀。

作者簡(jiǎn)介

  李剛:從事10年的Java EE應(yīng)用開(kāi)發(fā)。
  曾任LITEON公司的J2EE技術(shù)主管,負(fù)責(zé)該公司的企業(yè)信息平臺(tái)的架構(gòu)設(shè)計(jì)。
  曾任廣州電信、廣東龍泉科技等公司的技術(shù)培訓(xùn)導(dǎo)師。
  2007年3月26日的《電腦報(bào)》專訪人物。
  現(xiàn)任新東方廣州中心軟件教學(xué)總監(jiān),并曾任廣東技術(shù)師范學(xué)院計(jì)算機(jī)科學(xué)系的兼職副教授。
  培訓(xùn)的學(xué)生已在華為、立信、普信、網(wǎng)易、電信盈科、中企動(dòng)力等公司就職。
  國(guó)內(nèi)知名的高端IT技術(shù)作家,已出版《Spring
2.0寶典》、《基于J2EE的Ajax寶典》、《輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)》、《Struts 2權(quán)威指南》、《Ruby On
Rails敏捷開(kāi)發(fā)最佳實(shí)踐》等著作。

書籍目錄

第1章 Java EE應(yīng)用和開(kāi)發(fā)環(huán)境
 1.1 Java EE應(yīng)用概述
  1.1.1 Java EE應(yīng)用的分層模型
  1.1.2 Java EE應(yīng)用的組件
  1.1.3 Java EE應(yīng)用的結(jié)構(gòu)和優(yōu)勢(shì)
  1.1.4 常用的Java EE服務(wù)器
 1.2 輕量級(jí)Java EE應(yīng)用相關(guān)技術(shù)
  1.2.1 JSP、Servlet 3.0和JavaBean及替代技術(shù)
  1.2.2 Struts 2.2及替代技術(shù)
  1.2.3 Hibernate 3.6及替代技術(shù)
  1.2.4 Spring 3.0及替代技術(shù)
 1.3 Tomcat的下載和安裝
  1.3.1 安裝Tomcat服務(wù)器
  1.3.2 配置Tomcat的服務(wù)端口
  1.3.3 進(jìn)入控制臺(tái)
  1.3.4 部署Web應(yīng)用
  1.3.5 配置Tomcat的數(shù)據(jù)源
 1.4 Eclipse的安裝和使用
  1.4.1 Eclipse的下載和安裝
  1.4.2 在線安裝Eclipse插件
  1.4.3 從本地壓縮包安裝插件
  1.4.4 手動(dòng)安裝Eclipse插件
  1.4.5 使用Eclipse開(kāi)發(fā)Java EE應(yīng)用
  1.4.6 導(dǎo)入Eclipse項(xiàng)目
  1.4.7 導(dǎo)入非Eclipse項(xiàng)目
 1.5 Ant的安裝和使用
  1.5.1 Ant的下載和安裝
  1.5.2 使用Ant工具
  1.5.3 定義生成文件
  1.5.4 Ant的任務(wù)(task)
 1.6 使用CVS進(jìn)行協(xié)作開(kāi)發(fā)
  1.6.1 安裝CVS服務(wù)器
  1.6.2 配置CVS資源庫(kù)
  1.6.3 安裝CVS客戶端
  1.6.4 發(fā)布項(xiàng)目到服務(wù)器
  1.6.5 從服務(wù)器下載項(xiàng)目
  1.6.6 同步(Update)本地文件
  1.6.7 提交(Commit)修改
  1.6.8 添加文件和目錄
  1.6.9 刪除文件和目錄
  1.6.10 查看文件的版本變革
  1.6.11 提取文件以前版本的內(nèi)容
  1.6.12 從以前版本重新開(kāi)始
  1.6.13 創(chuàng)建標(biāo)簽
  1.6.14 創(chuàng)建分支
  1.6.15 沿著分支開(kāi)發(fā)
  1.6.16 使用Eclipse作為CVS客戶端
 1.7 本章小結(jié)
第2章 JSP/Servlet及相關(guān)技術(shù)詳解
 2.1 Web應(yīng)用和web.xml文件
  2.1.1 構(gòu)建Web應(yīng)用
  2.1.2 配置描述符web.xml
 2.2 JSP的基本原理
 2.3 JSP注釋
 2.4 JSP聲明
 2.5 輸出JSP表達(dá)式
 2.6 JSP腳本
 2.7 JSP的3個(gè)編譯指令
  2.7.1 page指令
  2.7.2 include指令
 2.8 JSP的7個(gè)動(dòng)作指令
  2.8.1 forward指令
  2.8.2 include指令
  2.8.3 useBean、setProperty、getProperty指令
  2.8.4 plugin指令
  2.8.5 param指令
 2.9 JSP腳本中的9個(gè)內(nèi)置對(duì)象
  2.9.1 application對(duì)象
  2.9.2 config對(duì)象
  2.9.3 exception對(duì)象
  2.9.4 out對(duì)象
  2.9.5 pageContext對(duì)象
  2.9.6 request對(duì)象
  2.9.7 response對(duì)象
  2.9.8 session對(duì)象
 2.10 Servlet介紹
  2.10.1 Servlet的開(kāi)發(fā)
  2.10.2 Servlet的配置
  2.10.3 JSP/Servlet的生命周期
  2.10.4 load-on-startup Servlet
  2.10.5 訪問(wèn)Servlet的配置參數(shù)
  2.10.6 使用Servlet作為控制器
 2.11 JSP 2的自定義標(biāo)簽
  2.11.1 開(kāi)發(fā)自定義標(biāo)簽類
  2.11.2 建立TLD文件
  2.11.3 使用標(biāo)簽庫(kù)
  2.11.4 帶屬性的標(biāo)簽
  2.11.5 帶標(biāo)簽體的標(biāo)簽
  2.11.6 以頁(yè)面片段作為屬性的標(biāo)簽
  2.11.7 動(dòng)態(tài)屬性的標(biāo)簽
 2.12 Filter介紹
  2.12.1 創(chuàng)建Filter類
  2.12.2 配置Filter
  2.12.3 使用URL Rewrite實(shí)現(xiàn)網(wǎng)站偽靜態(tài)
 2.13 Listener介紹
  2.13.1 實(shí)現(xiàn)Listener類
  2.13.2 配置Listener
  2.13.3 使用ServletContextAttribute-Listener
  2.13.4
使用ServletRequestListener和ServletRequestAttributeListener
  2.13.5 使用HttpSessionListener和HttpSessionAttributeListener
 2.14 JSP 2特性
  2.14.1 配置JSP屬性
  2.14.2 表達(dá)式語(yǔ)言
  2.14.3 Tag File支持
 2.15 Servlet 3.0新特性
  2.15.1 Servlet 3.0的Annotation
  2.15.2 Servlet 3.0的Web模塊支持
  2.15.3 Servlet 3.0提供的異步處理
  2.15.4 改進(jìn)的Servlet API
 2.16 本章小結(jié)
第3章 Struts 2的基本用法
 3.1 MVC思想概述
  3.1.1 傳統(tǒng)Model 1和Model 2
  3.1.2 MVC思想及其優(yōu)勢(shì)
 3.2 Struts 2的下載和安裝
  3.2.1 為Web應(yīng)用增加Struts 2支持
  3.2.2 在Eclipse中使用Struts 2
  3.2.3 增加登錄處理
 3.3 Struts 2的流程
  3.3.1 Struts 2應(yīng)用的開(kāi)發(fā)步驟
  3.3.2 Struts 2的流程
 3.4 Struts 2的常規(guī)配置
  3.4.1 常量配置
  3.4.2 包含其他配置文件
 3.5 實(shí)現(xiàn)Action
  3.5.1 Action接口和ActionSupport基類
  3.5.2 Action訪問(wèn)Servlet API
  3.5.3 Action直接訪問(wèn)Servlet API
  3.5.4 使用ServletActionContext訪問(wèn)Servlet API
 3.6 配置Action
  3.6.1 包和命名空間
  3.6.2 Action的基本配置
  3.6.3 使用Action的動(dòng)態(tài)方法調(diào)用
  3.6.4 指定method屬性及使用通配符
  3.6.5 配置默認(rèn)Action
  3.6.6 配置Action的默認(rèn)處理類
 3.7 配置處理結(jié)果
  3.7.1 理解處理結(jié)果
  3.7.2 配置結(jié)果
  3.7.3 Struts 2支持的結(jié)果類型
  3.7.4 plainText結(jié)果類型
  3.7.5 redirect結(jié)果類型
  3.7.6 redirectAction結(jié)果類型
  3.7.7 動(dòng)態(tài)結(jié)果
  3.7.8 Action屬性值決定物理視圖資源
  3.7.9 全局結(jié)果
  3.7.10 使用PreResultListener
 3.8 配置Struts 2的異常處理
  3.8.1 Struts 2的異常處理機(jī)制
  3.8.2 聲明式異常捕捉
  3.8.3 輸出異常信息
 3.9 Convention插件與“約定”支持
  3.9.1 Action的搜索和映射約定
  3.9.2 按約定映射Result
  3.9.3 Action鏈的約定
  3.9.4 自動(dòng)重加載映射
  3.9.5 Convention插件的相關(guān)常量
  3.9.6 Convention插件相關(guān)Annotation
 3.10 使用Struts 2的國(guó)際化
  3.10.1 Struts 2中加載全局資源文件
  3.10.2 訪問(wèn)國(guó)際化消息
  3.10.3 輸出帶占位符的國(guó)際化消息
  3.10.4 加載資源文件的方式
  3.10.5 加載資源文件的順序
 3.11 使用Struts 2的標(biāo)簽庫(kù)
  3.11.1 Struts 2標(biāo)簽庫(kù)概述
  3.11.2 使用Struts 2標(biāo)簽
  3.11.3 Struts 2的OGNL表達(dá)式語(yǔ)言
  3.11.4 OGNL中的集合操作
  3.11.5 訪問(wèn)靜態(tài)成員
  3.11.6 Lambda(?)表達(dá)式
  3.11.7 控制標(biāo)簽
  3.11.8 數(shù)據(jù)標(biāo)簽
  3.11.9 主題和模板
  3.11.10 自定義主題
  3.11.11 表單標(biāo)簽
  3.11.12 非表單標(biāo)簽
 3.12 本章小結(jié)
第4章 深入使用Struts 2
 4.1 詳解Struts 2的類型轉(zhuǎn)換
  4.1.1 Struts 2內(nèi)建的類型轉(zhuǎn)換器
  4.1.2 基于OGNL的類型轉(zhuǎn)換
  4.2.3 指定集合元素的類型
  4.1.4 自定義類型轉(zhuǎn)換器
  4.1.5 注冊(cè)類型轉(zhuǎn)換器
  4.1.6 基于Struts 2的自定義類型轉(zhuǎn)換器
  4.1.7 處理Set集合
  4.1.8 類型轉(zhuǎn)換中的錯(cuò)誤處理
 4.2 使用Struts 2的輸入校驗(yàn)
  4.2.1 編寫校驗(yàn)規(guī)則文件
  4.2.2 國(guó)際化提示信息
  4.2.3 使用客戶端校驗(yàn)
  4.2.4 字段校驗(yàn)器配置風(fēng)格
  4.2.5 非字段校驗(yàn)器配置風(fēng)格
  4.2.6 短路校驗(yàn)器
  4.2.7 校驗(yàn)文件的搜索規(guī)則
  4.2.8 校驗(yàn)順序和短路
  4.2.9 內(nèi)建校驗(yàn)器
  4.2.10 基于Annotation的輸入校驗(yàn)
  4.2.11 手動(dòng)完成輸入校驗(yàn)
 4.3 使用Struts 2控制文件上傳
  4.3.1 Struts 2的文件上傳
  4.3.2 實(shí)現(xiàn)文件上傳的Action
  4.3.3 配置文件上傳的Action
  4.3.4 手動(dòng)實(shí)現(xiàn)文件過(guò)濾
  4.3.5 攔截器實(shí)現(xiàn)文件過(guò)濾
  4.3.6 輸出錯(cuò)誤提示
  4.3.7 文件上傳的常量配置
 4.4 使用Struts 2控制文件下載
  4.4.1 實(shí)現(xiàn)文件下載的Action
  4.4.2 配置Action
  4.4.3 下載前的授權(quán)控制
 4.5 詳解Struts 2的攔截器機(jī)制
  4.5.1 攔截器在Struts 2中的作用
  4.5.2 Struts 2內(nèi)建的攔截器
  4.5.3 配置攔截器
  4.5.4 使用攔截器
  4.5.5 配置默認(rèn)攔截器
  4.5.6 實(shí)現(xiàn)攔截器類
  4.5.7 使用攔截器
  4.5.8 攔截方法的攔截器
  4.5.9 攔截器的執(zhí)行順序
  4.5.10 攔截結(jié)果的監(jiān)聽(tīng)器
  4.5.11 覆蓋攔截器棧里特定攔截器的參數(shù)
  4.5.12 使用攔截器完成權(quán)限控制
 4.6 使用Struts 2的Ajax支持
  4.6.1 使用stream類型的Result實(shí)現(xiàn)Ajax
  4.6.2 JSON的基本知識(shí)
  4.6.3 實(shí)現(xiàn)Action邏輯
  4.6.4 JSON插件與json類型的Result
  4.6.5 實(shí)現(xiàn)JSP頁(yè)面
 4.7 本章小結(jié)
第5章 Hibernate的基本用法
第6章 深入使用Hibernate
第7章 Spring的基本用法
第8章 深入使用Spring
第9章 企業(yè)應(yīng)用開(kāi)發(fā)的思考和策略
第10章 簡(jiǎn)單工作流系統(tǒng)

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   3.10.5 加載資源文件的順序 Struts 2提供了如此多的方式來(lái)加載國(guó)際化資源文件,這些加載國(guó)際化資源文件的方式有自己的優(yōu)先順序。假設(shè)我們需要在ChildAction中訪問(wèn)國(guó)際化消息,則系統(tǒng)加載國(guó)際化資源文件的優(yōu)先級(jí)是: ①優(yōu)先加載系統(tǒng)中保存在ChildAction的類文件相同位置,且baseName為ChildAction的系列資源文件。 ②如果在①中找不到指定key對(duì)應(yīng)的消息,且ChildAction有父類ParentAction,則加載系統(tǒng)中保存在ParentAction的類文件相同位置,且baseName為ParentAction的系列資源文件。 ③如果在②中找不到指定key對(duì)應(yīng)的消息,且ChildAction有實(shí)現(xiàn)接口IChildAction,則加載系統(tǒng)中保存在IChildAction的類文件相同位置,且baseName為IChildAction的系列資源文件。 ④如果在③中找不到指定key對(duì)應(yīng)的消息,且ChildAction有實(shí)現(xiàn)接口ModelDriven(即使用模型驅(qū)動(dòng)模式),則對(duì)于9etModel()方法返回的model對(duì)象,重新執(zhí)行第①步操作。 ⑤如果在④中找不到指定key對(duì)應(yīng)的消息,則查找當(dāng)前包下baseName為package的系列資源文件。 ⑥如果在⑤中找不到指定key對(duì)應(yīng)的消息,則沿著當(dāng)前包上溯,直到最頂層包來(lái)查找baseName為package的系列資源文件。 ⑦如果在⑥中找不到指定key對(duì)應(yīng)的消息,則查找struts.custom.i18n.resources常量指定baseName的系列資源文件。 ⑧如果經(jīng)過(guò)上面的步驟一直找不到該key對(duì)應(yīng)的消息,將直接輸出該key的字符串值;如果在上面的步驟①~⑦的任一步中,找到指定key對(duì)應(yīng)的消息,系統(tǒng)停止搜索,直接輸出該key對(duì)應(yīng)的消息。 對(duì)于在JSP中訪問(wèn)國(guó)際化消息,則簡(jiǎn)單得多,它們又可以分成兩種形式: 對(duì)于使用標(biāo)簽作為父標(biāo)簽的標(biāo)簽、表單標(biāo)簽的形式 ①將從標(biāo)簽指定的國(guó)際化資源文件中加載指定key對(duì)應(yīng)的消息。 ②如果在①中找不到指定key對(duì)應(yīng)的消息,則查找struts.custom.i18n.resources常量指定baseName的系列資源文件。 ③如果經(jīng)過(guò)上面的步驟一直找不到該key對(duì)應(yīng)的消息,將直接輸出該key的字符串值;如果在上面的步驟①~②的任一步中,找到指定key對(duì)應(yīng)的消息,系統(tǒng)停止搜索,直接輸出該key對(duì)應(yīng)的消息。 如果標(biāo)簽、表單標(biāo)簽沒(méi)有使用標(biāo)簽作為父標(biāo)簽 直接加載struts.custom.i18n.resources常量指定baseName的系列資源文件。如果找不到該key對(duì)應(yīng)的消息,將直接輸出該key的字符串值;否則,輸出該key對(duì)應(yīng)的國(guó)際化消息。 3.11 使用Struts 2的標(biāo)簽庫(kù) Struts 2也提供了大量標(biāo)簽來(lái)幫助開(kāi)發(fā)表現(xiàn)層頁(yè)面,與Struts1的標(biāo)簽庫(kù)相比,Struts 2的標(biāo)簽庫(kù)功能更加強(qiáng)大,而且更加簡(jiǎn)單易用。 3.11.1 Struts 2標(biāo)簽庫(kù)概述 與Struts1標(biāo)簽庫(kù)相比,Struts 2的標(biāo)簽庫(kù)有一個(gè)巨大的改進(jìn)之處:Struts 2標(biāo)簽庫(kù)的標(biāo)簽不依賴于任何表現(xiàn)層技術(shù),也就是說(shuō),Struts 2提供的大部分標(biāo)簽,可以在各種表現(xiàn)層技術(shù)中使用,包括最常用的JSP頁(yè)面,也可以在Velocity和FreeMarker等模板技術(shù)中使用。

編輯推薦

《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)(第3版):Struts 2+Spring 3+Hibernate整合開(kāi)發(fā)(超值紀(jì)念版)》適合于有較好的Java編程基礎(chǔ),或有初步JSP、Servlet基礎(chǔ)的讀者。尤其適合于對(duì)Struts2、Spring、Hibernate了解不夠深入,或?qū)truts2+Spring+Hibernate整合開(kāi)發(fā)不太熟悉的開(kāi)發(fā)人員閱讀。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn) PDF格式下載


用戶評(píng)論 (總計(jì)166條)

 
 

  •   輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)(第3版):Struts 2+Spring+Hibernate整合開(kāi)發(fā)(含CD光盤1張) 好書
  •   Struts 2+Spring+Hibernate整合開(kāi)發(fā)(含CD光盤1張)不錯(cuò)~
  •   培訓(xùn)班老師推薦他寫的java瘋狂講義...感覺(jué)這本 j2ee也應(yīng)該不錯(cuò) 都出到第三版了~~ 不過(guò)還沒(méi)有看...推薦哦~~~
  •   比較不錯(cuò)java教程,希望李剛老師能單獨(dú)出spring,hibernate的教程,,,如果出我一定買
  •   Struts2、Spring3、Hibernate敘述詳細(xì),我喜歡,我推薦
  •   從瘋狂java講義,到經(jīng)典級(jí)ejb,到輕量級(jí)javaee,內(nèi)容和質(zhì)量都不錯(cuò)。
  •   還沒(méi)有看,看過(guò)李剛的“瘋狂JAVA講義”,灰常love,是我目前買的java書中最滿意的,所以又買了這本書。希望一樣好。
  •   這本書適合java EE 的入門人員 來(lái)了解javaEE 但給我郵過(guò)來(lái)的時(shí)候沒(méi)有帶光碟 遺憾??!@
  •   別人推薦的,對(duì)于有一定Java ee基礎(chǔ)的初學(xué)者很有幫助!
  •   前端看不到Ext 的影子,配置文件中也看不到struts2 把 Action 交給Spring3 去管理的配置,這本書用來(lái)參考很不錯(cuò),但與實(shí)際項(xiàng)目比起來(lái)還差的太遠(yuǎn)哦
  •   java還是最適合大型 企業(yè)級(jí)開(kāi)發(fā)的尤其是服務(wù)器端 開(kāi)放 自由 框架豐富且靈活Java企業(yè)級(jí)開(kāi)發(fā) 不可不讀
  •   這本書對(duì)于學(xué)習(xí)JAVA WEB開(kāi)發(fā),比較有用,對(duì)于SSH框架,還是比較不錯(cuò)的參考書,有比較詳細(xì)的講解和代碼。
  •   非常適合做過(guò)java web開(kāi)發(fā)但還沒(méi)有系統(tǒng)學(xué)習(xí)過(guò)的朋友。我雖然也做了幾年了,好多東西僅僅只是用到而已,買本書好好深入研究下。
  •   結(jié)合瘋狂java的官方視頻看,有不錯(cuò)的效果,里面的講解很詳細(xì)。但是個(gè)人也需多加操練。
  •   這本書所針對(duì)的閱讀人群,正式學(xué)了j2se以后,在j2ee領(lǐng)域艱難探索的人。
    由于有2年沒(méi)弄J2ee,對(duì)于相關(guān)的知識(shí)點(diǎn)已經(jīng)比較陌生的我來(lái)說(shuō)。這本書的內(nèi)容非常棒的。
    現(xiàn)在我看到了快100頁(yè)這樣。在講jsp的一些知識(shí)點(diǎn)。
    這本書的章節(jié)、以及知識(shí)點(diǎn)的劃分都很不錯(cuò)。講解的也比較細(xì)致。強(qiáng)烈推薦。
  •   粗略看了下,這書還行 對(duì)struts2介紹很詳細(xì) 最主要的是最后兩章集中講如何把3個(gè)框架綜合在一起。
  •   很詳細(xì)的介紹了ssh框架的知識(shí),java程序員必備之書!
  •   java開(kāi)發(fā)提升水平很需要看看
  •   對(duì)框架不熟,看了目錄,挺厚的一本書,比較詳細(xì),看了目錄比較適合基礎(chǔ)剛學(xué)完的Java愛(ài)好者
  •   李剛老師的書,寫得很詳細(xì),很好。適合有一定java基礎(chǔ)的程序員。
  •   輕量級(jí)企業(yè)JavaWeb開(kāi)發(fā)的方方面面都說(shuō)到了,認(rèn)真讀完整本書對(duì)于企業(yè)實(shí)戰(zhàn)很有幫助
  •   書很厚,當(dāng)然也很詳細(xì),因?yàn)楝F(xiàn)在學(xué)到了java框架方面了,所以買這一本書用得到,幫助很大
  •   書的深度很不錯(cuò),講解stuts2和sping3很詳細(xì),但是講hienate就不厚道了,還要搭上J2EE那本來(lái)學(xué)annotation的JPA
  •   內(nèi)容比較充實(shí),適合初學(xué)ssh架構(gòu)的java編程人員。
  •   J2EE架構(gòu)的詳細(xì)資料,正在研讀中。
  •   這本書,內(nèi)容詳細(xì),解釋全面,每一個(gè)講解十分清晰,是一本難得的java教材
  •   書的內(nèi)容深入淺出并有大量的例子,建議至少有基本JAVA基礎(chǔ)閱讀
  •   不錯(cuò)的J2EE學(xué)習(xí)用書,技術(shù)比較新,值得學(xué)習(xí)。
  •   很適合我的一本書,適合做后臺(tái)的程序員用,幫了不少忙,但零基礎(chǔ)的會(huì)看不懂,要有一些java經(jīng)驗(yàn)才可以。
  •   剛從****轉(zhuǎn)到j(luò)ava,這書對(duì)我了解架構(gòu)很有幫助
  •   這本書還不錯(cuò)可以作為架構(gòu)方面入門的過(guò)度書,這本書看完了再看單獨(dú)的struts2的書。
  •   還沒(méi)看,因?yàn)椴砰_(kāi)始接觸java,之前我學(xué)C/C++的。這本書還是要有點(diǎn)java基礎(chǔ)再學(xué)好點(diǎn)~
  •   很經(jīng)典的書,就算沒(méi)有java基礎(chǔ)的也能看得懂。
  •   java還沒(méi)看,code這本講的通俗易懂,思路清晰,邏輯連貫,通俗易懂~~確實(shí)經(jīng)典!
  •   同事喜歡java方面的書籍,希望有大幫助。當(dāng)當(dāng)?shù)臅€是挺不錯(cuò),買書就認(rèn)準(zhǔn)當(dāng)當(dāng),送同事的,同事們都很高興
  •   書不錯(cuò),不過(guò)還是需要有java基礎(chǔ)在看會(huì)好很多
  •   書不錯(cuò),很實(shí)用,不過(guò)的有java基礎(chǔ)
  •   J2EE必備~
  •   寫得滿細(xì)的。對(duì)有一定core java基礎(chǔ)的同學(xué),并往web方向發(fā)展的很有幫助。可以當(dāng)參考書用。對(duì)SSH2概念及用途比較模糊的同學(xué)也可以使用。
  •   這本書寫的很好,對(duì)出學(xué)JAVA的來(lái)說(shuō)很詳盡
  •   這本書用來(lái)做java的提升書目是不錯(cuò)的~
  •   貌似,稍微要有那么一點(diǎn)java基礎(chǔ)和html基礎(chǔ)才看得懂...
  •   此書對(duì)java程序員,猶如圣經(jīng)對(duì)基督徒,每當(dāng)拿起此書,總是懷著虔誠(chéng)的
  •   大致翻了下,是我想要的那一本!對(duì)于一個(gè)java初級(jí)開(kāi)發(fā)者來(lái)說(shuō)是一本進(jìn)階的必備書籍!
  •   對(duì)于才開(kāi)始學(xué)習(xí)java的人很有幫助,不錯(cuò)
  •   該書值得一看。學(xué)習(xí)Java的人可以學(xué)學(xué)。
  •   不錯(cuò),準(zhǔn)備開(kāi)啟java之旅
  •   正在看瘋狂講義,,
  •   這是一本非常好的書,解析的很詳細(xì),每個(gè)知識(shí)點(diǎn)都有對(duì)應(yīng)的小例子,可以讓人學(xué)得很快。不過(guò)建議學(xué)過(guò)JSP,Servlet,并且對(duì)SSH框架有移動(dòng)了解的人看,否則是看不懂的?。?!
  •   這本書很好,不管是新手或者高手都適合,知識(shí)點(diǎn)講得非常詳細(xì),即適合新手入門,又適合高手開(kāi)發(fā)時(shí)的查詢用,很值得購(gòu)買,當(dāng)當(dāng)?shù)呐渌鸵埠芙o力,服務(wù)態(tài)度好,效率又高
  •   很好的書,適合開(kāi)發(fā)大型項(xiàng)目
  •   還行書挺厚。。。開(kāi)發(fā)工具室eclipse 不是myeclipse。。。
  •   本書非常喜歡,講的知識(shí)非常全面,完全是javaEE后臺(tái)開(kāi)發(fā)的知識(shí)
  •   講的比較細(xì),也很全面,比較適合開(kāi)發(fā)人士學(xué)習(xí)!
  •   輕量級(jí)JavaEE,我喜歡呢,看完看重量級(jí)的EJB
  •   輕量級(jí)這本書很好,快遞很到位,書是正版的
  •   瘋狂系列的書本一直都挺不錯(cuò)的
  •   講的詳細(xì)實(shí)際開(kāi)發(fā)中檔工具書很不錯(cuò)
  •   書很不錯(cuò),搞開(kāi)發(fā)的人手一本,可是這書的質(zhì)量,,,,太次了。竟然有幾頁(yè)都沒(méi)膠狀好。
  •   買這本書是為了將自己平時(shí)工作中的遇到的技術(shù)整合一下, 感覺(jué)還不錯(cuò)的。
  •   做JavaEE開(kāi)發(fā)的一定要看,尤其是新手進(jìn)階
  •   不錯(cuò)的書,web開(kāi)發(fā)不錯(cuò)的工具書。
  •   書很厚,很大,很重,很不錯(cuò),每次泡面用來(lái)壓碗很嚴(yán)實(shí),面都泡得特別好。順便說(shuō)下哈,你這評(píng)論頁(yè)面開(kāi)發(fā)的有bug,google瀏覽器下評(píng)分不能評(píng)分 或者 不能選擇5分,害得我還要換到IE下才能給5分
  •   不錯(cuò),企業(yè)級(jí)開(kāi)發(fā)
  •   在學(xué)習(xí)三大框架。。。買本書解決一下。。。紙張比想象的好。。因?yàn)楹芏嘣u(píng)論說(shuō)不咋地。。很厚實(shí)。。帶光盤。。。內(nèi)容也可以啊。。。
  •   本書值得已看,想要學(xué)框架的就看這本書就行,非常的好,講的很細(xì)致,每個(gè)知識(shí)點(diǎn)都有代碼,方便理解
  •   跟著時(shí)代走,這本書適合一心投入框架的孩紙學(xué)習(xí)。
  •   初看了一下,能看出里面有編程的經(jīng)驗(yàn),3個(gè)框架都有講,還沒(méi)有具體看,應(yīng)該不錯(cuò)
  •   書是李剛老師寫的,很不錯(cuò),適合我這樣的javaEE初學(xué)者。
  •   果然入門上手好教材,不愧是培訓(xùn)專家,講解非常清楚,只是環(huán)境介紹稍有點(diǎn)不詳細(xì)。
  •   內(nèi)容不錯(cuò),排版感覺(jué)不清晰,有些地方寫的有點(diǎn)啰嗦,比如“jsp就是servlet”這句話寫了n遍
  •   李剛的書還是寫的很好的,唯一不好的我覺(jué)得寫太厚了。
  •   李剛老師書猛。好書,值得認(rèn)真學(xué)習(xí)。
  •   非常好,對(duì)框架的深入幫助很大!
  •   這本書是李剛系列的書,很給力
  •   很期待,剛看完ssh框架,不是很熟悉,急需一本有實(shí)例的書練習(xí)。
  •   我覺(jué)得自學(xué)三大框架,這本書是個(gè)不錯(cuò)的選擇。預(yù)計(jì)在十天看完這本書,加油!
  •   本書有贈(zèng)送的視屏但是視頻只有部分
  •   書寫的很好,很適合初學(xué)者學(xué)習(xí),有利于提高實(shí)戰(zhàn)技巧。想研究純理論的話,就不適合了。
  •   還是李剛老師講的詳細(xì)
  •   不愧是李剛大師寫你的書,講解的非常到位
  •   正在學(xué)習(xí)中。李剛的書一直很喜歡
  •   我喜歡看這方面的書籍,雖然已經(jīng)后幾本類似的,但還是選擇買來(lái)看,想品味筆者得道與相異之處,這書,挺好。。
  •   書很好,講的很詳細(xì),還有視頻可以下載,對(duì)以后的學(xué)習(xí)工作會(huì)有很大幫助,極力推薦
  •   內(nèi)容很詳細(xì),結(jié)構(gòu)很清晰,目標(biāo)性很強(qiáng),讓人很容易閱讀。書中的例子也很經(jīng)典。
  •   李剛老師的書寫的都很不錯(cuò),付出了很多心血
  •   李剛的書,看過(guò)幾本,不錯(cuò).
  •   第2版的時(shí)候,就買了。這次買,就是想繼續(xù)學(xué)習(xí)。隨書的光盤也有,很好。
  •   雖然比預(yù)期晚了一天還是挺快的,3大框架必備啊
  •   好書,好評(píng)價(jià)。學(xué)習(xí)ssh框架的不能錯(cuò)過(guò)
  •   書的質(zhì)量很好。可是內(nèi)容感覺(jué)就是把知識(shí)點(diǎn)都講了遍,但是講的很抽象。里面的講解說(shuō)深度吧,又沒(méi)有太深入,說(shuō)實(shí)用性吧,幾個(gè)例子都很抽象幾乎沒(méi)有實(shí)用性。
  •   書比較厚,適合有一定基礎(chǔ)的程序員閱讀。
  •   內(nèi)容很全在,技術(shù)也新。很有參考價(jià)值
  •   作者不知道是否因?yàn)檫@個(gè)名字而再次出名了,反正他寫得受重視程度不比那個(gè)李剛差
  •   李剛出品必屬精品
  •   這本書很不錯(cuò),是入門的好書講了很多基礎(chǔ)知識(shí),很不錯(cuò)推薦
  •   感覺(jué)不錯(cuò),希望這本書能夠給我?guī)Я诵轮R(shí)
  •   紙質(zhì)不錯(cuò),內(nèi)容寫的也夠詳細(xì),挺好的,適合有一定基礎(chǔ)的人翻看。
  •   今天略讀了一遍,書的內(nèi)容很豐富,講解的也很詳細(xì),適合我這樣的初學(xué)者。
  •   書里面寫的非常詳細(xì),可能有些知識(shí)點(diǎn)放在系列別的書籍中,但是講解的內(nèi)容都非常通俗易懂,從基礎(chǔ)入手,幫助非常大!
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7