初識Java web結構

2021-09-18 04:26:49 字數 2146 閱讀 6689

tomcat

tomcat 的心臟是兩個元件:connector 和 container,多個 connector 和乙個 container 就形成了乙個 service

tomcat 中 service 介面的標準實現類是 standardservice 它不僅實現了 service 藉口同時還實現了 lifecycle 介面,這樣它就可以控制它下面的元件的生命週期了。還有幾個方法是用於在事件監聽的方法的實現,不僅是這個 service 元件,tomcat 中其它元件也同樣有這幾個方法,這也是乙個典型的設計模式

server 要完成的任務很簡單,就是要能夠提供乙個介面讓其它程式能夠訪問到這個 service 集合、同時要維護它所包含的所有 service 的生命週期,包括如何初始化、如何結束服務、如何找到別人要訪問的 service

server 也是和 service 管理 connector 一樣管理它,也是將 service 放在乙個陣列中

除了控制生命週期的 start 和 stop 方法外還有乙個監聽機制,在生命週期開始和結束的時候做一些額外的操作。這個機制在其它的框架中也被使用,如在 spring 中。

connector會產生乙個執行緒來處理這個請求並把產生的 request 和 response 物件傳給處理這個請求的執行緒

門面設計模式存在的意義:主要用在乙個大的系統中有多個子系統組成時,這多個子系統肯定要涉及到相互通訊,但是每個子系統又不能將自己的內部資料過多的暴露給其它系統,不然就沒有必要劃分子系統了。每個子系統都會設計乙個門面,把別的系統感興趣的資料封裝起來,通過這個門面來進行訪問。

訂閱-發布模式(觀察者模式):

subject 就是抽象主題:它負責管理所有觀察者的引用,同時定義主要的事件操作。

concretesubject 具體主題:它實現了抽象主題的所有定義的介面,當自己發生變化時,會通知所有觀察者。

observer 觀察者:監聽主題發生變化相應的操作介面。

命令模式主要作用就是封裝命令,把發出命令的責任和執行命令的責任分開。也是一種功能的分工。不同的模組可以對同乙個命令做出不同解釋。

client:建立乙個命令,並決定接受者

command 命令:命令介面定義乙個抽象方法

concretecommand:具體命令,負責呼叫接受者的相應操作

invoker 請求者:負責呼叫命令物件執行請求

receiver 接受者:負責具體實施和執行一次請求

責任鏈模式,就是很多物件有每個物件對其下家的引用而連線起來形成一條鏈,請求在這條鏈上傳遞,直到鏈上的某個物件處理此請求,或者每個物件都可以處理請求,並傳給下一家,直到最終鏈上每個物件都處理完。這樣可以不影響客戶端而能夠在鏈上增加任意的處理節點。

handler(抽象處理者):定義乙個處理請求的介面

concretehandler(具體處理者):處理請求的具體類,或者傳給下家

裝飾器模式,允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。

這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。

jetty

和tomcat同為servlet容器

jetty 目前的是乙個比較被看好的 servlet 引擎,它的架構比較簡單,也是乙個可擴充套件性和非常靈活的應用伺服器,它有乙個基本資料模型,這個資料模型就是 handler,所有可以被擴充套件的元件都可以作為乙個 handler,新增到 server 中,jetty 就是幫你管理這些 handler。 jetty 是面向 handler 的架構,就像 spring 是面向 bean 的架構,ibatis 是面向 statement 一樣

整個 jetty 的核心元件由 server 和 connector 兩個元件構成

servlet

servlet 已經能夠幫我們完成所有的工作了,但是現在的 web 應用很少有直接將互動全部頁面都用 servlet 來實現,而是採用更加高效的 mvc 框架來實現。這些 mvc 框架基本的原理都是將所有的請求都對映到乙個 servlet,然後去實現 service 方法,這個方法也就是 mvc 框架的入口。

初識Java web 投票專案

包的含義和作用 domain 實體voter,user servlet 1 2 1 login 收到來自 login.jsp 頁面的表單提交的 請求,將使用者名稱和密碼封裝成 voter 的屬性,並呼叫 userservice 判斷使用者名稱和密碼是否錯誤,錯誤,就提示錯誤資訊,並重定向回 logi...

JAVA web工程結構

技術應用 例項 1 技術架構 struts2,jdbc 連線池 jquery,ajax 2 設計思想 mvc和分層設計思想 a.顯示層 jsp元件 jquery,ajax b.控制層 struts2控制器元件 action元件 c.業務層 bean元件 d.資料訪問層 dao元件 jdbc 搭建工程...

初識javaweb之http協議和tomcat

引用自 tomcat伺服器是一種web應用伺服器,web應用伺服器可以使得我們的電腦上的指定的頁面或檔案可以被通過http協議按ip方式訪問到。http協議 http hypertext transfer protocol 超文字傳輸協議,所有的www檔案都必須遵循。http協議的組成由請求和響應組...