`
downpour
  • 浏览: 717109 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
00a07ae5-264f-3774-8903-8ad88ce08cb0
Struts2技术内幕
浏览量:117833
4d8508f2-c0dd-3df8-9483-04cc612afbbc
SpringMVC深度探险...
浏览量:230596
社区版块
存档分类
最新评论

《Struts2技术内幕》自评 —— 尚未完成的话题

阅读更多
此文接我另外一篇博客:新书上市:《Struts2技术内幕》

虽然我的《Struts2技术内幕》洋洋洒洒写了快400页,不过回过头来看,废话和败笔所占的篇幅应该不到1/3,总算对读者有一番交代。从另一个角度说,有关Struts2和Web开发这个话题,值得讨论的地方还很多。

在书的第二章中,我列出了6个Web开发中的主要问题:

1. 当浏览器发送一个Http请求,Web容器是如何接收这个请求并指定相应的Java类来执行业务逻辑并返回处理结果的?

2. Web应用是典型的“请求-响应”模式的应用,数据是如何顺利流转于浏览器和Java世界之间的?面对Http协议与Java世界数据形式的不匹配性,我们如何在流转时能够做到数据类型的自动转化?

3. Web容器是一个典型的多线程环境,针对每个Http请求,Web容器的线程池会分配一个特定的线程进行处理。那么如何保证在多线程环境下,处理请求的Java类是线程安全的对象?如何保证数据的流转和访问都是线程安全的?

4. Controller层作为MVC的核心控制器,如何能够在最大程度上支持功能点上的扩展?

5. View层的表现形式总是多种多样的,随着Web开发技术的不断发展,MVC如何在框架级别提供一种完全透明的方式来应对不同的视图表现形式?

6. MVC模式虽然很直观地为我们规定了表示层的各种元素,但是如何通过某种机制把将这些元素有机整合在一起,从而成为一个整体呢?


这6个问题的概括,对于Web开发的思考角度是完全不同的。在后来的章节中,其中的部分问题,我已经结合Struts2给出了一个解决方案;而其中的部分问题,我却没有详细展开。算是书中的另外一个遗憾。

造成这一遗憾的原因很多。我在整本书完成以后,也从整体的角度考虑了这一问题,大概归纳了有这么几条:

1. Struts2作为一个表示层的框架,它对于表示层所提出的解决方案受到历史传统的深刻影响,因而它无法在某些问题上形成突破。

这一点,在Struts2始终秉承着以XML为核心配置元素上显得尤为突出。在JDK1.5广泛流行之后,Struts2似乎也不愿意在XML和Annotation之间的大战中做出任何让步。

2. Struts2所提出的编程模型比较独树一帜,导致了它与其他MVC框架之间的发展道路和发展轨迹也完全不同。

正因为发展道路和发展轨迹完全不同,所以一旦底层的XWork模型不发生质的改变,Struts2的发展也不会非常活跃。而发展轨迹的不同,也导致其发展始终无法和其他的MVC框架形成正面竞争。因为既然基础都不一样,比较起来有时候就失去了意义。

3. 由于书的主题比较鲜明,所以无法从更广的角度来谈很多问题。

没有一个解决方案是绝对完美的,Struts2也不例外。不过由于书本身有一个主题,所以任何话题都不能过于偏离书的本身。这就导致了我在评论某些设计理念时,不能将某些话题延续得更深。

所以,我也在考虑规划我的下一本书的内容。选取另外一个MVC框架中的翘楚SpringMVC作为主题,并且将Struts2和SpringMVC做一个深度的比较,探寻Web开发的最佳实践。

我将在接下来的时间陆续在博客上发布一系列有关SpringMVC的文章,敬请期待。
17
8
分享到:
评论
9 楼 DEMONU 2014-03-13  
NB0000
8 楼 jasshine 2012-10-21  
jasshine 写道
Technoboy 写道
书的前75页,可以不要。
技术内幕,应该更深层次的技术探索,而非基础介绍。

所有更深层次的技术,都是以基础为辅。。
我觉得前面的基础讲的很好,至少对对象又有不同的理解了。。

7 楼 jasshine 2012-10-21  
Technoboy 写道
书的前75页,可以不要。
技术内幕,应该更深层次的技术探索,而非基础介绍。

所有更深层次的技术,都是一技术为辅。。
我觉得前面的基础讲的很好,至少对对象又有不同的理解了。。
6 楼 Technoboy 2012-10-17  
书的前75页,可以不要。
技术内幕,应该更深层次的技术探索,而非基础介绍。
5 楼 mlc880926 2012-01-02  
都2号了,怎么还是没货啊
4 楼 avi2 2011-12-31  
jyjava 写道
大哥,你给的答案呢

你可以买书看答案
3 楼 inotgaoshou 2011-12-30  
支持
2 楼 jyjava 2011-12-30  
大哥,你给的答案呢
1 楼 Rhain 2011-12-30  
期待下一篇的博文!

相关推荐

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    要深入学习和掌握Struts2,建议阅读官方文档,参与实际项目实践,也可以参考相关的技术书籍和教程,例如《Struts2技术内幕——深入解析Struts2架构设计与实现原理》等资源,来提升对Struts2框架的全面理解。

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》结合提供的《struts2基础.chm》资料,为我们提供了深入理解Struts2内部机制的机会。 首先,Struts2的核心在于它的拦截器(Interceptor)机制。拦截器...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理.pdf

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...

    Struts2 技术内幕——深入解析Struts2架构设计.pdf.zip

    "Struts2 技术内幕——深入解析Struts2架构设计"这本书深入探讨了Struts2的核心机制和设计理念,帮助开发者更好地理解和应用这个框架。 Struts2的核心组件包括Action、Interceptor、Result和Configuration。Action...

    struts2 技术内幕——深入解析struts2架构设计

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。  本书以Struts2的...

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理.zip

    这本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》深入探讨了Struts2的核心机制和设计理念,旨在帮助开发者更好地理解和运用这个框架。 首先,Struts2的出现是为了解决Struts1在MVC模式中的局限性,...

    Struts2技术内幕.pdf

     本书以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,本书...

    struts2技术内幕

    struts2技术内幕

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...

    Struts2技术内幕 权威指南

    《Struts2技术内幕 权威指南》是一本深入探讨Struts2框架的书籍,涵盖了该框架的核心概念、设计模式以及最佳实践。书中可能包含了以下几个关键知识点: 1. **Struts2架构**:Struts2的核心架构基于拦截器...

    Struts2技术内幕 深入解析Struts架构设计与实现原理

    ### Struts2技术内幕:深入解析Struts架构设计与实现原理 #### Struts2概述 Struts2是Apache Software Foundation支持的一个开源项目,它是Struts1的下一代版本,继承了Struits1的优点,并在此基础上进行了大量的...

    Struts2系列(一)——永远的HelloWorld

    现在,创建对应的Action类`HelloWorldAction.java`,它需要继承自Struts2的ActionSupport类: ```java package com.example; import org.apache.struts2.interceptor.MessageStoreInterceptor; import ...

    struts2+hibernate整合例子——新闻管理系统

    总结来说,"struts2+hibernate整合例子——新闻管理系统"是一个典型的Java Web应用示例,展示了如何利用Struts2的MVC模式和Hibernate的ORM能力,实现对新闻数据的CRUD操作及高级查询。这个系统可能包含了Action类、...

    Struts2技术内幕:深入解析Struts架构设计与实现原理

    资源名称:Struts2技术内幕:深入解析Struts架构设计与实现原理内容简介:本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。...

Global site tag (gtag.js) - Google Analytics