MVC模式

 

M----model模型-----------存储数据(javabean对象,存储数据)

V-----view视图-------------提供数据显示(jsp页面,数据显示,主要使用html标记和javabean标记显示)

C----controller控制器----业务逻辑,让模型与视图交互,根据视图的要求处理数据,模型中数据变化时更新显示视图Servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到JavaBean中,然后Servlet使用重定向方式请求视图中的某个JSP页面更新显示。)

 


 

 

使用MVC的目的?

  1. 将人机交互(M)从核心功能中分离
  2. 模型对用户透明,用户只需观察视图(v)
  3. 用户与模型的交互通过控制器(c)提供的安全方法实现

MVC应用领域?

  1. 灵活的人机交互(灵活选择信息显示方式,灵活选择信息输入方式)
  2. 针对不同用户提供不同界面(不同用户权限不同,操作方式也不同)

 


 

jsp的MVC中Servlet负责创建Javabean,将数据存储在javabean中,然后Servlet请求jsp使用Javabean的getProperty标记:

<jsp:getProperty  name= "名字"  property="bean的属性"/> 

 


 

 

jsp的MVC中Servlet创建的javabean也涉及到生命周期,生命周期分为request、session、application

(以下设类名为BeanClass,包名为user.yourbean)

 

  • requset周期的javabean

创建javabean

 

BeanClass bean = new BeanClass();
request.setAttribute("keyword",bean);

 

视图更新

servlet请求一个jsp页面:

RequestDispather dispather = request.getRequestDispather("show.jsp");
dispather.forward(reuest,response);

jsp页面使用如下标记获得servlet所创建的Javabean的引用:

<jsp:useBean id="keyWord" type="flower.grass.CreateJavaBeanClass" scope="request"/>

jsp页面使用如下标记显示bean中的数据

<jsp:getProperty name="keyWord" Property="bean的变量"/>

 

 

  • session周期的javabean

 

创建javabean

 

BeanClass bean = new BeanClass();
HttpSession session = request.getSession(true);
session.setAttribute("keyword",bean);

 

在web服务目录中任何jsp中都可以使用如下标记获得Servlet创建的bean的引用

<jsp:useBean id="keyWord" type="flower.grass.CreateJavaBeanClass" scope="session"/>
<jsp:getProperty name="keyWord" Property="bean的变量"/>

 

 

 

  • application周期的javabean

 

创建javabean

 

 

BeanClass bean = new BeanClass();
getServletContext().setAttribute("keyword",bean);

 

 

在web服务目录中任何jsp中都可以使用如下标记获得Servlet创建的bean的引用

 

<jsp:useBean id="keyWord" type="flower.grass.CreateJavaBeanClass" scope="application"/>
<jsp:getProperty name="keyWord" Property="bean的变量"/>

 

 


 

 一个例子

 

 

 

 

 

 (i am so tired.)

posted @ 2019-05-21 19:50  Jiahui_Zhan  阅读(291)  评论(2编辑  收藏  举报