Struts2框架学习(二) Action

Struts2框架中的Action类是一个单独的javabean对象。不像Struts1中还要去继承HttpServlet,耦合度减小了。

1,流程

拦截器拦截请求,创建代理Action对象,执行方法,返回结果,界面跳转。

拦截器解析请求路径,获取Action的名称,到配置文件中查找action的完整类名,利用反射创建对象。

每请求一次,就创建一个对象,所以action是多例的,也是线程安全的。

2,关系

请求的路径和配置文件的对应关系:

配置文件中包的命名空间namespace的值和action的name值,如上图/user/login加上后缀.action 路径,映射访问com.lsz.struts2.action包中的LoginActin类中的login方法。

方法的返回字符串和result结果对应关系:

Action类的result和方法中return结果对应,如果有一个返回结果,对应配置一个result标签,如果有两个返回结果,需要配置两个标签。result标签的name值要和方法中返回的字符串一致。

3,方法要求

一定要是public类型的,而且返回为String类型的,方法为无参数的。

4,Action类和ActionProxy,ActionInvocation类的关系

ActionProxy是Action的代理类,通过解析配置文件获取Action类中名称和完整路径,利用反射机制创建的。

ActionInvocation是Action类的调用者,反射创建的ActionProxy类就存在ActionInvocaiton类中。

Struts2框架学习(二) Action的更多相关文章

  1. Struts2基础学习(二)—Action

    一.ActionSupport      为了让用户开发的Action类更加规范,Struts2提供了一个Action接口,这个接口定义了Struts2的Action处理类应该实现的规范.下面是标准A ...

  2. struts2框架学习(二)

    ---恢复内容开始--- 一.搭建步奏 1.新建web项目,进行必备Jar包的拷贝,放到lib目录以便项目的引用. 2.拷贝框架的核心配置文件Struts.xml,放到src目录下,保留一个基本配置即 ...

  3. Struts2框架学习(二)——访问流程及架构

    1.Struts2的执行流程 从客户端发送请求过来,先经过前端控制器(核心过滤器StrutsPrepareAndExecuteFilter)过滤器中执行一组拦截器(一组拦截器就会完成部分功能代码),拦 ...

  4. [ SSH框架 ] Struts2框架学习之二

    一.Struts2访问Servlet的API 前面已经对 Struts2的流程已经执行完成了,但是如果表单中有参数如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习 Str ...

  5. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  6. Struts2框架学习(一)

    Struts2框架学习(一) 1,Struts2框架介绍 Struts2框架是MVC流程框架,适合分层开发.框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计. 2 ...

  7. Java之struts2框架学习

    Java之struts2框架学习 About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全 ...

  8. JavaWeb_(Struts2框架)Struts创建Action的三种方式

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  9. [ SSH框架 ] Struts2框架学习之一

    一.Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中.目前掌握 Struts2框架几乎成为 ...

随机推荐

  1. FCKeditor 2.6.6在ASP中的安装及配置方法分享--ZZ转载自网络

    FCKeditor目前的最新版本是2.6.6,在网上搜索此版本的配置方法,发现很少有asp的配置方法,以下就把自己的一些配置经验分享给有需要的你.   首先从FCKEditor官方下载最新的版本脚本之 ...

  2. GridView绑定DataKeyNames以及如何取这些值

    DataKeyNames='FID'   //前台绑定一个值GridView1.DataKeys[e.Row.RowIndex].Value.ToString;-------------------- ...

  3. POJ 2019 Cornfields(二维RMQ)

    相比以前的RMQ不同的是,这是一个二维的ST算法 #include<iostream> #include<cstring> #include<cstdio> #in ...

  4. Python3基础 函数名.__doc__显示一个函数的单行与多行函数文档

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  5. iOS之Alcatraz常见插件

    转发:http://blog.csdn.net/pingchangtan367/article/details/26689497 对于Xcode是我们的开发环境,ok,怎样提高我们的效率呢,当然是使我 ...

  6. PAT (Advanced Level) 1022. Digital Library (30)

    简单模拟题. 写的时候注意一些小优化,小心TLE. #include<iostream> #include<cstring> #include<cmath> #in ...

  7. 生成R文件

    aapt package -f -m -J H:/workspaces/java_android/Test2/gen -S H:/workspaces/java_android/Test2/res - ...

  8. uwsgi性能调忧

    摘要:调大uwsgi配置中 listen=1024的数目是提高并发能力最有效的办法.第二种方法是调大processes数目 发现总是超时报警 1  使用ab确定网络具体征况 [bre@dmp-1 ~] ...

  9. iOS之Xcode修改应用图标

    随便找一个PNG为后缀的图标, 把它重命名为 icon.png 就可以了.  再次启动 IPhone 模拟器. 就成功了. 及时尺寸不符合审核规范,也是可以显示出来的,供测试效果吧. 为iPhone设 ...

  10. 串口通信中ReadFile和WriteFile的超时详解!

    源:串口通信中ReadFile和WriteFile的超时详解! 在用ReadFile和WriteFile读写串行口时,需要考虑超时问题.如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFi ...