servlet:
void init(servletconfig cfg);//初始化,讀取servlet的配置引數
void service(servletrequest request,servletresponse response);服務方法,使用者的每次請求都會執行
void destory();//銷毀方法
單例的--------------------------
filter:
void init(filterconfig cfg);//初始化,讀取filter的配置引數
void dofilter(servletrequest request,servletresponse response,filterchain chain);過濾方法,使用者每次訪問被過濾的資源,都會執行
void destory();//銷毀方法
單例的
總結:過濾器比servlet強大,它能夠決定是否讓目標執行。
---------------------------
實際開發:servlet在mvc開發模型中作為控制器存在,那麼filter也可以作為控制器。
2. struts2是基於mvc開發的框架,屬於表現層框架
struts2有struts+webwork發展而來,與struts1有很大區別
3. struts2目錄結構:
4. 主要jar包:
5. struts2處理流程:
6.
載入配置檔案順序
a、default.properties:struts2-core**.jar org.apache.struts包中(程式設計師只能看)
b、struts-default.xml:struts2-core**.jar中(程式設計師只能看)
c、struts-plugin.xml:在外掛程式的jar包中(程式設計師只能看)
以下檔案可自定義修改
d、struts.xml:在應用的構建路徑頂端。自己定義的struts配置檔案(推薦)
e、struts.properties:在應用的構建路徑頂端。程式設計師可以編寫(不推薦)
f、web.xml:配置過濾器時,指定引數。程式設計師可以編寫(不推薦)
特別注意:順序是固定的。後面的配置會覆蓋前面的同名配置資訊。
7. **驗證
此處的預設配置在
default.properties
中,預設為action或無
struts.action.extension=action,,
8. 在struts.xml中設定常用常量(覆蓋default.properties檔案中預設設定)使用constant引數
9. 獲取當前工作路徑://處理struts2處理請求字尾,預設為action, 如需配置多個,逗號隔開
<
constant name
="struts.action.extension"
value
="action"
/>
//瀏覽器是否靜態快取內容(true),開發最好關閉
<
constant name
="struts.serve.static.browsercache"
value
="false"
/>
<
constant name
="struts.configuration.xml.reload"
value
="true"
/>
//開發模式,可列印出更詳細的錯誤資訊
<
constant name
="struts.devmode"
value
="true"
/>
//是否支援動態方法呼叫(false)dmi
<
constant name
="struts.enable.dynamicmethodinvocation"
value
="false"
/>
test.jsp:
將test.jsp放入tomcat/web/目錄下
/web
ps:如果在diea中需要配置執行路徑run/edit configaration/deployment
10. 多個配置檔案(struts檔案)
Struts2基本原理
闡述struts2的執行流程。struts 2框架本身大致可以分為3個部分 核心控制器filterdispatcher 業務控制器action和使用者實現的企業業務邏輯元件。核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器acti...
Struts2的基本原理
闡述struts2的執行流程。struts 2框架本身大致可以分為3個部分 核心控制器filterdispatcher 業務控制器action和使用者實現的企業業務邏輯元件。核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器acti...
Struts基本原理
上圖 於struts2官方站點,是struts 2 的整體結構。乙個請求在struts2框架中的處理大概分為以下幾個步驟 1 客戶端初始化乙個指向servlet容器 例如tomcat 的請求 2 這個請求經過一系列的過濾器 filter 這些過濾器中有乙個叫做actioncontextcleanup...