<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
2002年初,Java服务器端技术正处于塑型阶段,MVC作为一种架构模式,正逐渐开始在众多技术人员的大脑中蔓延。此时,Apache Struts在合适的时间出现,从而逐渐发展成为Java Web MVC框架事实上的标准。
关于Struts,还有点心酸往事……
时值Struts 0.9版本发布之时,我正忙于设计公司新一代产品平台框架,期间也在参考Struts的设计思想(是时Struts尚未流行,各个公司往往拥有自己的框架实现)。
与此同时,我邻位的一个新同事,23岁的印度小伙Pilesh,摩拳擦掌正准备大干一番,这个刚刚离开自己祖国的年轻人无疑充满了干劲,每到午餐时间都是以最快的速度冲到楼下,买一份印度餐,用油纸裹着端回工位(大致上是用米饭,拌上一些蔬菜和牛肉,最后浇上咖喱汁,然后倒在一张大号油纸上,再包起来,用细绳扎好作为外卖),一边用手捏着塞入嘴中,一边嘟嘟囔囔的用肘部移动鼠标,研究屏幕上花花绿绿的代码。
一天早上,我刚到公司,Pilesh立即凑过来,兴奋的对我说:
P:“Hi,Kevin,Do you know Struts?”
K:“Yup,a MVC framework,then?”
P:“I will use it in my project. How do you think about it?”
K:“e…,good,do you have some experience in Struts development?”
P:“No! But I will have!”
看到他身边字纸篓里的两团油纸,和屏幕上闪动的Struts源码,通宵熬夜之后,Pilesh显然已经被Struts的设计思想所深深吸引……
心酸的回忆也正由此开始。
随着新项目的开始,Pilesh似乎明显不如之前活跃,上班时我甚至发现自己工位上的字纸篓也塞满包裹外卖的油纸。Pilesh总是歉然一笑,指着自己那个已经被可乐瓶和油纸塞满的字纸篓耸耸肩。
身为一个IT技术人员,笔者也早已经将熬夜置之度外,遂惺惺相惜,一笑了之….
时间过去了一个多月,Pilesh还是像以前那样匆忙,样子有点憔悴。
终于有一天,Boss找到了我,
B:“How do you think about Pilesh?”
K:“Oh,good,a nice guy!”
B:“yup…but do you think we need him?”
K:“e….sorry, I can't understand….”
B:“Our Project had exceed the deadline for about 10 days,but Pilesh still can not give out even a demo”
K:“……”
B:“Sorry, I only wanna tell you ,he will be fired……”
两天之后,另外一个印度同事Pardeep接替了Pilesh的位置,以及他未能完成的项目……
P:“Hi,Kevin”
K:“yeah?”
P:“The project is based on the struts framework?”
K:“yup!”
P:“But I am not familiar with it, then…?”
K:“oh……then……”
K:“Forget it”
最后这句“Forget it”,无奈中包含着一点发泄的情绪。
急于在项目中引入自己并不非常熟悉的新技术。这是缺乏经验的程序员最容易犯下的、最致命、同时也可能是最无辜的错误。
Pilesh恰恰犯下了这个错误。他坚信引入Struts可以提高开发效率,减少开发时间,从而错误的估计了项目进度,殊不知任何技术对生产率的促进,都是在生产者充分掌握了这门技术的基础之上。
另外,过于争强好胜,羞于向别人请教。这个项目只是个微型项目。因而管理层并不是非常关注。每每在例会上稍加询问, Pilesh也只报喜不报忧,导致项目最终失控,由于这样一个小项目,却使得一个大客户对公司的满意度大幅下降,从而也导致后来管理层对他采取的措施较为激烈。而另一方面,公司在这个项目的项目管理和跟踪上也是一个失败的典型,几乎没有任何实质的管理措施。
之后,此事也常常被我用作警戒自己和团队成员的一个案例。
后来与Pilesh再会,是在我即将回国前夕。为了买一条印度纱丽作为纪念,我跑到一个印度人聚居区的杂货市场,正在闲逛之时,突然看到Pilesh,正在路边一家餐厅里熟练的翻烤着一片片薄饼,不错,肯定是他……
不知后来又发生了怎样的事情,让他如此落魄。
烟熏火燎的脸上,看不出一点程序员特有的沉默宁静的表情。
兔死狐悲,曾经朝夕相处的同事,沦落到街头烤饼,纵使看了蔡学庸的“程序员烤香鸡排”一文的苦笑自嘲,真实的事情发生在身边,也不免有点感触,而Struts由于与此事相关,也成为了灰色回忆中的一个部分。这也是后来我在自己负责的项目中,从未采用过Struts进行正式开发的主要原因。
相关推荐
Struts 2整合Struts 1,允许开发者利用Struts 1已有的投资,同时享受Struts 2带来的优势,如增强的类型安全和更强大的拦截器机制。 在《Struts 2权威指南--基于WebWork核心的MVC开发》这本书中,作者李纲深入浅出地...
Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...
Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...
struts-config.xml struts标准配置文件 struts-config
Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...
北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...
Struts是Apache软件基金会下的一个开源项目,主要提供MVC(Model-View-Controller)设计模式的实现,用于简化Java Web应用的开发。Struts1和Struts2是两个不同的版本,它们各自拥有独特的特性和功能,但在Java Web...
Struts是Apache软件基金会下的一个开源项目,提供了一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个压缩包包含了Struts 1.3.10和Struts 2.0.14两个版本,它们分别代表了Struts框架的发展...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
Struts1和Struts2是两个著名的MVC框架,它们都是Apache软件基金会的Apache Struts项目的一部分,用于构建基于Java的Web应用程序。然而,两者在设计和实现上有显著的差异。 1. **架构模式的区别** - **Struts1.x** ...
Struts-config详解 Struts-config.xml 是Struts框架的核心配置文件,它描述了所有的Struts组件。在这个文件中,我们可以配置主要的组件及次要的组件。下面是struts-config.xml文件的主要元素: 一、struts-config....
该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...
Struts是一个开源的Java Web应用程序框架,主要用于构建MVC(Model-View-Controller)模式的Web应用。在Java EE世界中,Struts扮演着至关重要的角色,它简化了开发过程,提高了代码的可维护性和可扩展性。SSH框架是...
Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...
Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...
Struts1.2驱动包是Java Web开发中一个重要的组件,它是Apache Struts框架的特定版本,用于支持基于Model-View-Controller (MVC)设计模式的应用程序开发。Struts1.2因其稳定性和广泛的功能集而在过去备受推崇,尤其在...
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的...struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)