1 工作原理
1.1 体系架构
图2.1 struts2.0体系架构图
1.2 工作机制
针对上节体系架构图,下面分步说明执行流程
Ø 客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
Ø 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts...
分类:
其他好文 时间:
2014-06-03 04:40:29
阅读次数:
313
在项目中有一个新增客户信息的的功能:
1、在进入添加页面:add.jsp页面之前,要调用一个add_init.do来获取省份信息列表以供在add.jsp进行选择。
2、add页面填写完成以后,提交给addCustomer.do来进行数据库的操作,
在提交之前,要进行一次表单验证,用了STRUTS2的validation。
/parkassist/ad...
分类:
其他好文 时间:
2014-06-03 04:11:19
阅读次数:
231
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?
设计目标
Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。
技术优势
Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet...
分类:
其他好文 时间:
2014-06-02 23:30:54
阅读次数:
252
OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。...
分类:
其他好文 时间:
2014-06-02 23:23:28
阅读次数:
304
java 中的内存分为四个部分:stack(栈),heap(堆),data segment, codesegment。
stack(栈):存放基本类型的数据和对象的引用,即存放局部变量。
heap(堆)存放 new 出来的东西。
data segment(数据区):分为静态区和常量区(常量池):
静态区(static segment):存放在对象中用 static 定义的静态成员(即静态变量,如果该静态变量是基本类型变量,则将变量名和值都存入静态区中,如果是引用类型则指向 new 出来的对象。
...
分类:
编程语言 时间:
2014-06-01 15:09:19
阅读次数:
348
常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。
一、为什么需要常量
如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?
(1).程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处...
分类:
编程语言 时间:
2014-06-01 14:54:48
阅读次数:
394
拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用。Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦截器的代码。
首先,我们将重点讨论一下Struts2中的拦截器的内部结构和执行顺序,并结合源码进行分析。
Interceptor结构
...
分类:
其他好文 时间:
2014-06-01 14:43:20
阅读次数:
355
看完EffectiveC++的关于转型的章节,顿时认为周围的代码都处在悬崖边上~~C的旧式转型:inta = 10; double b =
(double)a;对于C++的四种转型函数,const_cast去掉对象的常量性(仅仅此一个操作符有此功能!)dynamic_cast一般用于继承体系中某对象...
分类:
编程语言 时间:
2014-05-31 19:20:35
阅读次数:
288