前言
本章主要内容为MVC介绍,JSP中的MVC模式,模型的生命周期与视图更新。难点为模型的生命周期与视图更新。
提示:以下是本篇文章正文内容,下面案例可供参考
一、MVC模式介绍
模型-视图-控制器(Model-View-Controller),简称为MVC。MVC已经成为软件设计者必须熟练使用的开发模式。本章必须理解、掌握在JSP程序设计中怎样具体体现MVC开发模式(其他语言的程序设计是非常类似的,仅仅是具体使用的API不同而已)。
MVC是一种通过三部分构造一个软件或组件的理想办法。
模型(model):用于存储数据的对象。
视图(view):向控制器提交所需数据、显示模型中的数据。
控制器(cohtroller):负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出(商业)处理,将有关结果存储到模型中,并负责让模型和视图进行必要的交互,当棋型币的数据变化时,让视图更新显示。
二、使用步骤
模型(Model) 视图(View)控制器(Controller)
在JSP中,MVC模式的实现如下图所示。
三 模型的生命周期与视图更新
3.1 request bean
①bean 的创建
servlet创建 request bean 的步骤如下
(1)用BeanClass类的某个构造方法创建bean对象
BeanClass bean = new BeanClass();
(2)将所创建的bean对象存放到HttpServletRequest对象request中,并指定查找该bean的id。
request.setAttribute("keyWord",bean);
②视图更新
在MVC模式中,由servlet(控制器)负责根据模型中数据的变化通知JSP页面(视图)更新,其手段是使用转发,即使用RequestDispatcher对象向某个JSP页面发出请求,让所请求的JSP 页面显示bean(模型)中的数据(不能使用重定向,即不能用sendRedirect方法)。
因为servlet创建bean的步骤(2)决定了bean为request bean,因此,当servlet使用RequestDispatcher 对象向某个JSP页面发出请求时(进行转发操作),该request bean只对servlet 所请求的JSP页面有效,该JSP页面对请求作出响应之后,request bean所占有的内存被释放,结束自己的生命。
3.2 session bean
①bean的创建
servlet 创建session bean的步骤如下:
(1)用BeanClass类的某个构造方法创建bean 对象,例如:
BeanClass bean = new BeanClass();
(2)将所创建的bean 对象存放到HttpServletSession对象session中,并指定查找该
bean 的id。该步骤决定了bean为 session bean。例如:
HttpSession session= request. getSession(true)/
session.setAttribute("keyWord",bean)/
②视图更新
servlet 创建bean 的步骤(2)决定了bean为session bean,只要用户的session没有消失,
该session bean就一直存在。Web服务目录的各个JSP都可以使用
<jsp:useBean id ="keyWord"class ="save. data. BeanClass" scope ="session"/>
标记获得servlet 所创建的session bean(ia 的值是servlet 创建session bean时,为bean 指定
的关键字),然后使用相应的标记或程序片显示该session bean中的数据。
对于session bean,如果servlet希望某个JSP显示其中的数据,可以使用RequestDispatcher 对象转发到该页面,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)定向到该页面。
需要注意的是,不同用户的session bean是互不相同的,即占有不同的内存空间。
总结
以上就是今天要讲的内容。针对jsp的四个重要的内置对象进行的分析