1. 先后使用了Struts的1.2和2.0的两个版本,对Servlet工作机制和Web程序核心控制器有了一些心得体会。
a) 原来对Filter的理解只限于给请求和响应“进行一层包装”或“加工”,使用了Struts2后,对于Filter的作用重新进行了思考,得出了一个结论:Filter本质上是Servlet,由于在web.xml中配置的方式和编写上的不同,赋予其不同的职责。在Filter中,对于request和response对象的处理和其他Web组件中是完全一样的。正因为Filter具有处理request和response对象的功能,所以有能力被选择为核心控制器的实现对象。
b) Struts1.2和Struts2的核心内容除了转发请求,还有就是封装和加工request和response对象。处理业务的部分被独立出来由用户自己实现,框架本身应用各个组件封装对request和response对象的读写,类似于代理器,形成 “方面”,从某种意义上实现了面向方面编程。
2. 发现Javascript+DOM编程是个好东西。
a) 它可以实现任何用户体验。其中有一项功能很有用,就是可以为对象创建运行时临时属性。
b) 认为JS中把函数作为对象来管理的机制是个美妙的创意。
c) 在使用JS+DOM编程时,有一点需要注意,DOM和JS有分离的垃圾回收机制,存在DOM、JS循环引用的内存泄露问题,另外JS中的闭包也会引起内存泄露。所以,需要程序员手动进行垃圾回收。
d) 由JS+DOM编程的强大引发奇想,为何GUI程序不能采取同样的机制?同样是在屏幕上draw控件,同样是处理控件对内存的占用和回收,同样是处理控件的事件绑定,究竟是什么因素决定了GUI程序在设计上的严格和布局上的不灵活?现在Flash ActionScript3和Flex结合已经能开发出类似JS+DOM的GUI效果,并通过其虚拟机进行严格的内存控制,看来没有做不到,只有想不到。
1037

被折叠的 条评论
为什么被折叠?



