天天看點

從小白到入門(java web篇)

從小白到入門(java web篇)

        當你會了java之後,你可能發現程式設計其實是蠻有趣的。但是後續,我還能做什麼,難道還是在控制台輸入輸出?

        這是我當時學了一段時間java後碰到的問題。

        當然啦,學會java你就可以做很多事了。android、java web、還有一些蠻複雜的j2ee應用等很多東西,你就可以嘗試着去學了,相應的也就能做出實際能看到的東西了。

        下面要說的是我選的         

       --JAVA WEB

        顧名思義,java web 顯然是用java 寫的web程式

後續你就會發現,對于java web,我們還差相當多的東西。

        前端基礎:HTML、CSS、javascript

        剛開始這三項内容,保持在能做一個界面的梗概就好。多少用js寫一些事件。

        然後就是背景的部分了。

        直接上重點。

(講的順序和大多數教材不同,不過我感覺他們的那個順序使我當時走了不少彎路)

        servlet :Servlet(Server Applet),全稱Java Servlet

        這是你要關注的核心,因為有了它,你就逐漸了解到自己在這一塊我還需要學什麼,它有的那些功能哪些是我還不知道的。

        剛開始學,我認為沒必要上來就糾結,這個東西是怎麼實作的。先去學習它怎麼用,是以先把注意力放在怎麼讓servlet能攔截請求(web.xml又是個什麼),doget()、dopost()。

        這樣,問題就都出來了。

        當你通過查資料,看書。這時你已經知道什麼是web.xml,什麼是請求,什麼是GET,什麼是POST。

        到這,你可以自己寫一個小例子了,比如就寫個,登入判斷密碼是否正确吧。(正确跳轉到正确的界面,錯誤跳轉到錯誤的界面)

        JSP:JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計。其實就是一種伺服器端的一種動态界面。很多人喜歡把java web叫做jsp,不過我并不喜歡這麼做,因為感覺不合适。

        這個相對于我們之前學的HTML來說,隻是多了一點點語句而已。大部分是一些jsp的指令元素,還有一些簡單的java代碼。你可以了解為,添加了java的html。

        當然,剛開始嘛,學會怎麼用就好了,原理後續會發推送。

        學到這裡,你可能已經用到好幾次request、response。這兩個到底是什麼,還有很多資料裡面經常提到的session(http)。到這一步,你可以去詳細的寫幾個例子來測試下這幾個對象了。

        比如,寫一個送出成績(多項成績)界面,送出請求,然後跳轉到servlet或者jsp界面,顯示相應資訊(包括這次成績送出的總分)。做完後考慮一下,跳轉到servlet||jsp的差別。想想書裡面提到的MVC到底是什麼。

        EL表達式JSTL:

                這兩個不難,在你掌握了jsp基本用法後,基本用法學起來,大約用不了一天。

        JDBC持久化資料:

                大部分時候,我們用到的資料是放在資料庫中的,絕非在程式中寫死的。

            是以我們學會,使用java來通路資料庫,這裡用到了一個東西叫做jdbc(java資料庫連接配接),在用之前,你得先保證,自己有一定的sql語句基礎。如果不會,沒關系,這東西上手很快。

                當你學會了注冊、連接配接、增删改查、通路結果集的時候。這一塊的第一個程度已經完成了。

到現在,寫一個完整的web應用吧(資料都持久化到資料庫中),注冊,登入,登入驗證。儲存學生考試成績,查詢學生的考試成績。

等你寫完的時候,我猜你會在開心的過程中,感覺自己寫的代碼有點亂。

MVC:這時候去考慮一下MVC到底是什麼。

        model、view、controller分别對應着什麼。

        這麼做的好處什麼。

        我如何把我剛剛寫好的那個工程給重構一下。

過濾器、監聽器:學會怎麼用就足夠了

ajax:這個也是先學會怎麼用

學到這裡,已經基本入門了,也知道了大部分網站是如何實作的了。

但是,這樣的開發效率貌似還不太夠。

後續就可以接觸一些架構了:

spring、hibernate、mybatis、struts、shiro……

       前端的一些加快你開發的東西:jquery、bootstrap、easyUI ……

        這些後續都會有單獨的推送。