[size=x-large]ActionServlet相关[/size]
继承至javax.servlet.http.HttpServlet类,是中心控制器,处理所有的终端请求
[size=x-large]Action相关[/size]
初始化:在发出该Action的请求时,不是在读取配置的时候。每个Action只会被初始化一次(多终端使用Action,构造方法只会被调用一次),内存中也只有一份(所有请求共享一个Action实例),同时,Action是线程不安全的。
需要用线程安全编程,因为Action共享实例与多个同步请求:
1.不要用实例变量和静态变量(类变量)共享只是针对某一个请求的数据;当然,可以共享需要被共享的请求信息
2.连接需要被保护的资源(JavaBean、session)必须同步
一个例子:
[url]http://ztbsuper.iteye.com/blog/474216[/url]
[size=x-large]ActionForward相关[/size]
ActionForward对象是配置对象。这些配置对象拥有独一无二的标识以允许它们按照name属性等检索。ActionForward对象封装了向前进的URL路径且被请求处理器用于识别目标视图
属性:name:逻辑名称
path:页面或者模块访问路径(相对于当前位置)
redirect:缺省为FALSE,为容器内跳转。若设置为true,则调用HttpServletResponse.sendResponse(),否则调用Forward方法(容器外调用,一定要加入http:// 协议头)
[size=x-large]ActionMapping相关[/size]
每一个<action>元素都与类org.apache.struts.action.ActionMapping的一个实例相关。包括name,path,Forwards
[size=x-large]ActionForm相关[/size]
工作原理
处理ActionForm的一般步骤
1.检查Action的映射,确定在Action中已经配置了对ActionForm的映射
2.根据name属性,查找FormBean的配置信息
3.检查Action的FormBean的适用范围,确定在此范围下(request,session),是否已经有此FormBean的实例
4.假如在当前范围下,已经存在了次FormBean的实例,而是对当前请求来说,是同一种类型的话,那么就重用
5.否则,就重现构建一个FormBean的实例(构造方法),并保存在一定范围
继承至javax.servlet.http.HttpServlet类,是中心控制器,处理所有的终端请求
[size=x-large]Action相关[/size]
初始化:在发出该Action的请求时,不是在读取配置的时候。每个Action只会被初始化一次(多终端使用Action,构造方法只会被调用一次),内存中也只有一份(所有请求共享一个Action实例),同时,Action是线程不安全的。
需要用线程安全编程,因为Action共享实例与多个同步请求:
1.不要用实例变量和静态变量(类变量)共享只是针对某一个请求的数据;当然,可以共享需要被共享的请求信息
2.连接需要被保护的资源(JavaBean、session)必须同步
一个例子:
[url]http://ztbsuper.iteye.com/blog/474216[/url]
[size=x-large]ActionForward相关[/size]
ActionForward对象是配置对象。这些配置对象拥有独一无二的标识以允许它们按照name属性等检索。ActionForward对象封装了向前进的URL路径且被请求处理器用于识别目标视图
属性:name:逻辑名称
path:页面或者模块访问路径(相对于当前位置)
redirect:缺省为FALSE,为容器内跳转。若设置为true,则调用HttpServletResponse.sendResponse(),否则调用Forward方法(容器外调用,一定要加入http:// 协议头)
[size=x-large]ActionMapping相关[/size]
每一个<action>元素都与类org.apache.struts.action.ActionMapping的一个实例相关。包括name,path,Forwards
[size=x-large]ActionForm相关[/size]
工作原理
处理ActionForm的一般步骤
1.检查Action的映射,确定在Action中已经配置了对ActionForm的映射
2.根据name属性,查找FormBean的配置信息
3.检查Action的FormBean的适用范围,确定在此范围下(request,session),是否已经有此FormBean的实例
4.假如在当前范围下,已经存在了次FormBean的实例,而是对当前请求来说,是同一种类型的话,那么就重用
5.否则,就重现构建一个FormBean的实例(构造方法),并保存在一定范围