B/S计算模式的3层架构:
软件设计与开发模式的演化
- 面向机器语言的开发模式
- 软件的生命周期开发模式
- 需求分析
- 系统设计
- 系统开发
- 系统测试
- 运行和维护
- 原型法开发模式
- 面向组件(Component)的开发模式
- OOP模式
- 面向服务模式(SOA)
Java与XML的关系
java实现了代码的平台无关性,而XML实现了数据的平台无关性。
JSP执行的3个条件
JSP引擎、Java编译器、JVM
JSP的运行机制
JSP程序的开发模式:
- 单纯的JSP编程:java代码与html代码混合在一起。现实和数据处理放在一个页面中;
- Model 1模型(JSP+JavaBean):将要进行的业务逻辑封装到JavaBeans中,在JSP页面中通过动作标签来调用这个类,从而执行这个业务逻辑。此时的JSP除了负责部分流程的控制外,大部分用来显示页面,而JavaBean则负责业务逻辑的处理。其流程图如下图所示:
- JSP+Servlet+JavaBean: JSP+JavaBean设计模式虽然已经将网站的业务逻辑和显示页面进行分离,但这种模式下的JSP不但要进行程序中大部分的流程控制,而且还要负责页面的显示,所以仍然不是一种理想的设计模式。在JSP+JavaBean设计模式的基础上加入Servlet来实现程序中的控制层,是一个很好的选择。在这种模式中,由Servlet来执行业务逻辑并负责程序的流程控制,JavaBean组件实现业务逻辑,充当着模型的角色,JSP用于页面的显示。其流程图如下所示:
-
但JSP+Servlet+JavaBean模式同样也存在缺点。该模式遵循了MVC设计模式,MVC只是一个抽象的设计概念,它将待开发的应用程序分解为三个独立的部分:模型(Model)、视图(View)和控制器(Controller)。虽然用来实现MVC设计模式的技术可能都是相同的,但各公司都有自己的MVC架构。即这些公司用来实现自己的MVC架构所应用的技术可能都是JSP、Servlet与JavaBean,但他们的流程及设计却是不同的,所以工程师需要花更多的时间去了解。从项目的开发观点上来说,因为需要设计MVC各对象之间的数据交换格式与方法,所以会需要花费更多的时间在系统的设计上。 使用JSP+Servlet+JavaBean模式进行项目开发时,可以选择一个实现了MVC模式的现成的框架,在此下进行开发,大大节省了开发时间,会取得事半功倍的效果。目前已有很多可以使用的现成的MVC框架,例如Struts框架。
MVC模式
MVC(Model-View-Controller,模型—视图—控制器)是一种程序设计概念,它同时适用于简单的和复杂的程序。使用该模式可将待开发的应用程序分解为3个独立的部分:模型、视图和控制器。提出这种设计模式主要是因为应用程序中用来完成任务的代码——模型(也称为“业务逻辑”)通常是程序中相对稳定的部分,并且会被重复使用,而程序与用户进行交互的页面——视图,却是经常改变的。如果因需要更新页面而不得不对业务逻辑代码进行改动,或者要在不同的模块中应用到相同的功能而重复地编写业务逻辑代码,不仅降低了整体程序开发的进程,而且会使程序变得容易维护。因此,将业务逻辑代码与外观呈现分离,将会更容易地根据需求的改变来改进程序。
MVC模式中的Model(模型)指的是业务逻辑的代码,是应用程序中真正用来完成任务的部分。
View(视图),实际上就是程序与用户进行交互的界面,用户可以看到它的存在。视图可以具备一定的功能并应遵守对其的约束,在视图中不应包含对数据处理的代码,即业务逻辑代码。
Controller(控制器),主要控制用户请求并作出响应。它根据用户的请求选择模型或修改模型,并决定返回怎样的视图。