Java Web Tier开发技术世界里,你选择的、或是你喜欢的技术有哪些呢?你一定可以说得头头是道,JSP、Struts、WebWork、Tapestry、Spring MVC、JSF等等,都有一大批的拥趸,而且,在大大小小项目中,随处可见各种Java Web技术应用的影子。当然,以上各种技术间的比较在Java开发社群里也是“经久不衰”的论题,从开放性角度而言,我是觉得正是有了这么多的选择,特别是在开源社区广泛参与的大背景下,Java Web开发的世界才这么美好!“华山论剑”,各显神通!Java Web Tier开发技术世界里,你选择的、或是你喜欢的技术有哪些呢?你一定可以说得头头是道,JSP、Struts、WebWork、Tapestry、Spring MVC、JSF等等,都有一大批的拥趸,而且,在大大小小项目中,随处可见各种Java Web技术应用的影子。当然,以上各种技术间的比较在Java开发社群里也是“经久不衰”的论题,从开放性角度而言,我是觉得正是有了这么多的选择,特别是在开源社区广泛参与的大背景下,Java Web开发的世界才这么美好!“华山论剑”,各显神通!1. 我和Web开发不得不说的事1999年,我的开发方向还在于当时盛行的C/S开发领域,当时的Web开发还是ASP一家独大,平时里我也或多或少学习些,但由于实际中用不到,也没有太大兴趣(另外一方面,我也不太喜欢ASP的风格)。直到某一天,我从《电脑商情报》里看到一篇介绍PHP的文章,PHP的许多编程方式和习惯(如函数式编程)和我最熟悉的C是如此接近,顿时引起了我莫大兴趣。当时没觉得、若干年后才发现,正是机缘巧合的这么一篇文章,引领了我步入Web开发的殿堂。但当我还在期待这篇介绍PHP的文章的后继内容时(那应该是一个连载文章),不知怎地一直就没机会再看到下文了,正当我意犹未尽、略感遗憾之时,过没多久就在书店看到了第一本关于PHP 3的书籍(名称忘了),当时是毫不犹豫地买来阅读。殊不知,直到PHP发展到版本5的今天,我依然对PHP有一种难以割舍的情结,这种情结,是时间留给我的记忆,就像从Turbo C++ 2、Borland C++ 3.1步入C/C++开发者行列,对旧时Borland的那种怀念大抵相同,但Borland的情况又是另外一种情形了(我把它归结为一种“Borland情结”,再说下去就偏了,有空再另说说我的“Borland情结”)。兴趣使然,很短时间就学习完了这本PHP 3的书籍,也对Web开发有了认识和理解。过了一段时间,我买到了我的第一本JSP书籍-《网站JSP后台解决方案》,当时JSP在原生Java语言及丰富类库的直接支持下,提供了强大功能,这点和ASP、PHP的脚本编程有本质区别,更适合企业级应用(ASP要支持更复杂应用,往往要和COM技术结合),于是,我陆续学习了《Core Java 2》系列(第四版)的两本书,甚至还买了《Graphic Java 2》系列的Swing、SWT两本书籍(虽然一直用不上)。就这样,从Java语言、JSP开始,我进入了Java Web开发的世界。
解决方案 »
- struts框架下action-mapping 的问题
- jsp上赋值问题???在线等-------------------等等等等等等等等等等
- 程序报错,麻烦大家帮我看一下!,谢谢
- jsp 列表框的onchange的问题,求指教
- jsp 中如何调用dll
- JSP在虚拟连接的设置下如何读出SERVLET?
- 在resin中使用bean查询数据库不成功--9月20日结贴
- 急压!哪里有廖若雪老师编的《JSP高级编程》的原码?
- spring 中多个contextConfigLocation的关系
- response.addCookie(cookie);哪里错了??
- JSP报错,不知道提示是什么意义
- tomcat一个怪问题,不知道是哪里错误 ,大家帮个忙
熟悉程度。使用熟悉的技术,往往能把这种技术的潜力发挥到极致,即使是再新的技术,如果不熟悉,还是枉然。
技术成熟度。选择一种有口碑并经过实践验证的技术,系统的稳定型、可扩展性以及和其他技术的协作性,都很重要。
技术先进性。技术先进性是要考虑的,但技术先进性也是相对的,“老”技术也有其存在道理,甚至连Cobol都还没“绝迹”,所以只要在可接受范围,就不必太过计较是“老技术”还是“新技术”。
兴趣。这个因素应该服从上面所提到的其他因素,比如,我个人比较喜欢WebWork框架,我称之为一把好用的“妖刀”,但在实际中,我不会轻易就选择它,在大多数开发人员熟悉Struts的情况下,而Struts也适合,那就应该选择Struts。但你完全可以把你感兴趣的技术作为个人爱好来研究、学习。
把握以上原则,应该可以作出选择。要着重说明的是,对于新技术,应该了解和学习,做好迎接新技术的准备(有趣的是,现在一些好的、新的实践和尝试,往往先由开源项目开始),但新技术的广泛应用是滞后于它的推出时间的,比如EJB 3;另外,毕竟从知识的积累、工具产品的支持、应用的稳定性、原有系统的良好运作等方面考虑,实用、好用的原则很重要!一个技术是否会败落,取决的因素很多,但从另一方面来看,一种技术的生命力往往是很强的,如C,在金融、证券、电信等行业的关键业务处理中,占据了重要位置;再如Struts 1.X,虽然它的一些理念和当今新的一些框架相比,略显落后,但其已经得到相当规模的应用,就是在Struts 2面前,它在应用中的地位也不容忽略。开源模式加速了技术发展,技术发展让我们不断进步,就Java Web开发技术来说,做好选择是必然,深入掌握好一种技术,再尝试其他类似技术,大多情况下,可以做到触类旁通。可以说,随着SUN一系列Java开源策略的出台,开源社区在包括Java Web技术在内的Java诸多技术领域里的贡献将变得越来越多,影响力也会越来越大,Java也将在开源力量的帮助下,进一步巩固其在企业级应用开发领域的霸主地位。4. Java Web开发趋势从前面可以看出,Java Web开发技术的发展趋势仍然是多元化发展。其中的任何一种技术,都有其优、缺点,如Tapestry是一种组件式框架,功能强大,但学习曲线陡;JSF也是一种组件式框架,而且又是Java EE的标准之一,但仍不够成熟。在Java Web开发领域,“理性分析,合理运用” - 这是正道。纵观2006,Java Web开发技术的发展脚步一刻也没减缓:Java EE 5正式发布(JSF版本为1.2,JSP版本为2.1);Tapestry 4.0正式发布;Spring 2正式发布;Struts 2正在努力打造中,并发布了2.0.1 BETA版。就我自己的看法,2006年Java界最重要的事件绝对是Java开源!其意义必重大、影响定深远!随着Java开源,开源社区已是“就等东风来”,有关Java的各种技术和应用,在增添了开源魔力的魔棒的挥舞间,终会是精彩纷呈。期待2007,Java Web开源世界美好依旧!并完全有理由相信会继续得以发展。作为Java Web开发者,以下几点是值得你注意的:AJAX支持将更成熟。在Web 2.0浪潮里,谁也不能忽视AJAX技术,各种Java Web开发技术仍会不遗余力地处理好AJAX需求,在2007年,不应该再出现“AJAX是不是过渡技术”之类的争论了,能争论的应该都争论了吧?
Java EE 5的应用会有所推广,但广泛应用还要依赖WebSphere、Weblogic等等第三方产品或环境的支持力度。EJB 3确实有些吸引人;JSF嘛,真的不知道,爱也罢、恨也罢,走好自己的路,让别人去说去吧。
各种Java Web框架继续推陈出新!喜欢新鲜事物的开发者,特别是Struts开发者,好好留意下Struts 2。
SOA。不管你用不用得上,也好好留意下。开发者不能只是局限于Java Web开发技术,应该不断拓宽自己的视野。
Java开源后的影响。到底会有哪些影响和变化?让时间来告诉我们吧。
Java SE 6。Java SE 6在2006年末正式发布,我始终觉得Java SE 5的发布比版本6来得更有意义,但不管怎样,好好研究Java SE 6的新特性,是应该的。
简化开发。Java Web开发技术的功能越来越强大,使用越来越复杂,学习曲线越来越陡,在2007年里,谁能在功能强大和简化开发两者间实现最佳平衡方式?至少对于我来说,值得关注。
开源。总之,开源,还是开源!
“两岸猿声啼不住,轻舟已过万重山”,Java Web开发技术在开源动力的牵引下,过的“山”已是不计其数。乘着开源轻舟,继续远航。
作者:Lu Junxiang
转载:http://lujunxiang.itpub.net/post/26894/246895
郁闷呀
支持楼主。。
支持楼主。。