簡明易懂,將細節隱藏,面向新手樹立web開發概念
——學完Java基礎語法,超快速上手JavaWeb開發
Web本質(先忽視各種協議)
Web應用可以理解為瀏覽器和伺服器之間的互動。
我們可以看一個簡單的例子
1.我們在瀏覽器上方輸入www.baidu.com並回車。
2.此時我們的瀏覽器便對百度的伺服器傳送資料(請求)。
3.百度的伺服器收到並分析了我們的請求後,對我們的瀏覽器傳送資料(響應,裡面就有我們拿到的百度主頁的這個頁面的資料)
4.經過我們瀏覽器的處理,我們便看到了如下的頁面:
進行溝通。
Web開發,就是我們編寫一個程式執行在伺服器上,這個程式可以拿到來自瀏覽器的資料進行處理,並對瀏覽器傳送資料。
簡述一個登入邏輯(同上)
1.使用者輸入登入資訊(賬號密碼),瀏覽器傳送這個登入資訊的資料到伺服器。
2.伺服器上的程式拿到了這個登入資訊,同時這個程式根據登入資訊在資料庫中進行查詢。
3.查詢到資料庫儲存的相關的登入資訊,進行比對判斷,並將登入結果的正確與否以及處理返回到瀏覽器中。
除了瀏覽器,還可以是手機app或者其他什麼,本質上都是通過網路,在你這一端和瀏覽器的資料互動。
簡單的小系統開發理解
各類簡單的小系統開發,可以理解為操作程式對資料庫的增刪改查(CRUD)。
老樣子舉個簡單例子:註冊
1.程式獲得使用者的註冊資訊,然後連線資料庫,並將註冊資訊儲存進資料庫,這就是程式層面上的註冊邏輯。
如果我們結合前面講的web本質,就會獲得這一整條完整的鏈路。
1.我們在瀏覽器註冊頁面上,輸入註冊資訊。
2.註冊資訊被髮送到伺服器。
3.伺服器上執行的程式拿到資料,存入資料庫。
這裡就涉及到了資料庫的增 操作
結合資料庫中的各類操作,與程式的一些邏輯處理,就可以完成實現開發一個Web系統。
最簡單快速上手瞭解springboot+mybatis的web專案
一個進階一點點的例子(普通的Web業務系統的資料流動)
Java+springboot+Mybatis一個簡單的圖書管理業務
首先看一下,一個springboot中重要的部分有以下這些層
我們嘗試實現一個查詢圖書的業務
1.[前端]
前端(使用者直接看到的那一層),拿到資料(要查詢的圖書的id),進行包裝傳送到後端(伺服器的程式)
2.[後端.controller]
此時後端啟動的springboot程式中的controller層的程式,對相應的路由(比如xxxx.com/login就是一條路由)進行監聽(可以理解為這個程式一直關注,程式碼中的這些路由,有沒有人對這些路由傳送信資料),對應的路由收到了瀏覽器傳送來的資料,就會執行對應的邏輯。
下圖例項程式就是controller層程式,這個路由的作用是:瀏覽器對伺服器xxxx.com/list/這個路由傳送一個id值,然後這個程式就會呼叫springboot專案中service層裡的方法findBookById(),並返回這個方法的結果到瀏覽器。
3.[後端.service]
我們的資料從controller層的針對查書的路由,傳入到service層的findBookById()方法。
該方法執行的內容是,將controller中來的id值再傳入到dao層的selectBookById方法,然後接收dao層返回的結果,進行處理,再返回到controller再到前端。4.[後端.dao]
dao層就是和資料庫接觸關聯的一層,這裡先通俗介紹以下mybatis
mybatis就是一個持久層框架(為什麼叫持久層,因為資料在程式中是無法永久儲存的,程式結束記憶體釋放,程式裡的資料就丟失,如果我們將資料放入到資料庫中,它就實現了持久化),它把對資料庫的各種操作封裝起來,通過一些關聯的方式,讓我們可以在springboot程式的dao層呼叫各種增刪該查操作:
dao層就是映射了mybatis中的各種對資料庫的操作,然後通過dao層的方法對資料庫進行增刪改查。回到我們的小例子,此時資料從前端——>controller——>service——>dao層,然後我們的dao層再執行了selectBookById()呼叫了資料庫中的查詢方法,向上返回查詢結果。
圖中對映的方法就在上一張介紹mybatis的圖中有標註。
5.[後端.資料庫]
走到這裡我們就走到了最下面一層,資料庫查詢的結果便可以往上返回,一直到前端啦!
tips:這裡的資料在前後段之間是通過json資料格式傳輸。但是再程式內,返回的結果是由entity中寫好的Book類例項出來的物件來接受著的,
直到它從controller層到前端,才變為json格式的資料。
總結:
以上根據id查詢書本的小例子中,我們的資料是這麼走的:
要查的書籍的id從:前端——>controller——>service——>dao層——>資料庫
我們要拿到的查詢結果再從:資料庫——>dao層——service層——>controller層——>前端
看到這裡,你已經對web開發和相關框架即方法和設計思想有一個巨集觀的粗略的理解,甚至可以簡單的上手去閱讀並修改專案,接下來根據你的需求,去學習相應的知識能夠成為你的一大助力。
你可以通過看教程或閱讀別人的小型專案的原始碼結合文件閱讀,開始你的學習。個人的小建議是多敲多讀多思考感受,相信你很快就能熟練掌握,並再次進入到下一步的學習中。* 1.