不悔路

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            25 Posts :: 1 Stories :: 30 Comments :: 0 Trackbacks

          2008年4月15日 #

          學(xué)編程已經(jīng)三四年了,但是一直都沒有寫過相關(guān)的文章。今天,終于憋出一篇來。一來作為總結(jié),二來可以給師弟師妹作為參考。
          我讀大一的時候,老師教會了我if,while,for,等關(guān)鍵詞之后,我就開始自學(xué)了。大一的時候教的是C語言,從此之后,我迷上了C語言。因為C能實現(xiàn)我的想法。接下來我自學(xué)了java,jsp。當(dāng)然,自學(xué)走了很多的彎路,直到現(xiàn)在我很后悔。~~~~(>_<)~~~~ 。交了學(xué)費不在老師那里學(xué)點東西的人的確很SB。
          我現(xiàn)在主要說說我學(xué)java的經(jīng)驗。學(xué)東西,要知道學(xué)來做什么嗎?java干什么用呢?當(dāng)然不是生孩子用的,也不是下酒菜。java有兩個方向,一個是做網(wǎng)站,另外一個是做手機(jī)軟件。你選擇那個方向呢?
          我選擇是做網(wǎng)站,雖然我一度鄙視做網(wǎng)站的(但我現(xiàn)在連鄙視的行業(yè)也進(jìn)不去)。但選擇了java,再選別的就沒什么必要,我是這樣想的,肉吃了一半就丟掉嗎?多可惜。
          java是完全面向?qū)ο蟮恼Z言,面向?qū)ο笾饕v的是封裝,繼承,多態(tài)。但是老師對于這些至關(guān)重要的知識只用了一節(jié)課,我不想說,老師很SB,或者是她不知道如何使用這些特性。我現(xiàn)在告訴讀者,這些特性會讓你很爽。
          我記得,我學(xué)java的時候,我用swing組件做了一個同學(xué)錄的軟件。當(dāng)時的心情是自豪的,現(xiàn)在看里是傻B呼呼。首先,swing已經(jīng)是一門過時的技術(shù),過時的東西是被歷史淘汰了,我卻當(dāng)做寶貝。是多么的無知。
          我現(xiàn)在分析我那個軟件。我當(dāng)然寫的同學(xué)錄只有一個類。一個主類,類里再套類,看得我頭昏腦脹,改一點就得改好多,然后調(diào)試的時候就出現(xiàn)好多錯誤。遇到這樣的問題誰都頭痛。為什么出現(xiàn)這樣的情況。因為只有一個類呀,所有的東西都放在一個類里,不亂才怪。就像一個籮筐里什么都放,當(dāng)然亂了。這個時候,我們應(yīng)該用到封裝來改變代碼的質(zhì)量。
          怎么做呢?
          首先,界面和業(yè)務(wù)邏輯分開。對于界面,很多人都知道,但是業(yè)務(wù)邏輯有可能不明白的,我比喻一下。比如,同學(xué)錄。你想看我的同學(xué)錄,你就得知道我的登陸密碼,你輸入密碼的時候,代碼會校驗密碼,校驗密碼就是一個業(yè)務(wù)邏輯。界面和業(yè)務(wù)邏輯分開有什么好處?起碼,代碼分工分明。這些類負(fù)責(zé)界面,那些類負(fù)責(zé)業(yè)務(wù)邏輯。分工分明是有好處的。避免大家手忙腳亂做錯事,還有誰出錯了就找誰算賬就行。
          這樣的話你的代碼就得這樣寫了
          class 界面
          {
          }
          class 業(yè)務(wù)邏輯
          {
          }
          這樣總比
          class 界面+業(yè)務(wù)邏輯
          {
          }
          好管理吧。
          這樣的話,界面的一些按鈕的位置改變了,對業(yè)務(wù)邏輯影響不大。這就是書上說的耦合度。

          接著說業(yè)務(wù)邏輯。因為業(yè)務(wù)邏輯比較重要。
          業(yè)務(wù)邏輯這么寫呢?我以前是這樣寫的,比如說,我想我的同學(xué)了,我想查一下她的電話然后call她。我很懶,不想翻電話部,我就用同學(xué)錄軟件查詢我的同學(xué)錄,那么軟件就得有查詢的功能。代碼是這樣的
          class select同學(xué)name
          {
          }
          刪除
          class delete同學(xué)
          {
          }
          但是,想用我的同學(xué)錄你得知道密碼,你就輸入密碼。那么我的代碼是
          class select密碼
          {
          }
          這樣寫下去,我感覺很無頭緒。這個時候就很適合用接口。什么是接口,我當(dāng)時學(xué)java的時候,我也在想什么是接口,不就是一個interface嗎?
          基本語法是這樣的
          interface 接口名
          {
           抽象方法1;
           抽象方法2;
          }

          當(dāng)時我琢磨了很長時間,想不到interface怎么個好用?
          現(xiàn)在我明白了。
          你查詢密碼,查詢同學(xué)的電話,或者是更新同學(xué)的電話。你就得查詢數(shù)據(jù)庫吧。對于數(shù)據(jù)的操作不就是select,delete,update嗎?
          那么這樣的話,我們可以這樣寫
          public interface DataBase
          {
           // 增加操作
           public void insert(name) throws Exception ;
           // 修改操作
           public void update(name) throws Exception ;
           // 刪除操作
           public void delete(String id) throws Exception ;
           // 按ID查詢操作
           public Person queryById(String id) throws Exception ;
           // 查詢?nèi)?br />  public List queryAll() throws Exception ;
           // 模糊查詢
           public List queryByLike(String guanjianci) throws Exception ;
          }
          然后你就可以在各個功能類里implements DataBase了。什么是接口,就是規(guī)定你按照上面的格式去做,有規(guī)定了,就好辦事,對嗎?這個最好看看簡單工廠設(shè)計模式.

           


          接下來說JSP吧
          學(xué)完java就該學(xué)JSP了。我們發(fā)的是電子工業(yè)出版社出版的《JSP動態(tài)網(wǎng)頁編程技術(shù)》第七章說的是JSP操作數(shù)據(jù)庫。用的是JDBC-ODBC橋,如果堂哥沒有這樣提醒我的話,我現(xiàn)在可能還在配置數(shù)據(jù)源-----java的優(yōu)勢是跨平臺,你這樣連接數(shù)據(jù)庫的話,就和操作系統(tǒng)綁定在一起了。于是我在網(wǎng)上查了,用JDBC驅(qū)動包。因為這樣的話速度快,如果是配置connection poll(連接池)性能就更加高了,好的東西我們?yōu)槭裁床挥媚??第九章是servlet編程技術(shù),但是老師沒有講,我忘記什么理由了。好像是用得不多。但是在接下來的自學(xué)過程中。我知道servlet用得很多,而且很重要。包括MVC設(shè)計模式和struts框架。不懂servelet就不懂java。servlet有很多精彩的地方。我這不是教程,所以就不詳細(xì)說servlet的語法。但是servlet的路徑問題得好好研究。對于servlet就學(xué)會配置web.xml和獲取,跳轉(zhuǎn)就可以了。
          但是你要是有很多servlet的話。你就得配置很多,這樣的話,web.xml的文件就顯得很臃腫,有沒有更高的解決方法?有的。<url-pattern>*.do</url-pattern>,你可以試一下,不管你什么請求,你請求的路徑是什么,只要.do結(jié)尾的都能找到那個servlet。這就是從多個名稱映射同一個servlet。
          servlet可以用request.getRequestURL()獲取路徑,然后用字符串截取函數(shù)substring()截取請求后面的路徑。然后根據(jù)請求的路徑跳轉(zhuǎn)到哪個類。當(dāng)然,跳轉(zhuǎn)到哪個類,最好的解決方法是在.xml中配置。避免了大量的if語句。而且很靈活。所以,在struts1.x中有個默認(rèn)的配置文件struts-config.xml配置映射。在struts中,actionServlet就做上面的截取路徑的動作。然后由struts-config.xml提供的映射分發(fā)到Action。對于struts我不易多說,因為我現(xiàn)在在學(xué)習(xí)。我感覺它是個好東西。很經(jīng)典,很多設(shè)計模式都在里面找到。
          我愿意和你們一起學(xué)習(xí)struts。

          posted @ 2009-01-07 17:53 小弟 閱讀(261) | 評論 (2)編輯 收藏

          java三個框架分別起什么作用?為什么要三個框架,不是4個5個?
          posted @ 2008-08-17 15:50 小弟 閱讀(611) | 評論 (4)編輯 收藏

          畢業(yè)了,開始面試java程序員,本以為會MVC開發(fā)框架就行,但是企業(yè)都要求精通三個框架,1年工作經(jīng)驗以上。為了實現(xiàn)自己的理想,我要繼續(xù)學(xué)習(xí)下去。以前盲目地學(xué),所以學(xué)來學(xué)去走不了少的彎路。我先學(xué)struts,以為我對model2有一定的了解。我想前輩們指導(dǎo)一下,或許我很多問題問得不恰當(dāng)。給我介紹本學(xué)struts的好書。孫衛(wèi)琴《精通STRUTS基于MVC的WEB設(shè)計與開發(fā)》的書或者是《實戰(zhàn)struts》怎么樣?我去書店看了看。發(fā)現(xiàn)struts2已經(jīng)出來了。我現(xiàn)在是學(xué)struts1.2還是學(xué)struts2(這個問題我最想知道)?struts比較常用的技術(shù)是什么?難點在哪?該如何自學(xué)好struts?還有我覺得《JSP數(shù)據(jù)庫項目開發(fā)寶典》里面的東西很經(jīng)典。是否值得買。因為錢不多了。
          posted @ 2008-08-16 21:00 小弟 閱讀(655) | 評論 (3)編輯 收藏

          我安裝的是platform815_zh_CN_win32.exe。開始-》BEA WebLogic Platform 8.1 (BEAHOME 1)-》Configuration Wizard-》創(chuàng)建新的weblogic配置-》basic weblogic server domain->快速-》輸入賬號和密碼-》選擇其他java sdk-》然后不知道該怎么配置了。然后我選擇配置位置和域名--》瀏覽選擇G:\weblogic,配置名 test--創(chuàng)建。然后。開始-》BEA WebLogic Platform 8.1 (BEAHOME 1)-》--》User Projects--test-》只有Start Server。沒有進(jìn)入配置選項!該怎么半?我又如何刪除這個配置?謝謝你們!
          posted @ 2008-04-15 18:09 小弟 閱讀(319) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 贡嘎县| 体育| 五寨县| 德惠市| 松桃| 松阳县| 景洪市| 阜新| 大姚县| 金川县| 旌德县| 阆中市| 黔西| 西峡县| 临汾市| 广丰县| 高碑店市| 泽库县| 正镶白旗| 墨脱县| 汉沽区| 新郑市| 南投县| 磴口县| 石屏县| 吴忠市| 辛集市| 额济纳旗| 盘山县| 塔河县| 平陆县| 金华市| 铁岭县| 扎兰屯市| 库尔勒市| 霍林郭勒市| 崇义县| 新竹市| 紫金县| 屯留县| 小金县|