`
sugongqing
  • 浏览: 77300 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
随着Struts2的推出,很多人认为原有的Struts1.2已经没有学习的价值,其实并不是这样,不管怎么样,原有的Struts1.2要比现有的 Struts2成熟,而且Struts2推出的时间还不是很长,所以,Struts1.2至少在现阶段的应用还是要比Struts2的应用要广。所以,认 真深入的学习Struts1.2还是很有必要的。 首先是Struts1.2的核心类,ActionServlet类。 ActionServlet位于org.apache.struts.action包内,这个类将会在struts第一次使用时,作为servlet初始化并存入Servlet容器。在初始化时: 首先调 ...
action-mappings之attribute属性 [转] 关键字: action-mappings,attribuite action-mappings之attribute属性(zz) 在很多时候,action mapping中的attribute 和 name 这两个属性一直困扰我,今天我觉得是该痛下决心拔掉这颗钉子的时候了。 翻看一些资料。。。。。 在《Programming Jakarta Struts》这本书中的第四章“Configuring the Struts Application”中这样一段说明来分别阐述这两 个属性:(102页) ++++++ ...
第一篇  struts的初始化 struts 的核心类是org.apache.struts.action.ActionServlet,这个类将会在struts第一次使用时, 作为servlet初始化并存入tomcat容器。很显然的,初始化将会调用init方法初始化相应的数据。 一、initInternal()方法:     通过调用MessageResources.getMessageResources(internalName)方法生成一个     MessageResources类,getMessageResources是通过调用MessageResourcesFactory.      ...
既然是说Struts源代码 ,为什么要讲Commons-Beanutils包呢?原因很简单,Struts的DynaFormBean就是通过这个包里的相关类实现的。 Commons-Beanutils(一)     Commons-Beanutils 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同时解决每次都要写getXXX和setXXX的麻烦。 一、XXXConvert     这些类都实现Converter接口,提供把value值转化成为相应XXX类的实现。现在只针对四种类型:数字,时间,Boole ...
Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1.  在web.xml 中通过下面定义把所有的*.do 交给ActionServlet 处理   <!-- Standard Action Servlet Configuration (with debugging) -->
Struts 源码学习之ActionServlet ( 二) ③ 调用 initServlet(); 从web.xml 中加载ActionServlet 的初始化参数如servlet-name ,加载DTD 文件并把其放入HashMap 缓存,读取并解析web.xml 的内容 // Remember our servlet name getServletConfig().getServletName (); <servlet>         <servlet-name >action</servlet-name>     ...
Struts 源码学习之ActionServlet (四) Ⅳ /* 循环struts 配置文件(用"," 分开的多个struts 配置文件)并解析, parseModuleConfigFile 执行之后可以 从struts-config.xml 等配置文件中得到 Ⅱ 中 actionConfigs/actionConfigList 、exceptions 、formBeans 、forwards 、messageResources 、plugIns 等的配置,并把得到的所有值封装到对象 ModuleConfig 对象(config) 中 * ...
Struts 源码学习之ActionServlet (三) ④ 调用 initChain(); 读取web.xml 中命令链文件初始值chainConfig protected String chainConfig = "org/apache/struts/chain/chain-config.xml" ; // ④ initChain();   // 如没有chainConfig 参数,则使用默认 "org/apache/struts/chain/chain-config.xml" String value ...
第二篇 struts的执行 本篇详细介绍struts在初始化之后是如何处理一个请求,并返回数据的。这里最核心的类是RequestProcessor以及 RequestUtils。RequestProcessor类通过RequestDispatcher实现页面的跳转,而 RequestProcessor负责处理request中传来的 ...
开始使用Commons Chain 作为程序开发人员,我们经常需要对一个实际上程序性的系统应用面向对象的方法。商业分析家和管理人员描述这样的系统时通常不使用类层次和序列图,而是使用流程图和工作流图表。但是不论如何,使用面向对象的方法解决这些问题时会带来更多的灵活性。面向对象的设计模式提供了有用的结构和行为来描述这种顺序的处理,比如模版方法(Template Method)[GoF]和责任链(Chain of Responsibility)[GoF]。 Jakarta Commons的子项目Chain将上述两个模式组合成一个可复用的Java框架用于描述顺序的处理流程。这个在Jakarta Co ...
Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,基本原理是:服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,看是否匹配。在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的令牌,该令牌除传给客户端以外,也会将用户会话中保存的旧的令牌进行替换。这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的令牌就和服务器端的令牌不一致,从而有效地防止了重复提交的发生。 这时其实也就是两点,第一:你需要在请求中有这个令牌值,请求中的令牌值如何保存,其实就和我们平时在页面中保存一些信息是一样的,通过隐藏字段来保存,保存的形式如: ...
Global site tag (gtag.js) - Google Analytics