Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考。除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不列举了。

JSP+JAVABEAN开发模式:
    特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可调试性和维护性。
    缺点:页面将控制与显示集于一身。
    结论:简单,适合小型项目的快速构建与运行。

JSP+Servlet+JavaBean开发模式:
    特点:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式。
    缺点:没有统一的开发框架导致开发周期长。

Struts开发方案:
    特点:成熟的MVC开发框架。
    构成:控制器:ActionServlet 组件:Struts框架的中央控制器。
                  RequestProcessor 组件:每个子模块都具有的请求处理器。
                  Action 组件:业务代理,它将调用模型进行一项具体的业务逻辑处理。
              视图:主要由JSP页面构成
                        还包括HTML文档;标准标签库(JSTL)和Struts标签库;
                        JavaScript脚本和CSS样式;
                        多媒体文件;
                        消息资源文件;
                        ActionForm类。
              模式:通常在Structs中使用其他模型组建来实现业务逻辑。
                       如:JavaBean技术、EJB技术、Hibernates设计模式。
结论:对于一些大型的项目,Struts框架会提高开发效率,并对后期的维护有很大好处。

Spring开发方案:
    特点:拥有IOC和AOP两种先进的技术为基础,完美的简化了企业级开发的复杂度,
             是一个理想的Web程序框架。
    构成:核心模块:实现了IOC模式,包含BeanFactory类负责对JavaBean的配置与管理。
             上下文模块:继承BeanFactory类,
                                添加了事件处理、国际化、资源装载、透明装载以及数据校验等功能,
                                提供了框架式的Bean访问方式和很多企业级功能。
                                如:JNDI访问、支持EJB、远程调用、继承模板框架、E-mail和定时任务调度等。
              AOP模块:提供了用标准Java语言编写的AOP框架,
                               使应用程序抛开EJB的复杂性,但拥有传统EJB的关键功能。
              DAO模块:提供了JDBC的抽象层,并且提供了对声明式事物和编程式事务的支持。
              Web模块:建立在上下文模块基础之上,提供了Servlet监听器的Context和Web应用的上下文。
                               对现有的Web框架如:JSF、Tapestry、Struts等提供了集成。
              O/R映射模块:提供了对现有ORM框架的支持如Hibernate。
              Spring MVC框架:建立在核心模块之上,嫩够适应于多种多视图、模板技术、国际化和验证服务,
                                           实现控制逻辑和业务逻辑清晰的分离。

Struts+HIbernate开发方案:
    特点:利用Struts的MVC设计模式,与Hibernate持久化对象组成的开发方案。

Struts+Spring+Hibernate开发方案:
    特点:Struts负责表示层,
              Spring负责逻辑层的业务,
              Hibernate持久层中数据库的操作,组成的开发方案。

java经典开发模式的更多相关文章

  1. Java Web开发模式

    一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技 ...

  2. java web 开发模式

    1.Model1 javaBean+jsp:jsp直接操作数据库,不安全,开发维护复杂 2.Model2:MVC 原理:把Model1的操作javaBean操作抽取为控制层 实现:控制层使用servl ...

  3. [Java Web整合开发王者归来·刘京华] 1、 Java Web开发

      目录: 1.Web技术简介 2.动态网站与静态网站 3.Java Web开发模式 4.JavaScript简介 1.Web技术简介 PS: 最近还有更凶残的技术,即整个操作系统都是基于Web的,如 ...

  4. java 开发模式

    Java-开发模式 Java Web开发方案有多种,这里列举一些经典的开发模式进行横向比较JSP+JAVABEAN开发模式:    特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可 ...

  5. Java开发web的几种开发模式

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不 ...

  6. Java Web应用的开发模式

    一.概述 从互联网诞生的第一天起,web从一个简单的静态页面,发展到今天五花八门.令人眼花缭乱的复杂应用,大到企业级的web应用系统,小到简单的SPA管理系统.在硬件性能提升的同时,通过各种技术实现了 ...

  7. java web几种开发模式(转)

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket)并不了解,这里就不列举 ...

  8. Java经典设计模式之十一种行为型模式(附实例和详解)

    Java经典设计模式共有21中,分为三大类:创建型模式(5种).结构型模式(7种)和行为型模式(11种). 本文主要讲行为型模式,创建型模式和结构型模式可以看博主的另外两篇文章:Java经典设计模式之 ...

  9. Java经典设计模式之十一种行为型模式

    转载: Java经典设计模式之十一种行为型模式 Java经典设计模式共有21中,分为三大类:创建型模式(5种).结构型模式(7种)和行为型模式(11种). 本文主要讲行为型模式,创建型模式和结构型模式 ...

随机推荐

  1. Quartz教程

    Quartz教程   Quartz教程四--Trigger介绍 Quartz教程八--SchedulerListener 08-24 Quartz教程七--TriggerListener和JobLis ...

  2. 深入浅出spring IOC中三种依赖注入方式

    深入浅出spring IOC中三种依赖注入方式 spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和 ...

  3. ThreadCachedInt

    folly/ThreadCachedInt.h High-performance atomic increment using thread caching. folly/ThreadCachedIn ...

  4. WCF传输大数据 --断点续传(upload、download)

    using System; using System.IO; using System.Runtime.Serialization; using System.ServiceModel; namesp ...

  5. 25.OGNL与ValueStack(VS)-集合对象进阶

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 首先在LoginAction中增加如下字段并提供相应的get/set方法: ...

  6. Android bitmap转byte

    逆转start协议输出 private static byte[] bitmap2byte(Bitmap bmp) throws Exception{ return bitmap2byte(bmp, ...

  7. JSF - Access Managed-Bean in a servlet

    When you have to access your Managed Bean in a servlet, it depends on the scope you set for the Bean ...

  8. epoll用法【整理】

    l  epoll是什么? epoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,都是I/O多路复用(IO multiplex ...

  9. LUA中相同签名函数覆盖

    function test() print('test')end function test() print('test22222')end test() --输出test2222

  10. eclipse双击变量高亮显示开关

    在eclipse/myeclipse中如果不小心把变量的高亮显示弄丢了.可真是件愁人的事,不过看到这你就不用愁了 windows->   preferences-> java-> E ...