- 浏览: 717066 次
- 性别:
- 来自: 上海
最新评论
-
A741841403:
附件怎么看不到了呢?
介绍一个PDF的生成方案 -
chunguang_yao:
写得非常好
《Struts2技术内幕》 新书部分篇章连载(一)—— 如何学习开源框架 -
su_chunlong:
rrredriver 写道极赞的文章,感谢楼主!有一个问题想请 ...
SpringMVC深度探险(三) —— DispatcherServlet与初始化主线 -
qq_32671287:
...
SpringMVC深度探险(一) —— SpringMVC前传 -
shenghuorulan:
看的好爽,可不可以这么笼统的概括一个框架的学习过程1,框架要解 ...
SpringMVC深度探险(二) —— SpringMVC概览
文章列表
我的新书《Struts2技术内幕》终于上市了。
china-pub地址:http://product.china-pub.com/198891
当当网地址:http://product.dangdang.com/product.aspx?product_id=22577578
京东地址:http://book.360buy.com/10898511.html
卓越地址:http://www.amazon.cn/Struts2%E6%8A%80%E6% ...
本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1389285。
在上一篇文章中,我们从DispatcherServlet谈起,最终为读者详细分析了SpringMVC的初始化主线的全部过程。整个初始化主线的研究, ...
本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1341459。
在上一篇文章中,我们给出了构成SpringMVC应用程序的三要素以及三要素的设计过程。让我们来归纳一下整个设计过程中的一些要点:
SpringMVC将Http处理流程抽象为一个又一个处理单元
SpringMVC定义了一系列组件(接口)与所有的处理单元对应起来
SpringMVC由DispatcherServlet贯穿始终,并将所有的组件串联起来
在整个过程中,组件和DispatcherServlet总是维持着一个相互支撑的关系:
Dis ...
本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330596。
对于任何事物的研究,总是由表及里、由浅入深地进行。在本系列的第二篇文章中,我们将通过不同的观察视角,对SpringMVC做一些概要性的分析,帮助大家了解SpringMVC的基本构成要素、SpringMVC的发展历程以及SpringMVC的设计原则。
SpringMVC的构成要素
了解一个框架的首要任务就是搞清楚这个框架的基本构成要素。当然,这里所说的构成要素实际上还可以被挖掘为两个不同的层次:
基于框架所编写的应用程序的构成要素
框架自 ...
第7章 别具匠心 —— XWork设计原理
7.3 XWork概览
在了解了数据流和控制流的来龙去脉之后,我们再来看看XWork中实现这两大核心驱动力的编程元素以及它们之间的调用关系。相信有了之前所有的概念做铺垫,无论是XWork的宏观视 ...
第6章 灵丹妙药 —— OGNL,数据流转的催化剂
6.2 强大的OGNL
OGNL (Object Graph Navigation Language) 是一个开源的表达式引擎。通过使用OGNL,我们能够通过表达式存取Java对象树中的任意属性和调用Java对象树的方法等。也就是说,如果 ...
第5章 生命之源 —— XWork中的容器
对象的生命周期管理在基于面向对象的编程语言中是一个永恒的话题。从语法上讲,面向对象的高级编程语言都是以“对象”为中心的。而对象之间的继承关系、嵌套引用关系所形成的对象树结构为我们进行对象级别的逻辑操作提供了足够的语法支持。但这样一来,对象之间所形成的复杂关系也就为对象生命周期的管理带来了问题:
在程序的运行期,我们如何创建我们所需要的对象?
当我们创建一个新的对象时,如何保证与这个对象所关联的依赖关系(其关联对象)也能够被正确地创建出来呢?
这两大问题不仅是面向对象的编程语言中的核心问题,也是每个框架在进行设计时必须跨越的坎。因而,业界对于这样类 ...
本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330537
在我们熟知的建立在三层结构(表示层、业务逻辑层、持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多。因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷。
笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论。事实上,每一种解决方案都有着自身独有的存在价值和历史背景。如果单单从某一个方面或者某几个方面去看一个框架,那么评论难免有失偏颇。
所以 ...
hantsy 写道
在 Webwork 合并到Apache Struts项目,曾经对它的期望很大,后来使用后才知道失望更多。
直到现在,Struts2 一个最基本的问题就是对Java标准响应太慢。
这个和Struts2自身的设计有很大的关系。对于一个高度解耦的系统来说,对于Java标准的响应,Struts2全部都理解为可以以Plugin的形式插入到主系统。因此,Struts2对于其核心运行平台的技术升级始终步子迈的不够大。
hantsy 写道
1. 2.X 对Annotation的支持,比 Spring MVC 晚了至少 2年了。相对 Spring MVC,Stripes等框架,Stru ...
第4章 源头活水 —— Struts2中的设计模式
设计模式(Design pattern)是经过程序员反复实践后形成的一套代码设计经验的总结。设计模式随着编程语言的发展,也由最初的“编程惯例”逐步发展成为被反复使用、并为绝大多数程序 ...
第2章 固本清源 —— Web开发浅谈
2.2 框架的本质
什么是框架?框架从何而来?为什么要使用框架?这是一系列简单而又复杂的问题。简单,是因为它们本身似乎不应该成为问题。框架实实在在存在,并且在开发中发挥着重要的 ...
此文接我另外一篇博客:新书上市:《Struts2技术内幕》
虽然我的《Struts2技术内幕》洋洋洒洒写了快400页,不过回过头来看,废话和败笔所占的篇幅应该不到1/3,总算对读者有一番交代。从另一个角度说,有关Struts2和Web开发这个话题,值得讨论的地方还很多。
在书的第二章中,我列出了6个Web开发中的主要问题:
1. 当浏览器发送一个Http请求,Web容器是如何接收这个请求并指定相应的Java类来执行业务逻辑并返回处理结果的?
2. Web应用是典型的“请求-响应”模式的应用,数据是如何顺利流转于浏览器和Java世界之间的?面对Http协议与Java世界数据形式的不匹配性, ...
由于本书尚未出版,我在这里只能给出部分样章供大家参考。
《Struts2技术内幕》 新书部分篇章连载(一)
《Struts2技术内幕》 新书部分篇章连载(二)
《Struts2技术内幕》 新书部分篇章连载(三)
《Struts2技术内幕》 新书部 ...
9.2核心分发器 —— Dispatcher
9.2.1 核心分发器(Dispatcher)的核心驱动作用
Dispatcher之所以被称之为Struts2的核心分发器,主要是基于它在整个Struts2框架中的特殊地位。我们经常会使用“起-承-转-合”这4个不同的阶段来描述一个事 ...
第7章 别具匠心 —— XWork设计原理
众所周知,现代电子计算机由5大部件组成:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器合称CPU,是计算机中最为核心的部分。如果我们把整个Struts2框架比作是一个计算机,那么XWork则是Struts2框架中的CPU,是Struts2运行机制的核心。
那么,XWork到底是一个什么样的开发框架呢?我们曾经在本书的第三章中对XWork框架有一个初步的介绍:
引用
XWork is a command-pattern framework that is used to power Struts 2 as well as othe ...