MVC框架
- 自動將表單中的屬性綁定到bean對象中(獲取參數,封裝到對象中),自動進行類型轉換
- 在配置文件動態設置頁面跳轉的值
搭建Struts2框架
所有的MVC框架都需要Web應用加載一個核心控制器
加載FilterDispatcher
點擊download,將下載的jar包放到WEB-INF目錄下lib
在web.xml文件中配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Strut02</display-name>
<filter>
<!-- 配置Struts2核心Filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 配置Struts2核心Filter的實現類 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<!-- 配置Struts2框架默認加載的Action包結構,可以沒有。 -->
<param-name>actionPackages</param-name>
<param-value>org.apache.struts2.showcase.person</param-value>
</init-param>
<!-- 配置Struts2框架的配置提供者類 -->
<init-param>
<param-name>configProviders</param-name>
<param-value>lee.MyConfigurationProvider</param-value>
</init-param>
</filter>
<!-- 配置Filter攔截的URL -->
<filter-mapping>
<!-- 配置Struts2的核心FilterDispatcher攔截所有用戶請求 -->
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
- 修改默認編碼UTF-8,創建jsp頁面
- 在src下創建package名爲com.qtu.pratice,再創建Action的java文件UserAction
- 創建對應屬性的getter/setter方法和execute()方法(返回視圖名稱)
- 在src目錄下創建配置文件struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 所有匹配*.action的請求都由struts2處理 -->
<constant name="struts.action.extension" value="action" />
<!-- 是否啓用開發模式,指定struts2處於開發階段,可進行調試 -->
<constant name="struts.devMode" value="true" />
<!-- struts配置文件改動後,是否重新加載 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 設置瀏覽器是否緩存靜態內容 -->
<constant name="struts.serve.static.browserCache" value="false" />
<!-- 請求參數的編碼方式 -->
<constant name="struts.i18n.encoding" value="utf-8" />
<!-- 每次HTTP請求系統都重新加載資源文件,有助於開發 -->
<constant name="struts.i18n.reload" value="true" />
<!-- 文件上傳最大值 -->
<constant name="struts.multipart.maxSize" value="104857600" />
<!-- 讓struts2支持動態方法調用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- Action名稱中是否還是用斜線 -->
<constant name="struts.enable.SlashesInActionNames" value="false" />
<!-- 允許標籤中使用表達式語法 -->
<constant name="struts.tag.altSyntax" value="true" />
<!-- 對於WebLogic,Orion,OC4J此屬性應該設置成true -->
<constant name="struts.dispatcher.parametersWorkaround" value="false" />
<!-- Struts2的Action都必須配置在package裏,此處默認package -->
<package name="default" namespace="/" extends="struts-default">
<!-- 定義一個名爲user的Action,實現類爲com.qtu.pratice.action.UserAction -->
<action name="user" class="com.qtu.pratice.action.UserAction">
<!-- 配置execute()方法返回值與視圖資源之間的映射關係 -->
<result name="success">/result.jsp</result>
<result name="error">/error.jsp</result>
</package>
</struts>