1. 簡單理解MVC框架
我們先來看兩個JSP的模型圖
Model 1
工作流程如下:
– 客戶將請求提交給JSP。
– JSP調用JavaBean組件進行數據處理。
– 如果數據處理需要數據庫支持,則使用JDBC操作數據庫數據。
– 當數據返回給JSP時,JSP組織響應數據,返回給客戶端。
優點
– 編碼簡單
– 適用於小型項目
缺點
– 顯示邏輯與業務邏輯混在一起
– 在JSP頁面中嵌入大量的Java代碼,驗證,流程控制等全部在Jsp中完成。
– 不適用於中大型項目
Model 2
工作流程如下:
– 客戶的請求信息首先提交給Servlet。
– 控制器選擇對當前請求進行數據處理的Model對象。
– 控制器對象選擇相應的view組件作爲客戶的響應信息返回。
– JSP使用JavaBean中處理的數據進行數據顯示。
– JSP把組織好的數據以響應的方式返回給客戶端瀏覽。
優點:
– 將問題分解,分層清晰,職責清晰
– 可擴展性強
– 實現了Java代碼和頁面的分離,即業務邏輯和顯示邏輯分離
缺點:
– 增加了額外的編寫代碼,配置文件工作量。
2. Struts模型圖
Struts工作流程
– 客戶提交請求信息。
– 中央控制器類(ActionServlet)通過讀取配置文件struts-config.xml),把表單數據填充到Form bean中。
– 中央控制器將Http請求分發到相應的Action處理。
– Action類調用Model組件進行數據處理。
– 中央控制器轉發相應的Http請求到相應的View組件。
– View組件將響應信息返回給客戶端。
3. Tomcat下Struts的安裝配置
– 需提前安裝的軟件:
• Java 2 SDK SE
• Servlet Container(Web Application Server)
• Servlet API Classes
– 拷貝struts發佈的jar包到應用程序的WEB-INF/lib目錄下。
• http://struts.apache.org/上下載
– 在DD文件web.xml中配置核心控制器ActionServlet類,添加如下代碼:
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
— 創建Struts的配置文件/WEB-INF/struts-config.xml, Struts的各種組件都在該文件中配置