Java Web 框架需要解决的几个问题

最近接触了一些脚本语言做的Web框架,发现相对于其他的动态语言,Java Web开发面临着以下几个问题。

首先就是开发效率,开发过Java Web应用的都知道,一般情况下,当我们进行了修改以后都需要进行重新的部署,这个很大程度上是因为Java Web应用一直都是基于Servlet而实现的,虽然JavaWeb开发从最初的Servlet,一直到后来的StrutsSpring,模块化,灵活性可能是提高了不少,但是归根结底整个应用的实现还是围绕着Servlet走,而Servlet说白了就是一个Java类,所以,这会带来的一个问题就是,当这个Servlet被加载了以后,你根本没有办法进行程序式的卸载,唯一的办法就是重启虚拟机,这就为什么一般情况下我们修改了之后都要重启一下服务器。不过现在大部分的IDE好像都支持这种自动发布,所以,这个问题虽然不能根治,但是对于开发人员来说,好像严重性有下降的趋势。

第二个问题就是测试,做过Ruby on Rails的同仁们可能都知道,Rails提供的测试还是比较完整的,单元测试,功能测试都有,虽然我们开发的时候,不一定每个方法都测试一下,但是个人观点,有了测试,最起码你要重构起来还是相当方便的。但是在JavaWeb开发里面,我们一般很少说测试,当然也不是没有,我记得我也用过HttpUnit之类的工具来测试,但是效果跟易用性对比于Rails还是相差比较明显的,我觉得这主要是因为动态语言的Web框架一般都会自备一个服务器,这样的好处就是,服务器的代码对于框架的其他部分来说,就是一个白盒了,要获取状态之类都比较方便。但一般的Java Web开发,我们基本上都是在Tomcat上面跑,Tomcat对于Web框架而言,就是一个大黑盒,所以,测起应用来,总是有一种隔靴搔痒的感觉。

第三个问题就是配置文件太多,最开始我们做Web开发的时候可能只要配一个web.xml就完事了,但是后面出来的框架,为了灵活性,就整了一堆的配置文件给我们,有的用来配URL Mapping,有的用来做O/R mapping。所以,学习框架,就是学习怎么写不同的配置文件。在我看来,不管是什么样的Web开发,要做的无非就是那么几件事,第一个就是URL Mapping,就是把URL映射到对应的处理单元。然后就是做O/R mapping,如果不带数据库,那么这步还可以省了。最后一个就是怎么生成HTML,不管你是用标签好,在页面中嵌代码也好,做的就是这么一个事。现在大部分框架要配的,也就是这几个。但是很多东西其实可以很简单的,例如Django用正则表达式,就可以把mapping做完,RoR根据一定的默认规则也可以把绝大部分的问题解决。幸好,现在大部分的Java Web框架好像也开始往精简这些配置文件方向走了,他们利用Annotation或者反射自动生成这些配置文件,虽然,从本质上说这些文件没有消失,但最起码这已经不是开发人员的事情了。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值