<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不悔路

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

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

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

    當時我琢磨了很長時間,想不到interface怎么個好用?
    現在我明白了。
    你查詢密碼,查詢同學的電話,或者是更新同學的電話。你就得查詢數據庫吧。對于數據的操作不就是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 ;
     // 查詢全部
     public List queryAll() throws Exception ;
     // 模糊查詢
     public List queryByLike(String guanjianci) throws Exception ;
    }
    然后你就可以在各個功能類里implements DataBase了。什么是接口,就是規定你按照上面的格式去做,有規定了,就好辦事,對嗎?這個最好看看簡單工廠設計模式.

     


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

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

    評論

    # re: 涉及JSP的經驗 2009-01-08 00:44 liudecai_zan@126.com
    互相學習,互相質疑。只談技術,不談人品。
    1.java的發展方向主要是javaEE,javaMe,javaSe三個方向,網站開發是javaEE開發的一部分,手機軟件是javaMe的一部分
    2.javaSe是基礎,然后向javaEE和javaMe兩個方向發展。
    3.Servlet和JSP是javaEE開發的核心技術  回復  更多評論
      

    # re: 涉及JSP的經驗 2009-01-08 13:31 Woody
    接口是為了實現多態的,這點很重要。  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费看大美女大黄大色| 亚洲伊人久久大香线蕉综合图片| 美女被免费视频网站a| 国产亚洲精品a在线无码| 免费看美女裸露无档网站| 国产成人高清亚洲一区久久| 亚洲国产精品无码久久SM| 欧美日韩国产免费一区二区三区| 免费人成又黄又爽的视频在线电影| 久久青草亚洲AV无码麻豆| 女人18毛片水真多免费播放| 最近国语视频在线观看免费播放| 亚洲avav天堂av在线网爱情| 国产精品亚洲mnbav网站| 免费一本色道久久一区| 成人网站免费大全日韩国产| 最新国产精品亚洲| 午夜亚洲www湿好大| 免费不卡中文字幕在线| 美女网站免费福利视频| 成人网站免费看黄A站视频| 亚洲变态另类一区二区三区 | 免费va在线观看| 中国人xxxxx69免费视频| 污网站免费在线观看| 久久精品国产亚洲AV蜜臀色欲| 自拍偷自拍亚洲精品被多人伦好爽| 成人性生交大片免费看无遮挡 | 免费人成在线观看视频高潮| 亚洲欧美乱色情图片| 亚洲精品高清国产麻豆专区| 国内精品99亚洲免费高清| 国产成人青青热久免费精品 | 自拍偷自拍亚洲精品被多人伦好爽| 成人毛片视频免费网站观看| 久久久久免费看成人影片| 视频免费在线观看| 一级片在线免费看| 国产成人综合亚洲绿色| 亚洲国产精品成人午夜在线观看| 亚洲精品国产啊女成拍色拍 |