不悔路

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

          2009年1月7日 #

          學(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)站,另外一個是做手機軟件。你選擇那個方向呢?
          我選擇是做網(wǎng)站,雖然我一度鄙視做網(wǎng)站的(但我現(xiàn)在連鄙視的行業(yè)也進不去)。但選擇了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)槭裁床挥媚兀康诰耪率莝ervlet編程技術(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 小弟 閱讀(267) | 評論 (2)編輯 收藏

          2008年8月17日 #

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

          2008年8月16日 #

          畢業(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 小弟 閱讀(662) | 評論 (3)編輯 收藏

          2008年4月15日 #

          我安裝的是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。沒有進入配置選項!該怎么半?我又如何刪除這個配置?謝謝你們!
          posted @ 2008-04-15 18:09 小弟 閱讀(325) | 評論 (0)編輯 收藏

          2008年4月14日 #

          我已經(jīng)學(xué)完JSP了。我想繼續(xù)學(xué)J2EE.但不知道什么書比較適合。我學(xué)JSP的時候用的是tomcat和eclipse.
          posted @ 2008-04-14 22:13 小弟 閱讀(370) | 評論 (1)編輯 收藏

          2008年2月22日 #

          1、2年以上JAVA項目開發(fā)經(jīng)驗,有大型軟件項目經(jīng)驗者優(yōu)先考慮;
          2、熟悉J2EE、struct、hibernate、spring開發(fā)機制,熟悉各種網(wǎng)頁應(yīng)用、界面程序應(yīng)用和各種報表的設(shè)計應(yīng)用開發(fā);
          3、熟悉數(shù)據(jù)應(yīng)用和設(shè)計,精通數(shù)據(jù)存儲過程開發(fā),熟練使用server SQL優(yōu)先考慮;
          4、有獨立完成工作的能力;
          5、能承擔(dān)相當(dāng)?shù)墓ぷ鲏毫Γ?br /> 公司剛成立,需要技術(shù)的支持。
          公司地點:河北滄州市欣欣家園。管吃住,住小區(qū)。工資面談。聯(lián)系電話13931734801,蘇經(jīng)理。QQ。315309910.
          posted @ 2008-02-22 14:10 小弟 閱讀(232) | 評論 (0)編輯 收藏

          2008年1月3日 #

          我分別獲取了year,month,day.我想比較兩個同樣格式的日期相差多少天.只告訴我思路就可以.哪怕是一點點的提示。謝謝.真的謝謝了,兄弟呀。

          posted @ 2008-01-03 06:57 小弟 閱讀(539) | 評論 (1)編輯 收藏

          2007年12月24日 #

          比如我在后臺寫了篇公司的新聞,想讓這篇新聞在前臺的新聞模塊顯示.這怎么做到?怎么讓這篇新聞在指定的位置出現(xiàn).并能及時更新?謝謝各位前輩指點.
          posted @ 2007-12-24 22:22 小弟 閱讀(309) | 評論 (0)編輯 收藏

          在驅(qū)動comcat服務(wù)器之后log/localhost.log是沒有日志的,但是我運行一個JSP頁面的時候localhost.log日志記錄了好多異常,其中包括空指針異常。這是comcat的問題還是JSP的問題?謝謝了。
          posted @ 2007-12-24 00:41 小弟 閱讀(388) | 評論 (0)編輯 收藏

          2007年12月19日 #

               摘要:   閱讀全文
          posted @ 2007-12-19 13:55 小弟 閱讀(194) | 評論 (0)編輯 收藏

          僅列出標(biāo)題  下一頁
          主站蜘蛛池模板: 松滋市| 仲巴县| 佳木斯市| 泾源县| 永吉县| 晋宁县| 荥阳市| 云阳县| 阜宁县| 德兴市| 镇远县| 本溪市| 富顺县| 瓮安县| 即墨市| 平原县| 盐山县| 洛南县| 建水县| 宾川县| 双流县| 滦南县| 拉孜县| 辽阳市| 武邑县| 阳泉市| 兴宁市| 华阴市| 定兴县| 安庆市| 宽甸| 乡城县| 呼图壁县| 清流县| 思南县| 金坛市| 隆子县| 辽宁省| 谷城县| 革吉县| 富锦市|