深入了解Struts1的执行机理】的更多相关文章

要说Struts1的工作流程.就必需要说一下Model1和Model2了.由于这个框架是踏着他们的尸骨一步一步的发展起来的. Model1开发模式,想想我们刚刚開始接触Java的时候,我们用的就是这样的模式了,一个jsp页面+处理业务逻辑JavaBean+负责处理数据的DaoBean.更有甚者,你能够在这里直接连接数据库获取数据.非常简单,非常好理解,开发起来速度足够快.没有繁琐的转换.非常easy上手,所以说要做一个小项目,使用Model1这样的开发模式,还是非常不错的选择.可是我们想象一下,…
以EditText为例: 1.Activity本身也有按键监听 editText按键监听与Activity按键监听关系: Activity本身也有按键监听 并且分按下和松开两个事件监听 editText按键监听不分按下.和松开.准确的说:它把这两个事件放在了一个监听事件里了 return false ,editText按键监听事件运行完之后,会向下传第,即接着运行Activity的按键监听 return true :终止向下传递.不会运行Activity的按键监听 2.软键盘不能响应按键监听(仅…
struts1.0的配置 在web.xml文件中的配置 <servlet> <!--配置ActionServlet类,一启动就创建该类对象--> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <!--配置struts-config.xml文件的位置,默认从WEN-I…
javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段,而在javascript中也有类似的“预编译阶段”(javascript的预编译是以代码块为范围<script></script>,即每遇到一个代码块都会进行  预编译>执行),了解javascript引擎的执行机理,将有助于在写js代码过程中的思路总结. 首先javascript是解释型语言,自然就是编译一行,执行一行. js运行过程分为三步: .语法分析 .预编译…
写在前面 sizeof.strlen.字符串.数组,提到这些概念,相信学过C语言的人都能耳熟能详,也能谈得头头是道,但是,在实际运用中,当这些内容交织在一起时,大家却不一定能搞地清清楚楚,本文的目的正是帮助大家将相关知识总结清楚. 正文 先看一段代码 #include <stdio.h> #include <stdlib.h> void testchar(char str[]) { printf("%d %d\n", sizeof(str), strlen(st…
     拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦截器的代码. 接下来,我们将重点讨论一下Struts2中的拦截器的内部结构和执行顺序,并结合源码进行分析. Interceptor结构 让我们再来回顾一下之前我们曾经用过的一张Action L…
三态的基本概念: 1,  暂时状态(Transient):也叫自由态,仅仅存在于内存中,而在数据库中没有对应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫暂时对象: 2,  持久化状态(Persistent):与session关联而且在数据库中有对应数据.已经持久化,增加到了Session缓存中.如通过hibernate语句保存的对象.处于此状态的对象叫持久对象: 3,  游离状态(Detached):持久化对象脱离了Session的对象.如Session缓…
三种状态的基本概念: 1.  临时身份(Transient):也被称为自由状态,它只存在于内存中,并且在数据库中没有相应的数据. 使用new创建的对象,久化,没有处于Session中,处于此状态的对象叫暂时对象: 2,  持久化状态(Persistent):与session关联而且在数据库中有对应数据. 已经持久化.增加到了Session缓存中.如通过hibernate语句保存的对象.处于此状态的对象叫持久对象: 3,  游离状态(Detached):持久化对象脱离了Session的对象.如Se…
1. 操作系统基本知识,进程,线程 CPU是计算机的核心,承担了所有的计算任务: 操作系统是计算机的管理者,它负责任务的调度.资源的分配和管理,统领整个计算机硬件:那么操作系统是如何进行任务调度的呢? 1.1 任务调度 大部分操作系统(如Windows.Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行.任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停…
非常 抱歉的是,之前说的LEAP/UI框架设计可能仅仅有两篇 由于个人时间实在是不同意 这个问题假设展开去写的话 那么说写本书都是不为过的 且由于内容改动非常是杂乱 所以我第一篇文章用来介绍LEAP预置UI的结构第二篇用来讲How to design&build~ 鉴于直接涉及交互问题 因此这篇文章的受众显得非常尴尬 可是相信 认真依照我之前博客学习的同学都能够理解当中的意思 关于leap这个东西 我在第一篇文章中就提到过 --just a toy. 所以仅仅是用来开发的练手,根本别指望交互效果…
前边两章介绍了基础线程池ThreadPoolExecutor的使用方式.工作机理.参数详细介绍以及核心源码解析. 具体的介绍请参照: 第十二章 ThreadPoolExecutor使用与工作机理 第十三章 ThreadPoolExecutor源码解析 1.Executors与ThreadPoolExecutor ThreadPoolExecutor 可以灵活的自定义的创建线程池,可定制性很高 想创建好一个合适的线程池比较难 使用稍微麻烦一些 实际中很少使用 Executors 可以创建4种线程池…
反汇编基本原理与x86指令构造 概要:旨在讲述程序的二进制代码转换到汇编.即反汇编的基本原理.以及 x86 架构的 CPU 的指令构造,有这个基础后就能够自己编写汇编程序了,也能够将二进制代码数据转换成汇编助记指令.当然,把本文当作手冊的阅读指导也是能够的.本文还讲述了 DEBUG 工具的部分功能.32位平台下有一个 DEBUG32 版本号能够配合 DOSBOX 工具执行在 Windos 7 这些 NT 系统上,DEBUG 要使用 MSDOS 5.0 版本号中的.这是一个十分实用的工具,它同一时…
发布日期:2008.11.2 作者:Anytao © 2008 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 说在,开篇之前 今天Artech兄在<关于Type Initializer和 BeforeFieldInit的问题,看看大家能否给出正确的解释>一文中让我们认识了一个关于类型构造器调用执行的有趣示例,其中也相应提出了一些关于beforefieldinit对于类型构造器调用时机的探讨,对于我们很好的理解类型构造器给出了一个很好的应用实践体验. 认识类型构造器,认识…
清华EMBA的第三次课,大家都已经渐渐了解了课程系列的基本节奏,也逐步适应了思考的基本思路,本次课程涉及到的全部内容都非常专业.闲话少述,直入主题了. 李稻葵教授部分: -- 清华大学经济管理学院弗里曼经济学讲席教授 李稻葵 (清华中国与世界经济研究中心主任.苏世民学者项目主任) 引言 学习中国经济与金融此课程的基本目的是: 1.分析与理解中国经济执行的基本机理 2.理解各级政府制定经济政策的考虑及其政策的原理 3.把握中国经济未来发展的走向 成为一位成功的企业领袖或者政治家必备的素养为必须具备…
版权声明:本文为博主原创文章,未经博主同意不得转载.转载联系 QQ 30952589.加好友请注明来意. https://blog.csdn.net/sleks/article/details/28909591 OpenGLES 与 WebGL 中顶点属性的组织格式的误解 - 一个不好笑的笑话 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 …
上篇博客讨论了SSH2框架模型,在开发过程中发现SSH2的开发模型事实上类似于经典的三层模式,在每一层中分别加入了不同的框架,显示层使用的是Struts2进行配置的,业务逻辑层使用的是Spring配置,数据持久层则採用的是Hibernate,开发模式简单易懂,接下来将会分别从三层着手讨论每一层的执行内容. 一.Struts体系简单介绍 struts.是Apache软件基金会(ASF)赞助的一个开源项目,它通过採用Java Servlet/JSP技术.实现了基于Java EE Web应用的Mode…
这往往是引用的问题. ARC要求完整的前向引用,也就是说在MRC时代可能仅仅须要在.h中申明@class就能够,可是在ARC中假设调用某个子类中未覆盖的父类中的方法的话.必须对父类.h引用,否则无法编译. 有一篇文章讲的非常具体 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容.仅用于技术交流和讨论. 请不要将本文的部分或所有内容用于商用,谢谢合作. 欢迎转载本文.可是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-…
一.前言 <冠军足球经理>系列作为一款拟真度极高的足球经营类游戏.赢得过无数赞誉,而CM4可以说是这个传奇的起点. 可是在游戏安装过程中.当用户输入完序列号之后.程序并不会对用户的输入进行真伪推断,仅仅有等到安装完成.进入游戏之后,通过游戏是否正常显示才可以得知.而假设遇到用户不小心输入错误的情况,那么仅仅能卸载游戏又一次安装.这就会造成非常大的麻烦. 为解决问题,这次的研究会以两篇文章的篇幅通过两种方式对这个游戏进行逆向分析.一种是採用常见的"爆破"手段,也就是本文所讨论…
孔雀翎----<Programming C# >中国版 文章4版 页:http://blog.csdn.net/21aspnet/           时间:2007.8.7 电子工业出版社给我邮寄了此书,所以本人能够先在出版之前一睹为快. 本人曾看过300多本.NET方面的书,感慨颇深.事实上一本好书能够影响一个人非常多.而一本非常差的书可能就会让人误入歧途. 我对好书的理解是思路清晰,结构良好,最好是能让刚開始学习的人有一个整体的框架认识,记得非常小的时候看<学习的革命>中说到…
[摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现. [Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0. 一.什么是病毒        恶意软件可能是第一个对我们产生影响的计算机安全问题.所以病毒在信息安全中是非常重要的.    我们要对付病毒,就要了解病毒.    写一…
前言 最近老大让每周写一篇技术性的博客,想想也没啥写,就想着随便拿个以前的项目去研究研究五大框架的底层代码.本人水平有限,有不对的地方还望大家勿喷,指正! 开始之前先了解下strtus2的工作流程: 工作原理图: (1) 客户端(Client)向Action发用一个请求(Request) (2) Container通过web.xml映射请求,并获得控制器(Controller)的名字 (3) 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或Fil…
java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法.下面分别介绍一下这几种拷贝. 一.循环拷贝(速度相对比较慢) 循环拷贝其实没什么好说的啦,就是用一个for循环进行元素的逐个拷贝,进行深拷贝或者浅复制这个大家可以自己把握. 二.System.arraycopy(浅拷贝) 这个是系统提供的拷贝方式,也是我们推荐使用的拷贝方式,它是浅拷贝,也就是说对于非基本类型而言,它…
Python迭代器生成器与生成式 什么是迭代 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭代的初始值. 例如for循环 a = ['abc', 123, ['4', 45]] for i in a: print(i) #==========输出============= abc 123 ['4', 45] for就是把这个列表迭代了一遍,但是根据迭代的定义每一次迭代得到的结果会作为下一次迭代的初始…
Bash参考手册 目录 1简介 1.1什么是Bash? 1.2什么是shell? 2定义 3基本外壳功能 3.1 Shell语法 3.1.1外壳操作 3.1.2报价 3.1.2.1逃逸角色 3.1.2.2单引号 3.1.2.3双引号 3.1.2.4 ANSI-C引用 3.1.2.5特定于语言环境的翻译 3.1.3评论 3.2 Shell命令 3.2.1简单命令 3.2.2管道 3.2.3命令列表 3.2.4复合命令 3.2.4.1循环结构 3.2.4.2条件结构 3.2.4.3分组命令 3.2.…
最近有人问我,你做项目中用户的一个请求是怎么与struts1交互的,我说请求的url中包含了action的名字和方法名,这样就可以找到相应方法,执行并返回给用户了. 他又问,那struts1中有什么方法呢,execute:那怎么能调用到自定义的方法,在请求中指定,在struts-config.xml中配置...  接下来他疑惑了,说struts2 是可以以struts.xml中配置方法名的. 是,他说的没错,只是我没有表述清楚struts1自己定义方法的关键点. 下面具体说一下struts1中使…
1. 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能.Struts 2提供一个ActionSupport基类去实现常用的接口.即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts 2的Action. 2. 线程模式方面的对比:Struts 1 Ac…
遇到这么一个错误,想对[northwindcs]这个数据库搭建复制,从B服务器发布订阅到C服务器,采用备份还原进行初始化,但是在数据库还原时,报无法对过程‘XXX’执行删除,因为它正用于复制.表面上一看感觉有点奇怪,为什么我在还原数据库的时候会报这样的错误,还原数据库的机理是什么,怎么还存在删除某个存储过程或者视图之类的动作.但是后面“它正用于复制”给了我解决问题的思路. 通过对架构了解,B服务器上的northwindcs数据库也是从A服务器上订阅而来,采用的推送订阅,现因为A服务器是一套非常重…
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/13/251197.html 简单验证从本质上说就是在服务端来验证客户端提交的form中的数据.这种验证只是对form中的数据规则进行检查,如必须输入用户ID,价格不能小于0或是对email格式的验证.在这个验证过程中,并不需要访问数据库.因此,简单验证需要在用户提交form后,并且在服务器处理form中的数据之前进行. 在进行完简单验证后,如果form中的…
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/13/251101.html 本系列教程将详细介绍Struts 1.x的基本原理和使用方法,读者可以参阅<Struts 2系列教程>来比较Struts 1.x和Struts 2.x的相同点和不同点.    在这篇文章中将以一个简单的例子(mystruts)来演示如何使用MyEclipse来开发.运行Struts程序,并给出了解决ActionForm出现乱码问题的方法.读者可以从本文中了解…
此文转于http://www.blogjava.net/sterning/archive/2007/07/17/130892.html Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到广泛的应用.作为最成功的Web框架,Struts自然拥有众多的优点:MVC 2模型的使用.功能齐全的标志库(Tag Library).开放源代码. 但是,正所谓“没有最好,只有更好”,Struts1.x自身也有不少的缺点:需要编写的代码过多,容易引起“类爆炸”.单元测试困难.这些缺点随着…