您的位置:首页 > 编程语言 > Java开发

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

2007-01-10 10:57 302 查看
最近接触了一些脚本语言做的Web框架,发现相对于其他的动态语言,Java Web开发面临着以下几个问题。
首先就是开发效率,开发过Java Web应用的都知道,一般情况下,当我们进行了修改以后都需要进行重新的部署,这个很大程度上是因为Java Web应用一直都是基于Servlet而实现的,虽然Java的Web开发从最初的Servlet,一直到后来的Struts,Spring,模块化,灵活性可能是提高了不少,但是归根结底整个应用的实现还是围绕着Servlet走,而Servlet说白了就是一个Java类,所以,这会带来的一个问题就是,当这个Servlet被加载了以后,你根本没有办法进行程序式的卸载,唯一的办法就是重启虚拟机,这就为什么一般情况下我们修改了之后都要重启一下服务器。不过现在大部分的IDE好像都支持这种自动发布,所以,这个问题虽然不能根治,但是对于开发人员来说,好像严重性有下降的趋势。
第二个问题就是测试,做过Ruby on Rails的同仁们可能都知道,Rails提供的测试还是比较完整的,单元测试,功能测试都有,虽然我们开发的时候,不一定每个方法都测试一下,但是个人观点,有了测试,最起码你要重构起来还是相当方便的。但是在Java的Web开发里面,我们一般很少说测试,当然也不是没有,我记得我也用过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或者反射自动生成这些配置文件,虽然,从本质上说这些文件没有消失,但最起码这已经不是开发人员的事情了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: