Web體系結構解決以下問題:設計模式
HTTP方法對應的Servlet處理方式(方法名、返回值)安全
Servlet的生命週期多線程
構建Web應用須要部署的目錄(MV*?)編碼
部署文件的語義(Servlet實例、名、類、初始化參數、URL映射)spa
在Java EE Web體系中,示意圖以下:線程
首先,Servlet不直接處理用戶請求,咱們須要一個叫作Web容器的東西,Web容器作了以下幾件事:設計
通訊支持(隱藏協議細節,提供端口監聽、流的建立等)blog
生命週期管理(負責Servlet類加載、初始化、垃圾回收等操做)生命週期
封裝請求(HttpServletRequest、HttpServletResponse)部署
分配線程(查找配置文件,處理)
使用特定的方法處理(Post、Get等)
多線程支持
使用XML配置項目(URL、Servlet、過濾器等)
更安全
避免硬編碼(無須頻繁變更代碼)
JSP支持
接着,咱們要謹慎地使用咱們的小刀(Servlet),不能隨意任性地揮舞它,這須要咱們認識一下MV?設計模式:
使用業務邏輯所需的東西做爲Model層
使用JSP做爲表現層
使用Servlet做爲控制器