3.1 Struts2执行过程
    1、获取Struts2资源
    2、在应用程序中导入Struts2的类库
    3、在web.xml中配置StrutsPrepareAndExecuteFilter
    4、编写Action类进行配置
    5、配置返回结果与物理视图资源的关系
    6、编写结果视图
    
        web.xml

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

Action类
            核心控制器(Filter):用于拦截用户的请求 ,对请求进行处理
            业务控制器(Action):调用相应的Model类实现业务吃了,返回结果
        Struts.xml

   <struts>
<constant name="struts.ui.theme" value="simple"></constant>
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="struts.LoginAction">
<result name="success" type="dispatcher">guanli.jsp</result>
<result name="input">login.jsp</result>
</action>
</package>
</struts>

Result
            1、当web容器接收到请求后,将请求交由在web中配置的Struts2框架的控制器StrutsPrepareAndExecuteFilter(控制器)
            2、由StrutsPrepareAndExecuteFilter确定请求对于的Action(业务控制器)
            3、框架根据Action返回的结果字符串,由StrutsPrepareAndExecuteFilter选择对于的result,将结果呈现给用户
            Action只负责返回结果,不与视图关联
            
    Struts2配置文件
        处理中文乱码:
            <constant name="struts.il8n.encoding" value="UTF-8"></constant>
        Struts2的包:
            <package name="default" namespace="/" extends="struts-default">
                name:必需且唯一,指定包的名称
                extends:指定要扩展的包
                namespace:可选,定义包中的Action的命名空间
        Struts-default.xml:Struts2的默认配置文件,提供默认值,自动加载
        struts-plugin.xml:Struts2插件使用的配置文件
3.2    Action的配置
    作用:
        1、封装工作单元
        2、数据转移场所
        3、返回结果字符串
    method属性:
        例:

<action name="login" class="struts.LoginAction" method="login">
<result name="success" type="dispatcher">guanli.jsp</result>
<result name="input">login.jsp</result>
<result name="error">error.jsp</result>
</action>

调用login.action之后,执行login方法,根据返回结果字符串返回结果视图
    Action动态方法调用

 <action name="Struts" class="struts.StrutsAction">
<result name="login">guanli.jsp</result>
<result name="Guanli">guanli.jsp</result>
<result name="Details">details.jsp</result>
<result name="Fabu">guanli.jsp</result>
<result name="Update">guanli.jsp</result>
<result name="Register">login.jsp</result>
</action>

这种方法的使用可以减少xxxAction的数量,但是会带来安全隐患
                 使用方法:Struts!login.action
    通配符:

 <action name="*house" class="struts.StrutsAction" method="{1}">
<result name="success">{1}.jsp</result>
<result name="input">{1}.jsp</result>
<result name="error">error.jsp</result>
</action>

调用方法:loginhouse.action,配置该action元素时,还指定了method属性
    默认的Action:

<default-action-ref name="defaultAction">
<action>
<result name="error">error.jsp</result>
</action>
</default-action-ref>

3.3 Result的配置
    常用结果类型
        dispatcher:result默认结果类型,以转发方式请求指定的视图资源,请求中包含的数据信息依然存在
        redirect:以重定向方式请求指定的视图资源,请求中包含的数据信息将丢失
        redirectAction:以重定向方式请求指定的视图资源,请求中包含的数据信息将丢失,主要重定向到另一个Action
    动态结果
        通过指定方法返回的值,指定执行哪一个Action(业务控制器)
    全局结果

<struts>
<constant name="struts.ui.theme" value="simple"></constant>
<package name="default" namespace="/" extends="struts-default">
<global-result>
<result name="error">error.jsp</result>
<result name="login" type="redirect">login.jsp</result>
</global-result>
</package>
</struts>

第三章 Struts2配置详解的更多相关文章

  1. struts2系列(三):struts2配置详解

    原文链接:http://www.cnblogs.com/fmricky/archive/2010/05/20/1740479.html 1.<include> 利用include标签,可以 ...

  2. “全栈2019”Java第一百零三章:匿名内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. Spring之旅第三篇-Spring配置详解

    上一篇学习了IOC的概念并初步分析了实现原理,这篇主要学习Spring的配置,话不多说,让我们开始! 一.Bean元素配置 1.1 基本配置 看一个最基本的bean配置 <bean name=& ...

  4. Spring MVC配置文件的三个常用配置详解

    转自:http://www.cnblogs.com/benwu/articles/5162614.html Spring MVC项目中通常会有二个配置文件,sprng-servlet.xml和appl ...

  5. 第三章 rsync 命令详解和实战用法

    一.rsync传输模式 1.本地模式2.远程模式3.守护进程模式 二.守护进程模式 1.安装rsync[root@backup ~]# yum -y install rsync 2.配置rsync[r ...

  6. struts2配置详解

    01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...

  7. Struts2 配置详解

    1. web.xml 此文件的配置可以参看struts2的示例文档 <filter> <filter-name>struts2</filter-name> < ...

  8. Struts2配置详解_配置Action

    Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现 ...

  9. 第三章 ServerSpcket用法详解

    构造ServerSocket ServerSocket的构造方法如下: ServerSocket() //Creates an unbound server socket. ServerSocket( ...

随机推荐

  1. hadoop2.7.2完全分布式环境搭建

      1.先使用groupadd hadoop 建立hadoop用户组 2.新建用户,useradd -d /usr/hadoop -g hadoop -m hadoop (新建用户hadoop指定用户 ...

  2. json基础入门

    json是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.它基于ECMAScript的一个子集. JSO ...

  3. 实战Tomcat配置SSL,使用openssl制作证书

    制作证书以及Tomcat配置 搭建openssl环境,下载openssl并设置环境变量方便命令行的使用: 修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca ...

  4. 提高C++编译速度-------pimpl 模式& 桥接模式(转)

    pimpl 模式(Private Implementation),我们常常听到诸如“不要改动你的公有接口”这样的建议,所以我们一般都会修改私有接口,但是这会导致包含该头文件的所有源文件都要重新编译,这 ...

  5. 3555: [Ctsc2014]企鹅QQ

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 696  Solved: 294[Submit][Status ...

  6. C++primer拾遗(第二章:变量和基本类型)

    这是我对c++primer第二章的一个整理总结,算是比较适用于我自己吧,一小部分感觉不用提及的就省略了,只提了一下平时不注意,或者不好记住的内容. 排版太费劲了,直接放了图片格式.从自己的oneNot ...

  7. otool介绍(转http://www.mc2lab.com/?p=68)

    1. Otool简介 Otool可以提取并显示ios下目标文件的相关信息,包括头部,加载命令,各个段,共享库,动态库等等.它拥有大量的命令选项,是一个功能强大的分析工具,当然还可以做反汇编的工具使用. ...

  8. 联想A7600-m刷机心得

    先来说说刷机 联想A7600-m的刷机

  9. 给 Virtualbox 中 Ubuntu 系统设置静态 IP ,让 DNS 配置信息不会在重启后被清除

    虚拟机网络选择 桥接网卡 模式. 主要涉及两个步骤: 1. 修改 /etc/network/interfaces 文件: 2. 修改 dns : 第一步,修改 interfaces 文件: sudo ...

  10. 解决MVC模型验证在IE 6 7下不起作用或者报错

    文件版本列出: Jquery版本1.7.1 jQuery Validation 版本1.9.0 (VS2012创建MVC项目自动生成的版本) 最好VS2012创建MVC项目自动生成的版本,而不是VS2 ...