Serlvet入門
Serlvet入門
Serlvet是用來處理客戶端請求併產生動態頁面內容的JAVA類。
所有的Serlvet都必須直接或者間接實現javax.serlvet.Servlet.
有兩種間接的方式
- 繼承javax.serlvet.GenericServlet(實現了Servlet和ServletConfig介面),通過此方法能夠簡化程式程式碼,但需要實現service()方法
- 繼承javax.servlet.http.HTTPServlet(繼承了GenericServlet類)為實際開發中大多數Servlet處理HTTP請求的應用靈活的方法
總結:
- a.Serlvet使用多執行緒可以並行的為多個請求服務。
- b.Serlvet應用是通過監聽器、過濾器來實現。
- c. web.xml的載入順序context-param->listener(監聽器)->filter(過濾器)->servlet
- d.監聽器可以對application、session、request建立或者消亡時做屬性操作;
過濾器可以用來轉換HTTP請求,響應和頭資訊 - f.在Structs2.0 中 interceptor:攔截器是對過濾器更加細化的應用 (不是在web.xml中配置)
關於Serlvet過濾器
第一部分:過濾器在WEB應用
由filter元素包括 filter-name和filter-class
第二部分:過濾器對映定義
filter-mapping 將過濾器對映到一個或者多個Serlvet或者JSP檔案,
也可以採用url-pattern將過濾器對映到任意特徵的URL
關於Serlvet監聽器
實現 ServletContextListener、HttpSessionListener、ServletRequestListener類分別對 針對於ServletContext、HttpSession、ServletRequest物件的增刪修改進行監聽。
<listener>
<listener-class>包.類</listener-class>
</listener>
Serlvet的生命週期
Servlet 載入—>例項化—>服務—>銷燬。
Servlet是基於 觀察者模式設計
主要的方法:init() 、service() 、destory()
總結:
- a.在Serlvet生命週期init()和destory()只會呼叫一次,每執行一次JSP都會呼叫一次service()
- b.JSP先解析成Servlet原始檔,再被編譯成Servlet類檔案
SpringMVC處理請求
- Model模型:存取資料
- View檢視:展示資料
- Controller控制器:與使用者進行互動
- DispatcherServlet 前端控制器:接收使用者請求
- HandlerAdapter 處理器介面卡:選擇合適的處理器,並且呼叫相應功能處理方法
- ViewResolver 檢視解析器
使用者傳送請求和返回響應的流程
- 傳送請求 至DispatcherServlet
- 對映處理器 獲取處理器對映至 DispatcherServet
- HandlerAdapter進行處理器適配
- 呼叫處理器相應功能處理方法
- ViewResolver 接收View 進行檢視解析
- Model加入到View 中進行檢視渲染
- DispatcherServlet返回響應
相關文章
- 入門入門入門 MySQL命名行MySql
- 何入CTF的“門”?——所謂入門就是入門
- 如何入CTF的“門”?——所謂入門就是入門
- scala 從入門到入門+
- makefile從入門到入門
- gRPC(二)入門:Protobuf入門RPC
- 【小入門】react極簡入門React
- Android入門教程 | RecyclerView使用入門AndroidView
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | Kotlin協程入門AndroidKotlin
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- Tableau入門
- angular入門Angular
- lodash入門
- Webpack 入門Web
- golang 入門Golang
- lapis入門API
- MarkDown入門
- JSP入門JS
- UML入門
- VuePress 入門Vue
- RSA入門
- jQuery入門jQuery
- Hive 入門Hive
- scrapy入門
- Fetch 入門
- WebSocket 入門Web
- indexedDB入門Index
- Netty入門Netty
- GraphQL入門
- ORM入門ORM
- RESTful入門REST
- Feathers 入門
- HTTP入門HTTP
- 入門WebpackWeb
- JPA入門
- Solr 入門Solr