1. 程式人生 > >2018/11/23

2018/11/23

一、動態網頁和靜態網頁

1、靜態網頁

靜態web無法連線資料庫

靜態頁面就是頁面上所有東西都做好了放到後臺的,不管是誰在什麼時候看到的頁面內容都是一樣的。

靜態的html頁面檔案,可以用本地的瀏覽器直接開啟。

2、動態網頁

可以連線資料庫

動態頁面的內容一般都是依靠伺服器端的程式來生成 的,不同人、不同時候訪問頁面,顯示的內容都可能不同。

3、靜態頁面 VS 動態頁面

前者就是存粹的html頁面,web伺服器接受請求時,總是直接將其返回給瀏覽器,因此並不涉及到後端開發。

而後者其實是含有服務邏輯,並且能夠最終生成html頁面的模板檔案,不管它的字尾是jsp還是php,都是模板。

特殊情況:靜態html頁面利用javascript的Ajax(XMLHTTPRequest)技術,也可以從服務端獲取資料。

二、使用者在瀏覽器上輸入請求到使用者看到頁面的過程

1、過程

Brower接受請求

DNS進行域名解析翻譯成IP地址

Web Servlet對請求進行處理  做出應答。這時是RunTime,可以對資料庫裡的資料進行增刪改查

最後形成html頁面  返回給使用者

2、瀏覽過程

使用者通過瀏覽器發出請求之後,首先要通過DNS將域名解析成IP地址。

實際上請求的是這個IP和埠(預設80)對應的Web伺服器。

在服務端,分兩種情況: 第一種,請求的是*.html/*.jpg/*.js/*.css之類的靜態資源,那麼Web伺服器會直接返回給瀏覽器。

                                        第二種,請求的是動態資源,那麼Web伺服器會呼叫相應的編譯器及直譯器將動態模板渲染成一個html,再返回給瀏覽器。

有幾個概念不要混淆:  a)Service:服務;     b)Server:伺服器;      c)Servlet:java的一種服務端程式。

三、MVC框架

 MVC的核心目標是解耦,相對傳統的JSP或者ASP來說,主要是將不同層面的程式碼單獨抽取出來,形成上面的三層架構。 最終目標是一致的,都是利用伺服器端程式設計,對動態模板頁面進行渲染,最終生成html傳送給使用者。

 

 

1、Controller(控制器)

控制器(Controller)不是不幹活,而是不幹具體的活,主要是進行排程,包括接收Get/Post引數,然後呼叫某個Service來返回若干個Model,最後再將這些Model傳送給指定的View,最終渲染成html給使用者顯示。 

【不幹具體活,用來接收使用者的請求傳遞資訊;裡面可以有若干個Action】

       Action(動作):都是用 piblic void 來定義的,是使用者定義的最小單元。

2、Model(模型)

 Model(模型)其實就是對資料物件的封裝

【通過Controller傳達過來的內容呼叫相應的Service進行處理,再用Model傳送給View】

      Service(服務):實際上真正幹活的,處理使用者的請求。

       Model(模型):作為響應結果

3、View(檢視)

View(檢視)其實就是動態頁面的模板檔案,它利用控制器(Controller)傳過來的資料來填充html,生成最終頁面

【將Model的響應結果呈現給使用者】

四、通過例題學習

例:在temp裡面建一個helloworld.html

 

 

GroupController程式碼:

 

 

在Controller裡面新建一個class類  名為HelloController

 

 

執行結果:

 

 

#():輸出指令。將括號內的資料插入到 HTML

#render(file, param=value, ...):引用指令。將程式碼片段引用進來,可攜帶引數。
---------------------
作者:女漢子版小可愛
來源:CSDN
原文:https://blog.csdn.net/weixin_43784593/article/details/84404699
版權宣告:本文為博主原創文章,轉載請附上博文連結!