1. 程式人生 > >springMVC新手必看

springMVC新手必看

https://blog.csdn.net/persistencegoing/article/details/84376427

主要內容

B/S程式設計模式簡介
HTML和HTTP
動態web程式設計
初識Servlet & JSP
MVC設計模式初步討論

 


B/S程式設計模式簡介

Web伺服器
Web伺服器接收客戶端的請求並將結果返回客戶端
結果:HTML頁面、圖片、檔案、……

Web客戶端
Web客戶端可以使使用者向伺服器提出請求,並向用戶展現請求的結果
瀏覽器知道如何與伺服器通訊,並能夠解釋HTML程式碼並展現Web頁。

HTML和HTTP


請求/響應方式
HTML告訴瀏覽器怎樣為使用者顯示內容
HTTP是客戶端和瀏覽器在Web上通訊的協議
伺服器使用HTTP向客戶端傳送HTML
HTML
HTTP
基於TCP/IP協議
HTTP請求包括:HTTP方法(執行的動作)、訪問的頁面URL、表單引數
HTTP 1.1 method
告訴伺服器請求的型別,剩餘的訊息是如何被格式化的
GET, PUT, POST, TRACE, DELETE, OPTIONS, HEAD, CONNECT
GET
是最簡單的請求,它向伺服器獲取一個資源並將之發回
可以用HTTP GET向伺服器傳送少量的資料
一個GET例子

POST
向伺服器請求資源,同時可以傳送一些表單資料
一個POST例子

傳送資料用POST不用GET的理由
資料大小:GET中的字元量按伺服器不同有限制
安全性:用GET傳送的資料被附加到URL後面,任何人可以看到。不適於傳送敏感資料
HTTP響應包括:狀態碼(請求是否成功)、內容型別(text/picture/HTML,etc)、內容(實際的HTML, image, etc)

動態web程式設計


常見的兩種動態Web需求
動態內容
在伺服器上儲存資料
基本原理

初識Servlet & JSP


First servlet, let’s do it!
建立檔案目錄結構

編寫FirstServlet.java程式碼,並放到src目錄中

編寫部署描述符檔案web.xml,放在etc目錄中

每個web應用都有一個部署描述符檔案(DD)
一個DD可以定義多個servlets
將元素繫結到元素
是Java類
是客戶端用於請求servlet的名字
編寫部署描述符檔案web.xml,放在etc目錄中
在tomcat目錄下建立目錄樹

在project1目錄下,編譯servlet

拷貝FirstServlet.class至WEB-INF/classes拷貝web.xml至WEB-INF中
啟動Tomcat
開啟瀏覽器到如下網址:http://localhost:8080/ch1/Serv1
How to… if JSP


Servlet container
servlet沒有main()方法,被容器控制
容器將HTTP請求和響應傳給servlet,並呼叫servlet上的方法,如doPost()或doGet()
servlet容器提供的服務
通訊支援
Servlet可以通過容器與web伺服器通訊
程式設計師不需自己建立ServerSocket,監聽埠,建立流等
壽命週期管理
容器控制servlet的“生死”
容器負責載入類、例項化和初始化servlet、呼叫servlet方法、對servlet例項進行垃圾回收等工作
多執行緒支援
容器根據對servlet的請求,自動建立Java執行緒
開發者仍要處理執行緒安全問題
宣告式安全
用XML部署描述符配置安全,無需硬編碼
JSP支援
將JSP轉化成Java程式碼


The Code

容器怎樣找到servlet
Servlet——狡兔三窟
客戶端名:URL
……/register/registerMe
部署名:內部保密
EnrollServlet
真實名:檔案
SignUpServlet.class
Servlet對映機制提高了應用程式的柔性和安全性!
The DD

DD的好處
基本不需要修改經過測試的程式碼
可以利用DD優化應用程式效能,甚至不寫任何程式碼
使應用程式能夠適應不同的資源,如資料庫,不需要重新編譯和測試程式碼
使得維護動態安全性變得非常容易,如ACL和安全形色
可以讓非程式設計師修改和部署web應用程式,而程式設計師關注更重要的事

 


MVC設計模式初步討論

模式說明

特點
MVC將業務邏輯從servlet中分離,放到模型(Model)中。模型是可複用的POJO,是業務資料(如購物車狀態)和操作這些資料的方法(規則)的組合。
多個檢視可共享一個模型
控制器可以連線不同的模型與檢視
增強了軟體健壯性和複用性

 


轉載:https://blog.csdn.net/w7239/article/details/85019980 
希望大家關注我一波,防止以後迷路,有需要的可以加群討論互相學習java ,學習路線探討,經驗分享與java求職      群號:721515304