zoukankan      html  css  js  c++  java
  • JavaWeb的几种设计模式

    原文:http://blog.csdn.net/yue7603835/article/details/7479855

    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注解的介绍和反射使用
    功能:@Vaild注解使用及扩展
    转载:微信小程序view布局
    功能:Java8新特性steam流
    功能:Linux运行jar包Shell脚本
    转载:Windows使用tail -f 监控文件
    转载:java.math.BigDecimal 比较大小
    问题:跨域及解决方案
    基于 @SelectProvider 注解实现无侵入的通用Dao
    SpringBoot中的异步操作与线程池
  • 原文地址:https://www.cnblogs.com/blog-yuesheng521/p/7211184.html
Copyright © 2011-2022 走看看