jstl+struts+spring+ibatis

 接触Java已经有一段时间了。其中学习了不少的框架,从基本的java语法到j2ee基本都有一定的理解和认识,在做项目的时候改怎么选择框架?现在我自己的理解总结以下,以后参考。

 

 展现层:

 首先我们谈论展现层的东西,现在比较流行的就是jsp,jstl,el,strutsTag,springTag,自定义标签库等,我们在选择的时候可以选其中的任何的一种,但是比较以下这些标签的特点,我个人觉得还是选择jsp+jstl+el来做为项目的展现层比较合适,应为

  1 JSTL是J2EE规范里面有明确规定的.是一种规范。

  2 用的比较普遍,遇到问题后可以比较容易的找出解决方案。

  3 strutsTag,springTag都是开源组织自己定义的一些标签库,不易与扩展。

 控制器层:

 现在用的比较多的有struts,springMVC,jsf。个人以为struts的优先级高于spring,spring的优先级高于jsf,

    首选Struts

    其次SpringMVC

            再次JSF(最大的特点是事件驱动,一个表单可以处理多个事件。与struts的最大区别)

   业务层:

           用SpringIOC来处理业务逻辑类之间的依赖关系。把类之间的依赖交给Spring容器来处理。代码的耦合性降低。

   持久层:

            现在流行的有jdbc,Hibernate,ibatis,现在很多的项目采用struts+spring+hibernate的方式来处理,我认为在持久层的选择上面要看项目的数据库的把握能力,并且要理解这些持久层框架的优缺点,然后在选择,我认为:

           jdbc:        特定的项目(对数据库要求比较特殊的情况下用,或则,小型)

                 优点:1和数据库直接打交道 2在有些情况下执行的效率会比较高。

                 缺点:比较难维护,容易被Sql注入。

           hibernate:

                 优点:实现了对象和数据的映射(or/m)通过维护java对象来维护数据库表。

                 缺点:对数据库要求比较高,并且对数据库的支持相对简单,不能应对复杂多变的数据库环境。

           ibatis:

                 优点:对数据库支持比较好,假如你的项目组经常受到数据库小组的困扰,最好采用这个。

                 缺点:配置比较繁琐。

      先写到这吧。。。。

 

 

 

你可能感兴趣的:(spring,Hibernate,struts,ibatis,JSF)