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. 瞎谈CNN:通过优化求解输入图像

    本文同步自我的知乎专栏: From Beijing with Love 机器学习和优化问题 很多机器学习方法可以归结为优化问题,对于一个参数模型,比如神经网络,用来表示的话,训练模型其实就是下面的参数 ...

  2. x01.Weiqi.13: 鼎力推荐

    鼎力推荐 : 点击后即可观看,小伙子讲的很有深度. 说到深度,自然离不了深度学习.AlphaGo 的横空出世,似乎很有学习的必要. MuGo: 点击下载后,发现是 python,自然免不了一番学习,好 ...

  3. tomcat文件夹没有部署项目和Tomcat中webapps中没有运行项目-上传下载文件和图片

    1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下的.metadata.plugins\org.eclipse.wst.serve ...

  4. Hibernate注解之@Enumerated

    Hibernate注解之@Enumerated 转:http://www.cnblogs.com/minideas/archive/2011/11/04/2235262.html @Enumerate ...

  5. JAVA基础知识(2)--堆栈和递归的操作

    2015-07-26 18:16:21/***该应用程序对堆栈和递归方法进行实例操作: *1.堆栈操作:先进后出,*2.递归方法:直接或者调用自己的方法:*@author lhm *Email:912 ...

  6. 第一章Python起步

    1.1搭建编程环境 编程环境的正确搭建很重要,一定要参考先搭配好环境变量,不然用着会很麻烦,在这里推荐使用工具pycharm,亿图图示画流程图,一定要正确安装,搭配好环境变量,后面要添加很多模块,前期 ...

  7. centos7 安装kubernetes1.4

    192.168.251.9 master192.168.251.231 node 建议可以搭建etcd集群来做数据库存储,并搭建kube-dns,然后把k8s的日志落地到/var/log/kubern ...

  8. Activity猫的一生-故事讲解Activity生命周期

    大家好,关于Android中Activity的生命周期,网上大多数文章基本都是直接贴图.翻译API,比较笼统含糊不清. 我就用故事来说一说: 有个人叫User,TA养了几只猫,有只猫叫Activity ...

  9. EventBus通信小能手

     1.EventBus简介 EventBus 是由 greenrobot 组织开发的一个 Android 事件发布/订阅轻量级框架,特点:代码简洁,是一种发布订阅设计模式(观察者设计模式). Even ...

  10. synchronized关键字

    最近重新梳理了下java的synchronized相关内容,希望能帮助到有需要的朋友们. 主要阐述以下几个问题: 1.非static方法前加synchronized class Demo{ synch ...