MVC模式

本文介绍了MVC架构,包括M(模型)存储数据、V(视图)显示数据、C(控制器)处理业务逻辑并让模型与视图交互。阐述了使用MVC的目的是分离人机交互与核心功能,还说明了其应用领域。此外,讲解了JSP的MVC中Servlet创建JavaBean及不同生命周期的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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.)

转载于:https://www.cnblogs.com/zhanjiahui/p/10901237.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值