打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
struts2的小知识

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>
            <!—使用的默认拦截器 -->
            <default-interceptor-ref name="auctionStack"/>
               

             <!—全局结果-->
             <global-results>
                       <result name="login">/WEB-INF/jsp/login.jsp</result>
                       <result name="exception">/WEB-INF/jsp/error.jsp</result>
             </global-results>


             <!—全局异常-->
             <global-exception-mappings>
                       <exception-mapping exception="java.lang.Exception" result="exception"/>
             </global-exception-mappings>


             <!—配置Action -->
             <action name="processLogin" class="org.crazyit.auction.action.LoginAction">
                       <!—处理结果Result -->
                       <result name="input">/WEB-INF/jsp/login.jsp</result>
                       <result name="success">/WEB-INF/jsp/main.jsp</result>
                       <result name="failure">/WEB-INF/jsp/login.jsp</result>
                       <!—使用的拦截器-->
                       <interceptor-ref name="defaultStack"/>
             </action>
 </package>
 <!—未知处理器-->
 <unknown-handler-stack>

                <unknown-handler-ref name="yeekuHandler" />

 </unknown-handler-stack>


 

struts.properties配置文件

该文件定义了大量struts2框架的属性,如:

struts.devMode:是否处于开发阶段

struts.locale:指定web应用默认的地区

struts.i18n.encoding:默认编码字符集,对于中文可以设置为GBK

struts.multipar.parser:指定文件上传使用的框架,支持cos、pell和jakarta,分别对应使用cos、pell和common-fileupload框架,默认是jakarta

struts.multipart.saveDir:上传文件临时保存路径

struts.multipart.maxSize:上传文件最大字节数

struts.action.extension:请求后缀,默认为action。指定多个后缀以逗号隔开

struts.custom.i18n.resources:国际化资源文件,如果指定多个文件,以逗号隔开

struts.configuration.files:struts2默认加载的配置文件。默认是:struts-default.xml,struts-plugin.xml,struts.xml

struts.date.format=yyyy/MM/dd时间格式

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【Struts2 Spring3 Hibernate3】SSH框架整合实现CRUD
struts2避免重复提交
Struts2 权限验证
宝宝Struts2学习总结
struts2.1.6+spring整合
serverlet配置文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服