webwork框架
webwork框架已经整合到struts2中,struts2的工作方式就是由它改进而来的。
struts2的基本流程
大致上,struts2框架由3部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件
核心控制器FilterDispatcher
负责拦截所有的用户请求
业务控制器
即用户实现的Action实例,负责控制流程走向
模型组件
负责业务逻辑的实现
视图组件
struts2允许使用其它模板技术,如FreeMarker、velocity。<result >的type属性默认为jsp
struts2的基本配置
配置web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!—可以配置初始化参数,常用的有cofig:指定配置文件位置,多个文件用逗号隔开。也可以配置struts2常量,代替struts.properties文件-->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts.xml</param-value>
<init-param>
<param-name>struts.custom.i18n.resouurces</param-name>
<param-value>messageResource</param-value>
</init-param>
<init>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
<!—servlet 2.3以前的规范要手动加载标签文件-->
<taglib>
<taglib-uri>/s</taglib-uri>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
</taglib>
配置struts.xml
<!—配置struts常量-->
<constant name="struts.i18n.encoding" value="GBK"/>
<!—配置bean,以利用控制反转机制,定义的bean可以在xml其它直接引用-->
<bean type=? class=?>
<!—Action按模块配置在多个文件中,使用这种方式合并-->
<include file=”struts-part1.xml”/>
<package name="lee" extends="struts-default">
<!—拦截器-->
<interceptors>
<!—单个拦截器-->
<interceptor name="authority"
class="org.crazyit.auction.action.interceptor.AuthorityInterceptor"/>
<!—拦载器堆栈-->
<interceptor-stack name="auctionStack">
<!—引用拦截器 -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!—使用的默认拦截器 -->