最近學習了一段時間JavaWeb,但做項目一直做不出來。相信很多初學者都有和我一樣的問題,即為什么我學了,但我不會做?以及如何做一個簡單的Web項目?對於初學者來說,我感覺可能從我,一個初學者角度來回答這個問題最合適。以下是我的想法:
我自己反思得出的結果如下,
為什么學了不會做項目:
一、對要學習的技術不了解,導致這學一點,那學一點,最后做了許多無用功,還哪也不精通
二、對學習的技術不會應用,比如我學了SQL語句,我不知道應該寫在代碼的哪個部分
三、學習內容沒有串起來,比如我jdbc連接數據庫會了,servlet學了,jsp也看了,但怎么連起來,我不會。
同時,我自己也給出了解決辦法:
對於第一點和第二點,我總結了一下,即做一個web需要的技術和目的和要達到的程度:
一是環境的安裝配置,
1.下載數據庫和數據庫可視化界面軟件,可視化界面軟件是為了方便最開始連接數據庫前的建表,學習SQL語句是為了寫在代碼里實現增刪改查的操作。如:我學習的數據庫是MySQL,用的可視化界面軟件是SQLyog。注意:下載數據庫是記得下載驅動,以后JDBC連接數據庫就不用再下載驅動了!
2.下載服務器Tomcat,使用Tomcat可以讓你的頁面在瀏覽器運行。
3.下載eclipse javaee版,方便開發web項目(注意:eclipse javase版也可以,但需要下載插件。另外開發工具有許多,不一定非要eclipse,我只是舉例)。另外,一定要注意:ee版選擇動態web項目后,Tomcat等是配置好的,不需要再配置,再配置也會報端口號占用的錯誤!
下載完了后要知道如何使用配置。數據庫在SQL學習時會學到,Tomcat可以網上搜如何配置,eclipse可以網上搜如何建立動態web項目。
二是學習Java,JAVAWEB肯定要會java代碼啊,其實servlet等都是Java類,而且自己的數據要封裝也是Java的知識,總之,用到Java的地方太多了。至少順序、選擇、循環三大結構、方法、數組、字符串、類與對象、異常要會。
三是數據庫的使用,要學習數據庫SQL語句和數據庫可視化界面的操作。目的在下載時已經提到。需要可以熟練的用SQL語句操作數據庫並且可以用可視化界面軟件熟練地操作數據庫。
四是JDBC連接數據庫,此處學習是為了知道怎樣連接數據庫,方面以后增刪改查的操作連接到數據庫來增刪改查。需要知道並可以熟練使用JDBC的API,即DriverManager、PreparedStatement、Connection、ResultSet。
五是前台頁面的設計,此處選擇很多,着急過一遍web流程可以先選擇一個學習,如HTML,jsp等。需要可以設計前台頁面,並且可以看懂別人的模板。
六是學習servlet,servlet是為了接受前台的命令,並調用后端方法來執行前端需要的操作。學習servlet需要可以熟練的改寫doGet和doPost方法,來達到我們的目的。
另外就是問題三,知識我都學了,但怎么串起來呢?其實,以上內容都學完了,還不會做項目,就是學的知識沒有串起來。沒有串起來我認為原因還是兩點,一是不知道學了要干什么,但是這個問題上文已經解決了。二是沒有做過項目,只有理論基礎,沒有實際操作。這個問題最好說了,怎么辦?實踐唄!
當然,說起來容易做起來難,我認為這是最難的一步了。做項目要思考從哪開始做,是前端到后端還是后端到前端等等,很多種實現方法。還有要怎么分層,怎么建類和包...當然,初學者可以先思考,等做的多了,就都想通了。現在最緊要的,是開始實踐,做一個小的web項目。那么,這就跳到第二個問題了,如何做一個簡單的web項目。
以及如何做一個簡單的Web項目:
首先,我認為最重要的是分層,要知道在那個文件里建立bean/dao/service/servlet層,在那個文件里存放驅動包,在那個文件里放前端頁面,我認為這些問題也就是所謂的串起來。我是根據B站的視頻學習的,這是我學習的視頻:https://www.bilibili.com/video/BV18s411u7EH?p=23,23,24兩節分別講了MVC模式和三層架構,並且都帶着做了項目,我覺得沒有做過可以跟着做一做。當然,也不一定非要看視頻,也可以網上搜索別人的項目,如:學生管理系統,人口普查系統等等,我推薦那些帶有目錄的項目,這樣就可以更好的理解如何分層了。我學習的時候不光看視頻,也看別人的項目,看別人的項目的優點在於可以復制,可以快速理解分層,但對內部代碼具體細節等會忽略。而且基本上沒有詳細說分層的,大多是代碼一放,你愛看不看。看視頻就對分層印象比較深了,而且自己敲過,細節更了解。但視頻不能復制,只能自己敲,沒敲完前,對大框架可能理解不夠透徹。隨后我會把我的代碼和目錄發表,大家可以再看一看,想一想。
其次就是代碼內部細節了,只要前面學的扎實,這里一般是沒有問題的。
另外:
以上只是說了一下大體框架,要想做好一個項目,對每個技術的理解都要到位,不能只圖快,我說了SQL語句要學啥,就直接去看我說什么SQL語句如何建表等等的,但其實數據庫是啥都不知道,這種行為,肯定是不行的。而且,實踐過程中,肯定會遇到各種bug,如Tomcat報404,頁面亂碼等等,這些都需要自己搜索解決,也是上面沒有提到但很重要的。當然,我也只是一個初學者,如果哪里有理解的不對的地方,歡迎大家提出討論。
最后,在此和大家共勉,希望我們早日做出一個完整的web項目!