1. 程式人生 > >JavaWeb專案學習教程(1)

JavaWeb專案學習教程(1)

寫在最前面

  為什麼要寫一個這樣的教程?作為一個軟體工程專業的學生,上課老師講得飛快,幾乎都是在課後自己消化,我知道學習記錄的重要性。我自己本身還有很多很多基礎的東西都沒有學會,比較部落格園的人有很大的差距。而寫這個不是要求看的人都遵守我的想法,即使這個教程不會講多大的概念方面的東西,但也希望你能夠在裡面學習到一些自己覺得有用的東西,學到一些思維和想法就好了。希望我寫的哪些地方有錯誤的能夠指正,謝謝。

  我們想用的包括JSP、Servlet、MySql、Tomcat、。當然,前端的“三駕馬車”就是更基礎的東西了。要知道這些東西。

  我的HTTP協議現在還僅僅知道一些皮毛,大家可以看這個文章學習。h

ttp://www.cnblogs.com/ranyonsue/p/5984001.html

一、JSP

  JSP的教程在菜鳥教程和W3School上看,JSP可以寫HTML程式碼,也可以在<%Java Code%>中寫程式碼。然後和Servlet兩者結合起來使用的話,效率很高,而且JSP寫的前端程式碼靈活性很強,當然我這裡只會說純JSP和Servlet了,不會說Vue和AngularJS等這些框架,因為我並不是很瞭解這些。我們看一個普通的例子,拋開JSP的已經給我們做好的迴圈<c:forEach>標籤。

  假設我們要迴圈顯示很多使用者的資訊,我們用<table></table>來表示,假設已經獲取到ArrayList<User> users;

<table>
    <%
       for(int i = 0; i < users.size(); i++){ 
    %>
    <tr>
        <td><%=users.get(i).username() %></td>
        <td><%=users.get(i).password() %></td>
    </tr>
    <%
       }
    %>
</table>

  這樣,一個users就能夠動態的一行一行的顯示使用者名稱和密碼的資訊。這就是結合起來用帶來的優勢,總而言之,JSP就是HTML檔案,只是可以寫Java進去。

二、Servlet

  說實話,最開始學習Servlet和JSP的那會兒進了實驗室,學習的幾乎沒有懂,那會兒大一,有很多東西都不瞭解,後來記得檢查的時候,我也是寫了一個漂漂亮亮的HTML的介面,然後實現的功能基本沒實現,處理業務等的資訊全部都在JSP中實現了。實在慚愧,後來做專案的時候,慢慢地才把這些學到了。

  那什麼是Servlet呢?如果想很深的瞭解的話就多百度一下部落格,然後看看他們的講解就好了。這裡我的解釋就是Servlet就是一種中間的東西,當我們需要把自己本地的伺服器和Web瀏覽器相連線的時候,Servlet就起作用了。同時,我們最常用的就是Servlet獲取form表單所傳遞過來的資料。

  舉個例子,我們想要實現登陸功能,首先從JSP中傳入使用者名稱和密碼,然後再在Servlet中進行處理。為什麼要在Servlet中處理呢?其實可以選擇在JSP中直接獲取很多很多資訊的,但是HTML程式碼始終時HTML程式碼,插入HTML不僅僅會影響效率,

<form action="Login" method="post">
    <input type="text" name="username" />
    <input type="text" name="password" />
    <input type="submit" value="login" />
</form>

  比如這個,使用的時候,在action中填寫路由的地址,這裡指向Login的Servlet。method="post"則是以Post方法向Servlet傳遞。這裡一般採取Post或者Get方法,兩者有什麼區別呢?假設我們填入使用者名稱:admin 密碼:admin。

  Get:http://localhost:8080/專案名稱/Login?username=admin&password=admin

  Post: http://localhost:8080/專案名稱/Login

  不難發現,Get和Post的差別是很大的,至少在路由上,Get將使用者名稱和密碼都顯示了,這是很不安全的,Post則不顯示,所以這裡採用Post更加可靠。當然,Get和Post不僅僅只是顯示不顯示的不同,它們在請求的大小也是不一樣的,這裡想了解的可以搜尋,我只說這一點。

三、MySql

  資料庫,很多人都在說資料庫資料庫,資料庫是什麼呢?MySql就是一種資料庫,它是關係型資料庫,簡單來說,兩個表之間想產生聯絡的話,是通過欄位之間的關係。人的一生要產生很多資料,但我們不會把所有的資訊都儲存在一張很大很大的表裡面,這樣速度會極大降低......於是我們把一些資訊建在多個表裡面,兩個表通過一個相同的欄位進行聯絡,這樣兩個表就有關係了。和結婚一樣的,兩個人本身沒有什麼聯絡,是屬於兩個戶口本上的,而假如放在一個戶口本上,就是一家人了是吧。

  那我們需要知道MySql的什麼呢?學會怎麼使用和書寫Sql語句,並且分清楚,MySql和Navicat之間有什麼區別,又有什麼聯絡。如何書寫MySql語句,這些都是最基礎的,我只需要講怎麼構建一個簡單的專案好啦。

  如果我們安裝了MySql,那我們就有了可以操作的資料庫了。我們可以在下載好的MySql的控制檯增刪改查,當然如果每次都僅僅是使用命令列進行操作的話,至少我是覺得有些難受的。於是就想,怎麼樣才能讓MySql的資料顯示的更加直觀,更好操作呢?於是Navicat就來了,它幫我們簡化了管理資料庫的操作。所以,Navicat不是資料庫,它僅僅是管理資料庫的一個工具,它幫助我們直觀的看到資料庫的內容和圖形化介面,而嚴格來說,不使用Navicat專案一樣可以連結資料庫。他們之間的關係,就如同Linux系統和Linux的圖形化介面,要的就是方便。

四、Tomcat

  我們必須要它,不然我們不能執行專案!Tomcat可謂是Servlet和JSP專案最漂亮的Web伺服器了。我們需要將專案顯示在瀏覽器上,所以Tomcat就可以把我們的專案裝在裡面,然後執行起來。

五、總結

  學會使用這些,就很好了。

  當然,有時候最開始還是很懵而搞不清他們之間的關係,要想構建一個簡單的專案,他們缺一不可。JSP和Servlet就是要寫的程式碼,MySql就是要用的資料庫,Tomcat就是把我們的專案釋出的東西。