java實(shí)習(xí)周記25篇_第1頁
java實(shí)習(xí)周記25篇_第2頁
java實(shí)習(xí)周記25篇_第3頁
java實(shí)習(xí)周記25篇_第4頁
java實(shí)習(xí)周記25篇_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余23頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、第一周實(shí)習(xí)第一個(gè)禮拜,算是適應(yīng)期。主要了解一些公司的背景、產(chǎn)品、發(fā)展方向等。剛到實(shí)習(xí)公司,不是像學(xué)校里的朝九晚五,而是朝八晚九。 我們不可能簡(jiǎn)單的了解一些企業(yè)文化,簡(jiǎn)單的學(xué)學(xué)新的知識(shí)就可以了,我們的這個(gè)實(shí)習(xí)必將是一個(gè)繁忙的實(shí)習(xí),也必將是一個(gè)充實(shí)的,進(jìn)步的實(shí)習(xí)。來到這里,我們要忘掉大學(xué)里自由的作息時(shí)間,克服困難,養(yǎng)成良好的工作生活習(xí)慣?;诟鞣矫娴脑颍m然在去之前我們做了比較充足的準(zhǔn)備,但還是遇到了一些困難,例如學(xué)習(xí)時(shí)間長(zhǎng),實(shí)戰(zhàn)比較繁多,但時(shí)間又比較的短,難以保證按時(shí)按質(zhì)按量完成。下午下了班,員工們都回去了,我還在那兒練習(xí),一直到晚上9點(diǎn),才能回住處休息。中午也沒有休息的地方,只能趴在電腦前休

2、息一會(huì),一兩周下來,相當(dāng)?shù)仄v。但我們都明白自己來實(shí)習(xí)的任務(wù),都堅(jiān)持著完成自己的任務(wù)和使命。這個(gè)星期熟悉了工作環(huán)境、java編程的環(huán)境配置。等慢慢熟悉起來,做起事情也越來越順手了.簡(jiǎn)單的總結(jié)為幾個(gè)字,那就是:多看,多問,多觀察,多思考!第二周實(shí)習(xí)第二個(gè)禮拜,主要是熟悉java的基礎(chǔ)語法,把基礎(chǔ)打扎實(shí),以后在開發(fā)中才能如魚得水。學(xué)習(xí)總結(jié)如下幾點(diǎn):1、類之間的關(guān)系:關(guān)聯(lián)、聚合、繼承、實(shí)現(xiàn)和多態(tài)。2、基本數(shù)據(jù)類型:整數(shù)型、浮點(diǎn)型、字符型、布爾型。3、常用邏輯語句和循環(huán)語句:switch只支持int類型判斷,沒有寫break易穿透至下一個(gè)循環(huán),jdk7.0貌似增強(qiáng)了支持?jǐn)?shù)據(jù)類型。Break:強(qiáng)行退出循

3、環(huán);Continue:跳出當(dāng)前循環(huán)。5、修飾符:pbulic,private,protected,default。設(shè)置訪問權(quán)限。6、Static關(guān)鍵字:靜態(tài)修飾符,它修飾的方法、類和變量可以全局調(diào)用。7、Final關(guān)鍵字:禁止重寫。8、This關(guān)鍵字:指向自身引用。9、string:是不可變的字符序列。(兩個(gè)string變量必須用copy的方式在內(nèi)存中new出新的數(shù)據(jù)塊)10、stringBuffer:是可變的字符序列,可以直接添加字符。第三周實(shí)習(xí)第三個(gè)禮拜,主要是熟悉java的高級(jí)語法(核心)繼承:子類繼承父類的所有屬性和方法,如果方法和屬性被private修飾,子類則無法讀取。子類使用Su

4、per關(guān)鍵字繼承。父類無法調(diào)用子類方法。構(gòu)造方法:方法名稱必須與類名相同,且沒有返回值。Object類是所有類的父類,即java中的根類。無參構(gòu)造方法默認(rèn)繼承object的。(構(gòu)造方法的重載,實(shí)現(xiàn)不同參數(shù)的構(gòu)造)重載:方法相同,參數(shù)類型不同,數(shù)量不同。構(gòu)造方法中也常使用方法重載。重寫:重寫方法必須和被重寫方法具有相同參數(shù)列表、相同方法和相同返回值。重寫方法不能使用比被重寫方法更嚴(yán)格的訪問權(quán)限。抽象:抽象類被繼承后,方法必須被重寫并實(shí)現(xiàn),否則子類也還是抽象類。抽象方法只需聲明,無需實(shí)現(xiàn)。接口:實(shí)現(xiàn)關(guān)鍵字implements。接口中所有成員變量和方法都是public。接口可以繼承其他接口,并添加新

5、的屬性和方法。接口和實(shí)現(xiàn)類之間存在多態(tài)。多態(tài):三個(gè)必要條件分別是繼承、重寫和父類引用子類對(duì)象。(java的核心思想)第四周實(shí)習(xí)第四個(gè)禮拜,主要熟悉了java的高級(jí)應(yīng)用線程:進(jìn)程是運(yùn)行中的應(yīng)用程序,是一套順序執(zhí)行的指令,每個(gè)進(jìn)程都有自己獨(dú)立的內(nèi)存空間。線程是一個(gè)并發(fā)執(zhí)行的順序流,一個(gè)進(jìn)程包括多個(gè)順序執(zhí)行流程,這些流程稱為線程。JVM 就是一個(gè)進(jìn)程,在JVM 中分出線程,比如main()就是主線程。同時(shí)開辟并發(fā)執(zhí)行的序列即多線程。調(diào)用start()方法,線程啟動(dòng);run()方法結(jié)束,線程就終止。線程是一個(gè)操作系統(tǒng)創(chuàng)建并維護(hù)的一個(gè)資源。對(duì)于單CPU 系統(tǒng)來說,某一個(gè)時(shí)刻只可能由一個(gè)線程在運(yùn)行。一個(gè)T

6、hread 對(duì)象就表示一個(gè)線程。進(jìn)程的數(shù)據(jù)空間獨(dú)立;線程的數(shù)據(jù)空間共享, 能充分使用CPU 的資源。線程間通信更容易。共享數(shù)據(jù)就要加鎖、解鎖,會(huì)降低效率。I/O:是在JVM 和外部數(shù)據(jù)源之間交換數(shù)據(jù)。按數(shù)據(jù)傳輸方向劃分:輸入流和輸出;按數(shù)據(jù)單位劃分:字節(jié)流和字符流;過濾流用來封裝節(jié)點(diǎn)流或者其他過濾流,從而給節(jié)點(diǎn)流或其他的過濾流增加功能。第五周實(shí)習(xí)第五個(gè)禮拜,使用Collection框架做派叫號(hào)系統(tǒng) 首先分析項(xiàng)目需求,概述如下:1.產(chǎn)品參與者顧客:到營業(yè)大廳排隊(duì)取號(hào)柜員:提供業(yè)務(wù)服務(wù)的柜臺(tái)業(yè)務(wù)員管理員:負(fù)責(zé)對(duì)業(yè)務(wù)類型、業(yè)務(wù)受理情況進(jìn)行實(shí)時(shí)查看、調(diào)配的管理者2.功能需求1)、取號(hào):顧客來到營業(yè)大廳

7、通過取號(hào)機(jī)取號(hào),可以選擇自己要辦理的業(yè)務(wù)類型。取號(hào)后自動(dòng)進(jìn)入排隊(duì)中。等待叫號(hào);2)、叫號(hào):柜員可以通過叫號(hào)端進(jìn)行重復(fù)呼叫、暫停服務(wù)和轉(zhuǎn)移。叫號(hào)端可是軟件也可以是硬件設(shè)備;3)、管理業(yè)務(wù)類型:管理人員可以通過后臺(tái)管理進(jìn)行業(yè)務(wù)類型的管理??梢蕴砑?、禁用、修改一種業(yè)務(wù)類型,為某種業(yè)務(wù)類型可以設(shè)置每天最大辦理量;4)、管理窗口:管理人員可以通過后臺(tái)管理對(duì)業(yè)務(wù)窗口進(jìn)行管理??梢詾槟硞€(gè)窗口指定辦理某種業(yè)務(wù)類型;5)、統(tǒng)計(jì)整合數(shù)據(jù):系統(tǒng)可以定時(shí)的整合數(shù)據(jù),將分散在每天的數(shù)據(jù)按人、業(yè)務(wù)類型、時(shí)間進(jìn)行整合,可以將統(tǒng)計(jì)數(shù)據(jù)輸出成圖表形式;6)、查看辦理情況:可以查看當(dāng)前流量、已經(jīng)辦理、未辦理的人數(shù)。當(dāng)前辦理效率,

8、歷史數(shù)據(jù)等等;7)、記錄日志:系統(tǒng)對(duì)關(guān)鍵的地方進(jìn)行日志記錄,以便系統(tǒng)可以在出錯(cuò)時(shí)進(jìn)行調(diào)試和處理。實(shí)施代碼編寫。第一個(gè)項(xiàng)目設(shè)計(jì),感覺難度很大。之前所學(xué)的是零零散散的知識(shí)點(diǎn),現(xiàn)在要把之前所學(xué)的知識(shí)連貫起來,剛開始不知道怎么去連貫,后來看了需求分析文檔,分析圖,慢慢的有點(diǎn)思路。在后面的做項(xiàng)目的過程中,遇到了太多的問題,通過自己的思考、問同事,問老師慢慢的解決了。而在第一個(gè)項(xiàng)目中也學(xué)到了很多東西。第六周1、數(shù)據(jù)庫范式 作用:盡可能減少數(shù)據(jù)冗余、保證數(shù)據(jù)完整性、識(shí)別出實(shí)體、關(guān)系以及表的缺失 第一范式:字段都為單一屬性,且屬性為基礎(chǔ)類型第二范式:屬性必須完全依賴關(guān)鍵字第三范式:非主鍵屬性不能依賴其他的非主

9、鍵屬性mysql的學(xué)習(xí),在學(xué)校里我對(duì)mysql已有了初步的了解。指導(dǎo)老師教我要靈活多變,什么時(shí)候要用到臨時(shí)表,嵌套查詢,存儲(chǔ)過程用的地方等,叫我多看幾個(gè)例子,并敲下代碼運(yùn)行下,體會(huì)里面的數(shù)據(jù)生成,查詢出自己要的數(shù)據(jù)等。然后再根據(jù)這些數(shù)據(jù)寫出語句,生成需要的流程,這就是數(shù)據(jù)挖掘的精髓!那么存儲(chǔ)過程與一般的SQL語句有什么區(qū)別呢?存儲(chǔ)過程的優(yōu)點(diǎn):1.存儲(chǔ)過程只在創(chuàng)造時(shí)進(jìn)行編譯,以后每次執(zhí)行存儲(chǔ)過程都不需再重新編譯,而一般sql語句每執(zhí)行一次就編譯一次,所以使用存儲(chǔ)過程可提高數(shù)據(jù)庫執(zhí)行速度。2.當(dāng)對(duì)數(shù)據(jù)庫進(jìn)行復(fù)雜操作時(shí)(如對(duì)多個(gè)表進(jìn)行 Update,Insert,Query,Delete時(shí)),可將此

10、復(fù)雜操作用存儲(chǔ)過程封裝起來與數(shù)據(jù)庫提供的事務(wù)處理結(jié)合一起使用。3.存儲(chǔ)過程可以重復(fù)使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量從中我學(xué)到了:存儲(chǔ)過程是數(shù)據(jù)在存儲(chǔ)到數(shù)據(jù)庫的過程中,可以對(duì)這些數(shù)據(jù)進(jìn)行操作,不然數(shù)據(jù)就是直接從頁面獲取,直接原樣存儲(chǔ)。第七周實(shí)習(xí)第七個(gè)禮拜,為了進(jìn)一步了解java開發(fā)的相關(guān)知識(shí),掌握java開發(fā)的基本技術(shù),豐富java開發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn),代碼的復(fù)用性。學(xué)習(xí)SQL的基礎(chǔ)知識(shí)及正確的運(yùn)用方法,和有用的相關(guān)技術(shù),提高自己的工作效率。通過項(xiàng)目重構(gòu),培養(yǎng)我們綜合運(yùn)用已學(xué)知識(shí)Java語言的面向?qū)ο缶幊棠芰?;培養(yǎng)我們動(dòng)手能力;培養(yǎng)我們良好編程規(guī)范、編程方法;以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的

11、知識(shí),提高自身的編程能力;增強(qiáng)自己的團(tuán)隊(duì)協(xié)作意識(shí),了解軟件開發(fā)的思考角度和主要流程。為以后能夠更快地進(jìn)入工作狀態(tài)并且能夠更好的工作,打好一定的基礎(chǔ)。從這里,我才真正的意識(shí)到實(shí)施一個(gè)軟件工程并不是說簡(jiǎn)單的會(huì)編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,只占到那么小的一個(gè)部分。這個(gè)事實(shí)在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識(shí)中,似乎整個(gè)軟件就是編碼,除此無它,還好有老師的指導(dǎo),不然真的會(huì)出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個(gè)工作。項(xiàng)目程序的編程是一個(gè)非常煩瑣而枯燥的過程,需要耐心和毅力去完成,不然中途出現(xiàn)過多的錯(cuò)誤,會(huì)使之后的校驗(yàn)略顯

12、費(fèi)時(shí)。實(shí)習(xí)項(xiàng)目的代碼編寫,從而進(jìn)入到后期的校對(duì)和驗(yàn)收過程,但同時(shí)也少不了反復(fù)的調(diào)試和修改,為我的程序軟件更加簡(jiǎn)單更加實(shí)用。第八周實(shí)習(xí)第八個(gè)禮拜,主要了解網(wǎng)頁的基本架構(gòu)B/S架構(gòu):瀏覽器-服務(wù)器(Browser/Server)結(jié)構(gòu),簡(jiǎn)稱B/S結(jié)構(gòu)與C/S結(jié)構(gòu)不同,其客戶端不需要安裝專門的軟件,只需要瀏覽器即可,瀏覽器通過Web服務(wù)器與數(shù)據(jù)庫進(jìn)行交互,可以方便的在不同平臺(tái)下工作。服務(wù)器端可采用高性能計(jì)算機(jī),并安裝Oracle、Sybase、Informix等大型數(shù)據(jù)庫。B/S結(jié)構(gòu)簡(jiǎn)化了客戶端的工作,它是隨著Internet技術(shù)興起而產(chǎn)生的,對(duì)C/S技術(shù)的改進(jìn),但該結(jié)構(gòu)下服務(wù)器端的工作較重,對(duì)服務(wù)器

13、的性能要求更高。C/S架構(gòu):主從式架構(gòu)(Clientserver model) 或客戶端-服務(wù)器(Client/Server)結(jié)構(gòu)簡(jiǎn)稱C/S結(jié)構(gòu)是一種網(wǎng)絡(luò)架構(gòu),它把客戶端(Client) (通常是一個(gè)采用圖形用戶界面的程序)與服務(wù)器(Server) 區(qū)分開來。每一個(gè)客戶端軟件的實(shí)例都可以向一個(gè)服務(wù)器或應(yīng)用程序服務(wù)器發(fā)出請(qǐng)求。經(jīng)典C/S系統(tǒng):QQ/MSN/ICQHTTP協(xié)議:超文本傳輸協(xié)議(HTTP,HyperTextTransfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。第九周實(shí)習(xí)第九個(gè)禮拜HTML :是一種標(biāo)記語言、忽略大小寫,語法寬松、使用 HTML 標(biāo)記和元素,可以:控

14、制頁面和內(nèi)容的外觀、發(fā)布聯(lián)機(jī)文檔、使用 HTML 文檔中插入的鏈接檢索聯(lián)機(jī)信息、創(chuàng)建聯(lián)機(jī)表單,收集用戶的信息、執(zhí)行事務(wù)等等、插入動(dòng)畫、開發(fā)幫助文件等。CSS:樣式會(huì)根據(jù)下面的規(guī)則層疊于一個(gè)新的虛擬樣式表中,其中數(shù)字 d 擁有最高的優(yōu)先權(quán)。瀏覽器兼容:一旦為頁面設(shè)置了恰當(dāng)?shù)?DTD,大多數(shù)瀏覽器都會(huì)按照上面的圖示來呈現(xiàn)內(nèi)容。然而 IE 5 和 6 的呈現(xiàn)卻是不正確的。根據(jù) W3C 的規(guī)范,元素內(nèi)容占據(jù)的空間是由 width 屬性設(shè)置的,而內(nèi)容周圍的 padding 和 border 值是另外計(jì)算的。不幸的是,IE5.X 和 6 在怪異模式中使用自己的非標(biāo)準(zhǔn)模型。這些瀏覽器的 width 屬性不是

15、內(nèi)容的寬度,而是內(nèi)容、填充和邊框的寬度的總和。雖然有方法解決這個(gè)問題。但是目前最好的解決方案是回避這個(gè)問題。也就是,不要給元素添加具有指定寬度的內(nèi)邊距,而是嘗試將內(nèi)邊距或外邊距添加到元素的父元素和子元素。這些屬性是DIV布局的奠基石。由于瀏覽器的不同,盒模式中也有差異,比如說對(duì)于寬度盒高度,在不同瀏覽器中定義是不同的,IE6是包含邊框 、內(nèi)邊距,而FF的只是指內(nèi)容的寬度。細(xì)節(jié)上的差異,往往是我們?cè)谌粘9ぷ髦心芸偨Y(jié)出來的。當(dāng)你的CSS寫的不兼容時(shí)候,你自然就會(huì)想起這些內(nèi)容。第十周實(shí)習(xí)第十個(gè)禮拜JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的腳本語言基本特點(diǎn):基于對(duì)象的語言、簡(jiǎn)單性、安

16、全性、動(dòng)態(tài)性、跨平臺(tái)性、是一種腳本編寫語言、解釋型語言(不用編譯、直接由瀏覽器解釋執(zhí)行)使用typeof操作符判斷NaN-not a number,即非數(shù)值a、NaN用于表示一個(gè)本來要返回?cái)?shù)值的操作數(shù)未返回值的情況;b、任何涉及NaN的操作都會(huì)返回NaN;c、NaN與任何值都不相等包括NaN本身,返回falseisNaN函數(shù)-判斷某個(gè)值是否為數(shù)值 如果是數(shù)字值,返回本身、如果是null,返回0、如果是undefined,返回NaN、如果是字符串,遵循以下規(guī)則:-如果字符串中只包含數(shù)字,則將其轉(zhuǎn)換為十進(jìn)制(忽略前導(dǎo)0)-如果字符串中包含有效的浮點(diǎn)格式,將其轉(zhuǎn)換為浮點(diǎn)數(shù)值(忽略前導(dǎo)0)-如果是空字

17、符串,將其轉(zhuǎn)換為0-如果字符串中包含非以上格式,則將其轉(zhuǎn)換為NaN如果是對(duì)象,則調(diào)用對(duì)象的valueOf()方法,然后依據(jù)前面的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則調(diào)用對(duì)象的toString()方法,再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。parseInt-將字符串轉(zhuǎn)換為整數(shù)類型的數(shù)值,規(guī)則如下、忽略字符串前面的空格,直至找到第一個(gè)非空字符、如果第一個(gè)字符不是數(shù)字符號(hào)或者負(fù)號(hào),返回NaN、如果第一個(gè)字符是數(shù)字,則繼續(xù)解析直至字符串解析完畢或者遇到一個(gè)非數(shù)字符號(hào)為止、如果上步解析的結(jié)果以0開頭,則將其當(dāng)作八進(jìn)制來解析;如果以0x開頭,則將其當(dāng)作十六進(jìn)制來解析。第十一周實(shí)習(xí)第十一個(gè)禮拜Ser

18、vlet生命周期Servlet的并發(fā)問題:在Servlet中使用靜態(tài)變量和成員變量是,要非常小心。如果你的程序改變這些變量值的時(shí)候,就會(huì)發(fā)生并發(fā)問題。如果從不會(huì)去改變,只是讀取,則不會(huì)發(fā)生并發(fā)局部變量永遠(yuǎn)不會(huì)有并發(fā)問題。Servlet的并發(fā)處理:不使用靜態(tài)變量和成員變量、如果一定要使用,要加鎖,但會(huì)影響性能資源訪問:WebRoot下面的都叫容器內(nèi)的資源、Servlet、容器外的資源、forward vs redirect 都能訪問內(nèi)部資源,redirect還可以訪問外部資源、使用forward是在后臺(tái)轉(zhuǎn)發(fā);瀏覽器也不知道干了什么,所以地址不會(huì)變、而redirect要先回到瀏覽器,告訴瀏覽器要訪

19、問誰,所以瀏覽器的地址欄要發(fā)變化、當(dāng)訪問內(nèi)部資源時(shí),使用firward效率會(huì)更高。Session是容器為每個(gè)客戶端開辟內(nèi)存空間,專門用來保持狀態(tài)信息、Session需要一個(gè)id來標(biāo)識(shí):sessionid、要求客戶端要保留id、 每一次訪問時(shí)都帶上這個(gè)id、 a、Session的基本特點(diǎn):保存在服務(wù)器端(安全性高,保護(hù)隱私)、類似Hashtable的數(shù)據(jù)結(jié)構(gòu)保存、支持任何類型的對(duì)象、b、保存會(huì)話id的技術(shù)(aporia)、Cookie表單隱藏字段、c、獲取Session、d、Session存取信息、e、設(shè)置Session的有效時(shí)間第十二周實(shí)習(xí)第十二個(gè)禮拜MVC:Model-職責(zé)分明,便于風(fēng)開發(fā)、

20、優(yōu)點(diǎn):解耦,職責(zé)分明,便于分工開發(fā)、缺點(diǎn):分成三部分,造成系統(tǒng)架構(gòu)復(fù)雜,對(duì)于小系統(tǒng)不適合、造成調(diào)試?yán)щy,一旦出現(xiàn)錯(cuò)誤,可能是Model,也可能是view也可能是control、對(duì)開發(fā)人員要求比較高。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一

21、起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP:為什么要學(xué)EL和jstl、在一個(gè)系統(tǒng)中,頁面通常是由美工開設(shè)計(jì)完成,美工并不懂java語言、當(dāng)美工看到頁面上充滿著java代碼時(shí),會(huì)干擾美工維護(hù)頁面,造成維護(hù)困難、如何做到動(dòng)態(tài)頁面沒有java代碼?EL表達(dá)式和JSTL。EL表達(dá)式:$ 屬性名 /屬性名是調(diào)用對(duì)象的setAttribute(屬性名,屬性值)、在servlet往范圍對(duì)象中設(shè)置屬性,forward到目

22、標(biāo)頁面、EL訪問常量值,直接輸出 $ 常量 、可以使用=判斷字符串、存取器 讀取對(duì)象的值、使用.可以訪問對(duì)象的屬性,讀取map的key、讀取數(shù)組只能用。第十三周實(shí)習(xí)第十三個(gè)禮拜功能需求如下:這是一個(gè)網(wǎng)上在線購物系統(tǒng)(B2C)。系統(tǒng)需要提供網(wǎng)上購物的功能。用戶能夠隨意瀏覽商品,并能獲取商品的詳細(xì)信息,如圖片預(yù)覽、商品描述等。系統(tǒng)能夠向用戶提供一些瀏覽信息,讓用戶能夠快速的了解系統(tǒng)出售商品信息,如特價(jià)促銷,店長(zhǎng)推薦,排行榜,新上架商品等。系統(tǒng)能夠提供3級(jí)分類商品。系統(tǒng)能夠提供品牌分類。系統(tǒng)能夠提供公告信息,讓用戶快速了解系統(tǒng)的通告信息。系統(tǒng)能夠提供論壇的方式,供用戶發(fā)表對(duì)商品的評(píng)論的功能。系統(tǒng)能夠

23、提供搜索功能,讓用戶快速了解他需要的產(chǎn)品。用戶在瀏覽3級(jí)分類商品的時(shí)候,需要體統(tǒng)高級(jí)篩選功能,如不同方式瀏覽商品信息、按價(jià)格排序商品,按規(guī)格瀏覽商品等功能。用戶購物需要注冊(cè)成為本系統(tǒng)的會(huì)員,并能隨時(shí)修改自己的信息(如收貨信息等)。會(huì)員能夠收藏自己喜歡的商品,并能隨時(shí)關(guān)注該商品。會(huì)員能夠查看已購買的商品。會(huì)員能夠完成與論壇的相關(guān)功能??偨Y(jié):通過實(shí)戰(zhàn),發(fā)現(xiàn)自己學(xué)得不是自己想象的那么好,有些功能還是做不出來。通過新豆商城項(xiàng)目,發(fā)現(xiàn)自己的不足,跟同事之間的交流中,能學(xué)到很多新知識(shí)。簡(jiǎn)單的總結(jié)為幾個(gè)字,那就是:多看,多問,多觀察,多思考!第十四周實(shí)習(xí)第十四個(gè)禮拜一、AJAX是什么?在傳統(tǒng)的web應(yīng)用中,

24、用戶與應(yīng)用的每一次交互,都是首先用戶通過瀏覽器向服務(wù)器端發(fā)送一個(gè)請(qǐng)求,服務(wù)器解析這個(gè)請(qǐng)求,將相應(yīng)的響應(yīng)信息返回給瀏覽器。在服務(wù)器端業(yè)務(wù)邏輯非常復(fù)雜或者需要耗時(shí)較長(zhǎng)的情況下,瀏覽器等待刷新時(shí),頁面經(jīng)常是一片空白,用戶只能被動(dòng)等待服務(wù)器端響應(yīng)完成,在此期間客戶不能在頁面上做任何操作,帶給用戶非常糟糕的體驗(yàn)。它包括:基于XHTML和CSS標(biāo)準(zhǔn)的表示;使用DOM進(jìn)行動(dòng)態(tài)顯示和交互;使用XML和XSLT進(jìn)行數(shù)據(jù)交換與處理使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;使用JavaScript綁定一切。二、使用AJAX的利弊:使用AJAX,可以為開發(fā)人員、終端用戶帶來可見的便捷:減輕服務(wù)器的負(fù)擔(dān)。A

25、JAX的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請(qǐng)求和響應(yīng)對(duì)服務(wù)器造成的負(fù)擔(dān)。無刷新更新頁面,減少用戶心理和實(shí)際的等待時(shí)間。特別是當(dāng)讀取大量數(shù)據(jù)的時(shí)候,AJAX使用XMLHTTP對(duì)象發(fā)送請(qǐng)求并獲取服務(wù)器響應(yīng),在不重新載入整個(gè)頁面的情況下用Javascript操作DOM最終更新頁面。在讀取數(shù)據(jù)的過程中,用戶面對(duì)的不是白屏,是原來頁面的內(nèi)容,用戶可以繼續(xù)進(jìn)行其他操作,只有當(dāng)數(shù)據(jù)接收完畢之后才更新相應(yīng)部分內(nèi)容。帶來更好的用戶體驗(yàn)。一直以來,B/S程序在用戶易操作性、界面友好性上跟C/S相比都有較大的差距,隨著AJAX的應(yīng)用,這種情況將得到較大的改觀。可以把以前服務(wù)器負(fù)擔(dān)的一些工作轉(zhuǎn)嫁到客戶端,利

26、用客戶端閑置的能力來處理,減輕服務(wù)器的負(fù)擔(dān)。第十五周實(shí)習(xí)第十五個(gè)禮拜XML:概念:可擴(kuò)展的標(biāo)記語言、優(yōu)點(diǎn):結(jié)構(gòu)化,平臺(tái)、語言無關(guān),標(biāo)準(zhǔn)的XML讀寫XML格式的文檔,完成數(shù)據(jù)交換、聲明:大多數(shù)XML文檔以XML聲明作為開始、建議使用XML聲明,但它不是必需的。如果有,它一定是文檔的第一行內(nèi)容。、注釋、實(shí)體:不能直接表示的符號(hào)、五個(gè)實(shí)體、自定義實(shí)體、CDATA:一段文本,不會(huì)被解析器解析。Log4j:是Apache的一個(gè)開放源代碼項(xiàng)目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺(tái)、文件、GUI組件、甚至是套接口服務(wù) 器、NT的事件記錄器、UNIX Syslog守護(hù)進(jìn)程等;我們也可以

27、控制每一條日志的輸出格式;通過定義每一條日志信息的級(jí)別,我們能夠更加細(xì)致地控制日志的生成過程。Log4j由三個(gè)重要的組件構(gòu)成:日志信息的優(yōu)先級(jí),日志信息的輸出目的地,日志信息的輸出格式。日志信息的優(yōu)先級(jí)從高到低有ERROR、WARN、 INFO、DEBUG,分別用來指定這條日志信息的重要程度;日志信息的輸出目的地指定了日志將打印到控制臺(tái)還是文件中;而輸出格式則控制了日志信息的顯示內(nèi)容。第十六周實(shí)習(xí)第十六個(gè)禮拜Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任

28、何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。數(shù)據(jù)庫設(shè)計(jì):a) 降低關(guān)聯(lián)的復(fù)雜性、b) 盡量不使用聯(lián)合主鍵、c) ID的生成機(jī)制,不同的數(shù)據(jù)庫所提供的機(jī)制并不完全一樣、d) 適當(dāng)?shù)娜哂鄶?shù)據(jù),不過分追求高范式2、 HQL優(yōu)化:HQL如果拋開它同HIBERNATE本身一些緩存機(jī)制的關(guān)聯(lián),HQL的優(yōu)化技巧同普通的SQL優(yōu)化技巧一樣,可以很容易在網(wǎng)上找到一些經(jīng)驗(yàn)之談。加載策略:延遲加載vs立即加載、-延遲加載(默認(rèn)) 不會(huì)立即命中數(shù)據(jù)庫,使用

29、數(shù)據(jù)時(shí)命中、在可以改變?yōu)榱⒓础?使用數(shù)據(jù)必須在session關(guān)閉之前、-立即加載:立即命中數(shù)據(jù)庫,不管有沒有數(shù)據(jù)抓取策略、查詢抓取:(N+1)、連接抓?。盒枰陉P(guān)聯(lián)的對(duì)象中設(shè)置fetch=select|join、N+1 與 1+M:-針對(duì)一端,如果查詢有m個(gè)對(duì)象,這時(shí)會(huì)先發(fā)送1條sql語句查出m個(gè)對(duì)象,然后再發(fā)送m條sql語句查關(guān)聯(lián)對(duì)象,這就是1+M、-針對(duì)多端,如果查詢有n個(gè)對(duì)象,那么對(duì)每個(gè)對(duì)象需要重新發(fā)送一條sql語句,這就是n+1。事務(wù)控制:事務(wù)方面對(duì)性能有影響的主要包括:事務(wù)方式的選用,事務(wù)隔離級(jí)別以及鎖的選用a) 事務(wù)方式選用:如果不涉及多個(gè)事務(wù)管理器事務(wù)的話,不需要使用JTA,只有

30、JDBC的事務(wù)控制就可以。b) 事務(wù)隔離級(jí)別:參見標(biāo)準(zhǔn)的SQL事務(wù)隔離級(jí)別c) 鎖的選用:共享鎖、獨(dú)占鎖、更新鎖、死鎖、悲觀鎖、樂觀鎖。第十七周實(shí)習(xí)第十七個(gè)禮拜前面做過的新豆商城,使用JDBC來連接數(shù)據(jù)庫,現(xiàn)在學(xué)習(xí)了Hibernate,所以把所有連接數(shù)據(jù)庫的代碼轉(zhuǎn)變成hibernate來連接。為什么選擇Hibernate:由于是對(duì)JDBC的輕易級(jí)封閉,內(nèi)存消耗少,最快的運(yùn)行效率。、開發(fā)效率高,Eclipse、JBuilder等主流JAVA集成開發(fā)環(huán)境對(duì)Hibernate有很好的支持,在大的項(xiàng)目,特別是持久層關(guān)系映射很復(fù)雜的情況下,Hibernate效率高的驚人。分布式,安全檢查,集群,負(fù)載均衡

31、的支持。輕量級(jí)封裝,避免引入過多復(fù)雜的問題,調(diào)試容易,也減輕程序員的負(fù)擔(dān)。具有可擴(kuò)展性,API開放,當(dāng)本身功能不夠用的時(shí)候,可以自己遍碼進(jìn)行擴(kuò)展。對(duì)JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼??偨Y(jié):通過hibernate連接,發(fā)現(xiàn)比以前用JDBC連接的代碼量要少很多,簡(jiǎn)潔很多。唯一不好的是在XML的配置文件中,經(jīng)常會(huì)有錯(cuò)誤。我相信,這只是我對(duì)hibernate不熟悉造成的,當(dāng)對(duì)hibernate使用多了,這些問題就迎刃而解。第十八周實(shí)習(xí)第十八個(gè)禮拜:在之前的項(xiàng)目基礎(chǔ)上,實(shí)現(xiàn)以下功能: 系統(tǒng)可以分為不同權(quán)限的管理員,管理本系統(tǒng),如商品管理員、系統(tǒng)管理員等。系統(tǒng)管理員可

32、以配置一些信息管理本系統(tǒng)。系統(tǒng)可以管理商品(添加、刪除、修改、查詢)。系統(tǒng)可以管理商品分類(添加、刪除、修改、查詢)。系統(tǒng)可以管理品牌(添加、刪除、修改、查詢)。系統(tǒng)可以管理論壇,根據(jù)商品分類創(chuàng)建論壇分類。自定義分類等。系統(tǒng)可以的論壇管理功能等,此處不再詳細(xì)累贅。系統(tǒng)可以進(jìn)行訂單管理功能。系統(tǒng)可以進(jìn)行用戶管理功能。公告管理管理。模板管理功能。支付用送貨管理。難點(diǎn):顧客的購物功能1. 顧客點(diǎn)擊商品信息頁的購買按鈕,傳遞商品id、顏色到系統(tǒng),系統(tǒng)根據(jù)客戶傳遞的值將商品放入購物車中,然后顯示購物車頁面。顧客依此往復(fù),添加產(chǎn)品。2. 顧客可以修改購買商品的數(shù)量,此處使用Ajax技術(shù),動(dòng)態(tài)刷新頁面及商品

33、小計(jì)金額和總金額。3. 顧客可以刪除購物車中的商品,此處仍然使用Ajax技術(shù)。4. 顧客點(diǎn)擊計(jì)算按鈕的時(shí)候,彈出結(jié)算頁面,顧客選擇送貨方式、付款方式、以及修改送貨地址等。用戶還可以選擇使用豆豆支付商品。5. 顧客點(diǎn)擊提交完成本次購物,即完成一次訂單購物??偨Y(jié):通過實(shí)踐才能學(xué)到更多,更了解自己學(xué)會(huì)了多少。簡(jiǎn)單的總結(jié)為幾個(gè)字:多看,多問,多觀察,多思考!第十九周實(shí)習(xí)第十九個(gè)禮拜項(xiàng)目重構(gòu)是團(tuán)體合作,由6個(gè)人一起完成。要一起討論包的命名、實(shí)體類。之后由技術(shù)總監(jiān)把包的命名規(guī)范上傳到共享區(qū),團(tuán)隊(duì)做項(xiàng)目需要用到JIRA來跟進(jìn)每天的任務(wù)。每個(gè)人還需要寫總結(jié):今天做了什么?做的過程中遇到的一些問題?明天打算做什

34、么?這樣項(xiàng)目經(jīng)理才知道你今天完成了哪些內(nèi)容。我的任務(wù)主要是做后臺(tái)產(chǎn)品的管理,添加產(chǎn)品、修改產(chǎn)品、刪除產(chǎn)品、以及產(chǎn)品圖片的上傳功能。用戶訂單的實(shí)現(xiàn)。在團(tuán)隊(duì)合作中,我們提出的志同道合的口號(hào)就是團(tuán)隊(duì)精神的具體表現(xiàn),沒有一個(gè)共同的工作目標(biāo)一切都很難實(shí)現(xiàn),集體主義的具體表現(xiàn)就是團(tuán)隊(duì)精神,在我們工作中離不開團(tuán)隊(duì)精神 的指引,團(tuán)隊(duì)離不開統(tǒng)一的指揮,才能保證團(tuán)隊(duì)的順利工作和工作成績(jī)的取得,這就是團(tuán)隊(duì)精神的巨大作用,在我們不同的歷史時(shí)期,團(tuán)隊(duì)精神發(fā)揮了不同的作用, 有一點(diǎn)是可以值得大家重視的就是,在凝聚人心鼓舞士氣方面都具有十分重要的作用。在這里,我明白了團(tuán)隊(duì)合作的重要性。在接下來的代碼實(shí)施中,工作進(jìn)行的很順利

35、。第二十周實(shí)習(xí)第二十個(gè)禮拜在新豆商城的項(xiàng)目設(shè)計(jì)中,總結(jié):需求分析是重點(diǎn)。前臺(tái)需求分析,系統(tǒng)前臺(tái)擁有2種用戶,即瀏覽使用本系統(tǒng)的顧客,當(dāng)顧客注冊(cè)為本系統(tǒng)的會(huì)員時(shí),即本系統(tǒng)的第2種。功能描述如下:瀏覽、注冊(cè)、搜索、購物、登陸、消息功能、個(gè)人資料修改、收貨地址、積分交易、訂單查看等。用例圖如下:需求分析,系統(tǒng)后臺(tái)擁有多種用戶,簡(jiǎn)單描述如下:商品管理員、系統(tǒng)管理員等。由于時(shí)間關(guān)系,本系統(tǒng)后臺(tái)前期可能不做開發(fā)。預(yù)想在后期專門開發(fā)權(quán)限管理欄目,可以根據(jù)需要產(chǎn)生多種管理員以分配不同的權(quán)限進(jìn)行管理。功能描述如下:商品管理、商品分類管理、品牌管理、訂單管理、送貨方式管理、會(huì)員管理、公告管理、模板管理、論壇分類管

36、理、帖子管理、系統(tǒng)配置、支付管理等。后臺(tái)用例圖如下:第二十一周實(shí)習(xí)第二十一個(gè)禮拜struts是開源軟件。使用Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。如果我們想混合使用Servlets和JSP的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用,struts是一個(gè)不錯(cuò)的選擇。軟件工程師使用Struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。我們?nèi)匀恍枰獙W(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用。Action,這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來自Ac

37、tionServlet的請(qǐng)求,并根據(jù)該請(qǐng)求調(diào)用模型的業(yè)務(wù)邏輯方法處理請(qǐng)求,并將處理結(jié)果返回給JSP頁面顯示。Model部分:由JavaBean組成,ActionForm用于封裝用戶的請(qǐng)求參數(shù),封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。View部分:該部分采用JSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對(duì)應(yīng)上圖的JSP部分。Control

38、ler組件:Controller組件有兩個(gè)部分組成系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對(duì)應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,本身不具備處理能力,而是調(diào)用Model來完成處理。對(duì)應(yīng)Action部分。總結(jié):學(xué)習(xí)了才知道struts很強(qiáng)大。第二十二周實(shí)習(xí)第二十二個(gè)禮拜Spring 也是一個(gè)開源框架,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,

39、任何Java應(yīng)用都可以從Spring中受益。傳統(tǒng)J2EE應(yīng)用的開發(fā)效率低,Spring作為開源的中間件,獨(dú)立于各種應(yīng)用服務(wù)器,甚至無須應(yīng)用服務(wù)器的支持,也能提供應(yīng)用服務(wù)器的功能,如聲明式事務(wù)、事務(wù)處理等。簡(jiǎn)單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類??刂品崔D(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的

40、技術(shù)促進(jìn)了松耦合。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)進(jìn)行內(nèi)聚性的開發(fā)。容器Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)可配置原型,你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例以及它們是如何相互關(guān)聯(lián)的??蚣躍pring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你

41、能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。第二十三周實(shí)習(xí)第二十三個(gè)禮拜項(xiàng)目概述:融合通信產(chǎn)品是一款基于云計(jì)算體系架構(gòu),融合所有通訊錄,集中管理用戶通訊會(huì)話的工具。它以融合通信錄為關(guān)系鏈,提供多種通信方式并融合至統(tǒng)一入口,并融合互聯(lián)網(wǎng)熱點(diǎn)應(yīng)用,提供進(jìn)入互聯(lián)網(wǎng)的入口,可根據(jù)實(shí)際政企用戶的定制需求增加擴(kuò)展功能。功能范圍:支持android系統(tǒng)手機(jī),暫不支持iphone。處理流程:導(dǎo)航欄:用于在層級(jí)結(jié)構(gòu)的信息中導(dǎo)航,也可以用來管理屏幕信息標(biāo)簽欄:Tab欄用于切換子任務(wù)、視圖和模式。內(nèi)容欄:顯示頁面內(nèi)容的區(qū)域列表視圖:列表視圖在一行行格子里展示信息,可以劃分為塊或進(jìn)行歸組。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論