Struts2之Action基础与配置】的更多相关文章

Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理,因此一个Action类代表了用户的一次请求或调用.简单来说,Action就是用来处理一次用户请求的对象. Action能干什么 public class HelloWorldAction implements Action…
总结:struts2种action的配置文件会随着业务的增加而增加,导致配置文件膨胀.struts2中提供了三种方案来解决这个问题: 1. 动态方法调用来实现. 2. 通配符配置来解决. 3. 使用注解的方式来实现. 实例:传统的action配置方法: 一 . Action处理类中有4个处理方法: public class UserAction { public String add(){ System.out.println("添加"); return Action.SUCCESS;…
前言 上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了-..对Struts的配置文件有了了解-..本博文继续讲解Struts在配置的时候一些值得要学习的细节- Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着ActionSupport类的-为啥我们继承了ActionSupport类呢?下面我就会讲解到 继承ActionSupport类 我们来看一下ActionSupport干了什么: 也就是说,如果我们在Action类中需要用到Struts…
在Struts2之配置一文中,我们知道一个struts配置文件可以分为三部分:常量配置    包含其他配置文件的配置    Action配置  . 这其中 常量配置  和 包含其他配置文件的配置  二者的变化不多  相对来说比较简单,而Action的配置 相对来说比较复杂. 当我们写好了一个Action类之后  我们就要想着该Action类为哪个URL的请求提供服务,这就需要配置 . 1.包和命名空间 Struts2利用包(<package>)来组织Action,将Action配置(<A…
为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="…
一.struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果Act…
转自:https://blog.csdn.net/u012546338/article/details/68946633 在配置<action> 时,可以在 name,class,method 中使用通配符,这是 另外一种形式的动态方法调用 <action name="*user" class="com.zzjmay.action.UserAction" method="{1}"> //这种通配是针对的是同一个action…
Struts2之Action MVC模式中需要有一个控制器来负责浏览器与服务器之间的通信,实现用户与服务器的交互.在Struts2框架中实现这一功能的是Action,它是整个框架最核心的部分.Action负责存储数据和状态,与应用的具体业务逻辑打交道. 一.Action简介 实现Struts2框架的Action有两种方案: 实现框架所提供的Action接口 使用框架所提供的ActionSupport基类 无论使用哪一种都必须实现execute()方法,返回的则是逻辑视图名. 二.返回结果 Act…
为什么struts2的action是线程安全的,struts1的action不是线程安全的? 先对struts1和struts2的原理做一个简单的讲解 对于struts1 ,当第一次**.do的请求过来时,在内存中的actionmapping中找到相对应的action,然后new出这个action放在缓存中,当第二次一样的请求过来时,还是找的这个action,所以对于struts1来说,action是单实例的 ,只有一个,如果在action中定义变量,就要非常小心了,因为并发问题,可能带来灾难性…
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的结果不一样.举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子(用掉200cm);甲和乙同时访问得到的 长度都是300cm,甲想做上衣和裤子,他先截取100cm去做上衣,等上衣做完再去做裤子,而乙这时正好也拿100cm去做上衣,那 好,等甲做完上衣再做裤子的时候发现剩下的布(…