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持久层中数据库的操作,组成的开发方案。
java web几种开发模式(转)的更多相关文章
- Java Web应用的开发模式
一.概述 从互联网诞生的第一天起,web从一个简单的静态页面,发展到今天五花八门.令人眼花缭乱的复杂应用,大到企业级的web应用系统,小到简单的SPA管理系统.在硬件性能提升的同时,通过各种技术实现了 ...
- java web学习总结(二十九) -------------------JavaBean的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- 《ASP.NET MVC4 WEB编程》学习笔记------Entity Framework的Database First、Model First和Code Only三种开发模式
作者:张博出处:http://yilin.cnblogs.com Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发 ...
- javaweb学习总结(二十一)——JavaWeb的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- APP的三种开发模式
转载于http://pleasureswx123.github.io/2014/09/15/APP%E7%9A%84%E4%B8%89%E7%A7%8D%E5%BC%80%E5%8F%91%E6%A8 ...
- JavaWeb学习 (二十)————JavaWeb的两种开发模式
一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示
- javaweb(二十一)——JavaWeb的两种开发模式
一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示
- javaweb基础(21)_两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- ASP.Net的两种开发模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
随机推荐
- Qt5:窗口各类位置
在Qt程序中获取窗口位置的函数有 geometry() , frameGeometry() , pos() ,x() , y()等 下面来看看这些函数的区别 还有另外两个函数 size() ...
- Apache下的FileUtils.listFiles方法简单使用技巧
一.引言 Apache提供的很多工具方法非常好用,推荐. 今天在使用的过程中使用到了org.apache.commons.io.FileUtils.listFiles方法,本文主要谈谈这个工具方法的用 ...
- 杀死进程kill和fuser
1 kill -9 id 2 不行的话使用 fuser -k -SIGHUP /opt/bre/cookiemapping/wsapi/123 fuser有一个特别的用法在于它可以一次杀死那 ...
- android4.0 的图库Gallery2代码分析(一)
最近迫于生存压力,不得不给人兼职打工.故在博文中加了个求点击的链接.麻烦有时间的博友们帮我点击一下.没时间的不用勉强啊.不过请放心,我是做技术的,肯定链接没病毒,就是我打工的淘宝店铺.嘻嘻.http: ...
- 合并BIN文件的两种方法(转)
源:http://blog.chinaunix.net/uid-20745340-id-1878803.html 合并BIN文件的两种方法 在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一 ...
- 我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库
我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库代码:SqlConnection ...
- C语言数据类型的表示范围
1.C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double) 类型 字节数 类型 字节数 char 1 short ...
- 汇总博客常见的api接口地址(windows live write)
汇总博客常见的api接口地址(windows live write) 1. cnblogs 日志地址,直接输入 http://www.cnblogs.com/xxxxx/ api接口 http://w ...
- php new self 详解(转)
self points to the class in which it is written. So, if your getInstance method is in a class name M ...
- MyEclipse使用经验归纳