Java开发web的几种开发模式

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持久层中数据库的操作,组成的开发方案。

出处:http://blog.csdn.net/yue7603835/article/details/7479855

Java开发web的几种开发模式相关推荐

  1. Windows Mobile开发应该选择哪种开发语言?

    Windows Mobile开发应该选择哪种开发语言?这个问题曾经被问了很多很多次,特别是打算开始学习Windows Mobile开发的朋友.Native Code or Managed Code? ...

  2. java开发平台普元_java开发平台的两种实现模式

    从目前国内主流的java开发平台看,主要有两种实现模式:引擎模式及生成源代码模式.引擎模式比较有代表性的是华丹平台(https://www.huadaninfo.com),生成源代码模式比较有名是的普 ...

  3. JAVA开发Web Service几种框架介绍

    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所 ...

  4. android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  5. java se 开发web程序_JDiy快速开发WEB之javaSE环境搭建-初级

    大学的时候对web开发很感兴趣,对网页中的动画,对用户注册,对网页中表格填写等等都倍感兴趣.加之又有专业课程编程语言java,因此,对java web产生了浓厚的兴趣,再加之有北京圣思园 风中叶 大师 ...

  6. android rom 工作,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  7. Java中BigDecimal的8种舍入模式

    http://www.blogjava.net/wangzc2001/archive/2010/12/17/340988.html

  8. 原生 APP、Web、混合 APP,三种开发模式有何不同?

    前言 原生 App 又称Native App,该开发针对 IOS.Android.Windows 等不同的手机操作系统要采用不同的语言和框架进行开发:无论是从开发难度,价格还是周期来看,原生开发都更复 ...

  9. 分享Web前端开发常用的6种编程语言及其优势!

    Web前端是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,Web前端工程师使用HTML.CSS.Java等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端.移动端网页,处 ...

最新文章

  1. html底部导航_松鼠导航 | 优质资源网站荟萃
  2. SAP SD定价技术分析
  3. java通过jdbc登陆系统_JDBC模拟登录
  4. numpy 图片填充_numpy/python中的洪水填充分割图像
  5. CS中using的使用-以FileStream写入文件为例
  6. 当SRS遇到K8s:如何实现高可用、回滚与灰度发布?
  7. ——————————
  8. MySql学习之组合查询
  9. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_3 mybatis连接池的分类
  10. bzoj 2962: 序列操作
  11. 企业文化之华为和汤森路透
  12. 惠普打印机驱动服务器系统安装教程,最简单的安装惠普1020打印机驱动的方法...
  13. 一篇文章搞定支付宝网页支付!
  14. 如何将多个excel表格合并成一个_如何把两个excel表合并成一个
  15. 05.Linux 常用命令-网络命令\关机重启命令
  16. DTMF信号系统的Matlab仿真
  17. 在centos7 下安装python3.6
  18. 不是所有产品都适合做亚马逊CPC广告
  19. 桌面级与企业级硬盘的区别
  20. ./和../以及/和~之间的区别

热门文章

  1. 研究人员通过小鼠控制光标来研究意图控制,探索更好的脑机接口使用方式
  2. 脑波的振幅、位相、分类
  3. 消费者版 Vive Trackers 正式发布,只会与 Steam 1.0 基站适配
  4. 小马智行最新RoboTaxi来了!彭军:对方向有着前所未有的笃定
  5. 计算机汉字救亡运动简史丨视频
  6. 祖传人像玩家,如何把AI秀出新高度
  7. 14岁印度裔女孩因新冠潜在疗法赢得16万奖金,通过信息学筛出病毒先导分子
  8. 电脑图标有阴影如何去除
  9. 我是怎么使用最短路径算法解决动态联动问题的
  10. JQuery+ajax+jsonp 跨域访问