java課設(shè)心得與體會
完成的任務(wù)
1.2.3.4.5.
登錄模塊前臺服務(wù)權(quán)限管理
密碼MD5加密
集成小組成員的各個模塊
心得與體會
剛開始看這個項(xiàng)目的時候,覺得比較簡單,總體的感覺是java的swing布局有些復(fù)雜,其他的都還好!由于時間比較緊,發(fā)現(xiàn)了項(xiàng)目中的一些bug,但還沒有時間來得及一一修改和完善,以后有時間,再完善。做這個項(xiàng)目的時候,由于有幾門考試,所以沒有花很多時間考慮這個架構(gòu),而是參考了網(wǎng)上的一些代碼,慢慢的理清了思路。
起初,我的思路是使用三層架構(gòu),使用典型的MVC模式,M(模型)包括一些javabean,一些實(shí)體類和基礎(chǔ)的方法,V(視圖)主要是swing搭建的界面,C(控制器)則包括一些具體的操作方法,以及調(diào)節(jié)模型和視圖之間的調(diào)用關(guān)系等。
這次,整個系統(tǒng)并沒有完全使用MVC模式編寫,只使用了一小部分,小組的其他成員,對MVC模式都不是很了解,此項(xiàng)目,使用MVC模式,我感覺還復(fù)雜一些,有很多多余的操作。本系統(tǒng)連接操作數(shù)據(jù)庫使用的是DBUtils,它是是操作數(shù)據(jù)庫的組件,對傳統(tǒng)操作數(shù)據(jù)庫的類進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。DBUtils封裝了對JDBC的操作,簡化了JDBC操作,可以少寫代碼。ArrayHandler:將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成對象數(shù)組;ArrayListHandler將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是Object[];BeanHandler:將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成類對象;BeanListHandler:將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是類對象;ColumnListHandler:將ResultSet中某一列的數(shù)據(jù)存成List,List中存放的是Object對象;KeyedHandler:將ResultSet中存成映射,key為某一列對應(yīng)為Map。Map中存放的是數(shù)據(jù);MapHandler:將ResultSet中第一行的數(shù)據(jù)存成Map映射;MapListHandler:將ResultSet中所有的數(shù)據(jù)存成List。List中存放的是Map;ScalarHandler:將ResultSet中一條記錄的其中某一列的數(shù)據(jù)存成Object。前臺服務(wù)模塊,主要理解Vector的使用就可以了,Vector類可以實(shí)現(xiàn)可增長的對象數(shù)組。與數(shù)組一樣,它包含可以使用整數(shù)索引進(jìn)行訪問的組件。但是,Vector的大小可以根據(jù)需要增大或縮小,以適應(yīng)創(chuàng)建Vector后進(jìn)行添加或移除項(xiàng)的操作。Vector可以擴(kuò)展為二維或者三維數(shù)組,在前臺服務(wù)中,菜單列表和桌子列表的表格的數(shù)據(jù)源均來自Vector,所以,需要我們動態(tài)構(gòu)造Vector添加到表格中去,并且呈現(xiàn)出來。修改數(shù)據(jù)的辦法一般是,先修改Vector里面的值,然后更新到table中,或者直接修改table里面單元格的值。獲得表格指定行和列的值的方法是table.getValueAt(row,column)。菜單和桌子列表都是用的Vector的二維表現(xiàn)形式,其中把菜單和桌子關(guān)聯(lián)起來用來了Vector的三維形式,主要是用來方便獲取每一桌的點(diǎn)的菜。其他的部分都是一些邏輯關(guān)系。很多時間,花費(fèi)在了界面上面。業(yè)務(wù)邏輯的處理,主要包括,首頁是定桌,點(diǎn)菜,菜必須簽單,才有效,結(jié)賬的時候,必須沒有未簽單的菜。其實(shí)菜單列表和桌子列表是通過三維的Vector關(guān)聯(lián)起來的,通過桌子列表的索引,可以查詢到該桌子菜單列表的情況。結(jié)賬這一塊的時候,主要就是在結(jié)賬成功后,相應(yīng)的消費(fèi)信息才會真正的進(jìn)入數(shù)據(jù)庫。
談到登錄模塊,首先說密碼加密。密碼加密,其實(shí)就是,通過數(shù)據(jù)庫,你無法看到真實(shí)的密碼,看到的是經(jīng)過MD5算法加密后的32位字符。雖然,大都加密,都采用二次MD5加密,防止通過逆運(yùn)算,破解,但這個系統(tǒng),并沒有搞到這么復(fù)雜,就采用了一次MD5加密。密碼加密后,登錄系統(tǒng)和修改密碼的時候,都需要做一次密碼加密后的驗(yàn)證,添加新用戶的時候,也需要把密碼加密后,加入到系統(tǒng)數(shù)據(jù)中。登錄模塊,就是密碼的校驗(yàn),很重要的異常和用戶的不規(guī)則輸入的判斷等。
權(quán)限管理模塊,本系統(tǒng)采用了二級權(quán)限管理,超級管理員和普通管理員,超級管理員,擁有所有的操作權(quán)限,而普通管理員,只能前臺服務(wù)和日結(jié)賬,以及修改自己的密碼。這個模塊的實(shí)現(xiàn),其實(shí)也沒有什么難度,只要在登錄的時候,判斷一下用戶級別,如果是普通用戶,則設(shè)置一些按鈕為不可用即可。
集成小組成員的各個模塊,這個工作可以說是最頭疼的一個。開始,規(guī)劃的蠻好,采用MVC模式編寫,但后來發(fā)現(xiàn),他們對這個都不知道,所以無法進(jìn)行下去,考慮到后面的集成問題,就部分采用了老師給的基本的數(shù)據(jù)庫采用代碼,但我還是保留了MVC的框架和一些類,方便以后的擴(kuò)展。
魯蒙
擴(kuò)展閱讀:學(xué)習(xí)java課程的學(xué)習(xí)心得
學(xué)習(xí)java課程的學(xué)習(xí)心得
記得當(dāng)時拿著Oracle授權(quán)學(xué)習(xí)中心頒發(fā)的畢業(yè)證書時喜悅的心情,到現(xiàn)在對著電腦寫心得體會的時間,才發(fā)現(xiàn),半年的的時間,一眨眼就過去;仡欉@半年的生活,心里總充滿著感激,感激Oracle授權(quán)學(xué)習(xí)中心給了我一個學(xué)習(xí)深造的平臺,感激java教學(xué)老師對我的培養(yǎng)。
國內(nèi)Java熱自從201*年就有增無減,無論是游戲,還是大中小網(wǎng)站,還是B2C商城,還是各大信息系統(tǒng),到處都是是java的身影;各大招聘網(wǎng)站的java工程師的招聘信息也是目不暇接,于是我便決定要改行學(xué)IT這塊。
我記得我編寫首個小程序“helloword”,在這一刻我已經(jīng)進(jìn)入了java的世界。當(dāng)時自己不是很理解為什么main方法一定要這樣來定義publicstaticvoidmain(String[]args),能不能不這樣寫?問了好多同學(xué),他們告訴我的答案是一樣的“java本身要求就是這樣子的”,但我自己不甘心,就進(jìn)行了下面的好多操作:把main改個名字運(yùn)行一下,看看報什么錯誤,然后根據(jù)出錯信息進(jìn)行分析;把main的public取掉,在試試看,報什么錯誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個String[]數(shù)組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫args參數(shù)名稱的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。結(jié)果把HelloWorld程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。接著在以后的學(xué)習(xí)中我也采用這樣的方法解決問題,卻發(fā)現(xiàn)自己的速度比別人慢了好多,我就把自己的課余時間也分一部分給了java。因?yàn)榛A(chǔ)是最重要的,只有基礎(chǔ)牢固才有可能對后面的學(xué)習(xí)有更加深刻的認(rèn)識!學(xué)習(xí)一門新的語言,參考書是離不開的。聽老師說訂的教材偏難,不適合我們初學(xué)者,于是我在圖書館借了參考書(一本篇幅較短的入門書來學(xué)習(xí)那些最簡單、最基本的東西、包括學(xué)習(xí)Java語法等)。同時,對一個最簡單的程序也應(yīng)該多去調(diào)試,多想想如果改動一下會出現(xiàn)什么結(jié)果?為什么必須那樣寫?多去想想這些問題然后去操作,會讓你有更多的收獲。這樣反復(fù)地思考是很有用的。在學(xué)習(xí)Java的語法時,Java的語法是類似c語言的,所以學(xué)習(xí)的比較輕松。唯一需要注意的是有幾個不容易搞清楚的關(guān)鍵字的用法,public,protected,private,static,什么時候用,為什么要用,怎么用,和同學(xué)一起討論了好久才得以解決。在學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z言的特性。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機(jī)制。對于一個沒有面向?qū)ο笳Z言背景的人來說,我覺得這個過程需要花很長很長時間,因?yàn)閷W(xué)習(xí)Java之前沒有C++的經(jīng)驗(yàn),只有C語言的經(jīng)驗(yàn),花了很長時間,才徹底把這些概念都搞清楚,把書上面的例子反復(fù)的揣摩,修改,嘗試,把那幾章內(nèi)容反復(fù)的看過來,看過去,看了很多遍,才徹底領(lǐng)悟了。開始熟悉Java的類庫。基礎(chǔ)類庫里面的類非常非常多。據(jù)說有3000多個。但是我真正使用的只有幾個,比如說java.io.*;java.util.*;java.sql.*;等。此外,我對于static,public,private,Exception,try{},catch{},finally{}等等一開始都不是很懂,都是把書上面的例子運(yùn)行成功,然后就開始破壞它,
Oracle職業(yè)教育珠海校區(qū)學(xué)校網(wǎng)址:-zh.com
不斷的根據(jù)自己心里面的疑問來重新改寫程序,看看能不能運(yùn)行,運(yùn)行出來是個什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時間,不過一個例子程序這樣反復(fù)破壞幾次之后。我就對這個相關(guān)的知識徹底學(xué)通了。有時候甚至故意寫一些錯誤的代碼來運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯誤。這樣對于編程的掌握是及其深刻的。在學(xué)習(xí)Java的過程中我得出這樣的結(jié)論:1.學(xué)習(xí)中,要養(yǎng)成良好的習(xí)慣(寫括號時要成對,字母大小寫要區(qū)分,單詞拼寫要準(zhǔn)確)。
2.在學(xué)習(xí)的過程中,最好不是僅僅停留在java表層,不是抄書上的例子運(yùn)行出結(jié)果就可以。要注意,即便對一個簡單的例子也要有耐心去琢磨、調(diào)試、改動。
3.在學(xué)習(xí)的過程中一定要動手做、試著寫代碼,而不是抱一本書看看就行。很多東西和體會必須自己動手才能真正屬于自己。
4.在Java的學(xué)習(xí)過程中,可能會遇到形形色色的問題不容易解決,應(yīng)多去專業(yè)論壇了解相關(guān)的知識,書本上的知識有限。要會從網(wǎng)上搜索有用的信息加以整理,促進(jìn)學(xué)習(xí)的深入和知識水平的提高。
現(xiàn)在的我在家軟件公司上班,IT業(yè)之所以那么有魅力,其中的一個原因就是相對高的年薪誘惑。不論是年輕人還是中年人,與其他職業(yè)相比,能力稍差也能賺到不錯的年薪。以上呢就是我學(xué)習(xí)java的學(xué)習(xí)心得和體會,希望能和大家共勉!
文章來源:-zh.com/chinese/students/showstudents.asp?ID=1057
Oracle職業(yè)教育珠海校區(qū)學(xué)校網(wǎng)址:-zh.com
友情提示:本文中關(guān)于《java課設(shè)心得與體會》給出的范例僅供您參考拓展思維使用,java課設(shè)心得與體會:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。