## 一.流程圖
框架往往封裝了太多的東西,一次struts請求在其內部的流程如下圖所示:?

## 二、流程詳解
1. web.xml:http請求(可以是url鏈接也可以是form表單)首先會被web.xml里的StrutsPrepareAndExecuteFilter過濾器過濾,默認只攔截.action的請求,也會攔截在struts常會配置中。struts.action.extension屬性自定義的.do或其他請求。
2. struts.xml: .action請求經過web.xml過濾轉發到struts.xml,根據url地址與相應類進行匹配,匹配成功進入相應的action類。
3. 前置攔截器:在進入相應action類之前首先要經過前置攔截器,完成數據封裝、文件上傳等操作。
4. action類:經過前置攔截器以后,在action類中執行操作,作用相當于servlet,完成相應操作(比如接收數據、持久化數據)以后返回一個字符串。
5. 后置攔截器:后置攔截器完成異常信息攔截、日志信息處理等操作。
6. struts.xml:根據返回的字符串,匹配相應的結果頁。
7. jsp頁面:jsp頁面就是與struts.xml中相匹配的結果頁面。
## 三、項目中配對應流程

- 前言
- [J2EE]java web項目中調用word轉html命令行工具
- [J2EE]jsp項目中使用UEditor富文本編輯器
- [J2EE]The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- [j2ee]Eclipse搭建SSH開發框架
- Could not open Hibernate Session for transaction
- class org.springframework.web.context.ContextLoaderListener
- [java01]Java基本數據類型
- [java02]運算符
- jsp、javabean學生信息管理系統
- [java03]java字符串
- [ssh新聞發布系統一]搭建開發環境
- [ssh新聞發布系統二] 讀取新聞
- [ssh新聞發布系統三]存儲新聞
- [ssh新聞發布系統四]使用富文本編輯器發布新聞
- [ssh新聞發布系統五]刪除新聞
- struts2 helloworld
- struts請求走向流程
- [java04]java大數類