开发应用程序过程中的模式概念,GOF是面向对象软件模式的权威,它将面向对象的设计模式分为三种基本类型:创建模式,结构模式和行为模式。
采用JSP开发网站的三种模式:
1.直接使用JSP
开发小型网站,在JSP页面中混合HTML和Java代码,使应用程序难以维护和扩展;
2.使用JSP+JavaBean
在页面中加入JavaBean,封装数据库连接,商务业务逻辑等操作;但是这种模式很难实现网页制作者和软件开发人员的分工,软件开发人员既要实现逻辑处理,还要参与网页制作;
3.MVC模式
MVC模式由Model,View,Control三部分组成
Model:实现系统的业务逻辑,通常以JavaBean和EJB来实现;
View:用于与用户交互,通常采用JSP实现;
Control:Model与View之间沟通的桥梁,分派用户的请求并选择恰当的视图用于显示,解释用户的输入并将他们映射到模型曾可执行的操作;
这种模式下三层各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。
控制器对象是封装了Web应用程序的控制逻辑,职责主要包括一下方面:
(1)接收用户请求和应用程序消息;
(2)创建并获得管理数据并调用其上的服务的模型;
(3)驱动Web应用程序的工作流。
简言之就是三类:
a 接收用户请求
b 根据用户请求访问或者修改数据;
c 控制网站内部的工作流程
J2EE中,控制器功能一般由Servlet,JavaBeans,Enterprise JavaBeans中的SessionBean担当。
1.Servlet
a 生命周期
(1)实例化 Servlet引擎装入Java类,在引擎启动或者客户端发出请求服务后,加载和实例化一个Servlet,通常Servlet引擎只生成Servlet对象的一个备份,每次请求时复用它,即同时处理多个请求;
(2)初始化
(3)请求处理 Servlet引擎收到多个请求由单独的Java线程处理,线程创建请求并相应对象,然后调用Servlet的Service()方法,确定如何处理请求;
ps:多个线程可以同时执行一个对象的方法,各有自己的请求和响应对象,将代码设计成线程安全是Servlet编程的主要部分;
(4)销毁
(5)垃圾收集
2.采用MVC模式的Web流控制
使用Servlet+ XML
Servlet封装流程控制
XML保存对象之间的映射关系
一种设计方案:
JSP接收用户输入时调用Servlet,影射关系在web.xml中定义;
Servlet访问action.xml文件,确定用户请求对应的数据模型以及对数据模型的command;
获取这些信息之后,Servlet调用JavaBean中的方法,发出相应的command,实现对数据模型的操作;
之后,Servlet调用下一步要显示网页的定义JSP文件