JSP实用教程------第七章MVC模式

系列文章目录

JSP实用教程------第七章MVC模式


前言

在Web开发中,MVC(Model-View-Controller)是一种常用的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。MVC模式的目标是将应用程序的逻辑与用户界面的表示分离,以实现更好的代码组织和可维护性。

本章将介绍MVC模式的基本概念和原则。我们将了解每个组件的职责和作用,并学习如何在Java Web开发中应用MVC模式。同时,我们还将介绍一些常用的Java Web框架,如Spring MVC和Struts,它们是基于MVC模式的。

一、MVC模式介绍

模型-视图-控制器(Model-View-Controller),简称为MVC。MVC已经成为软件设计者必须熟练使用的开发模式。本章必须理解、掌握在JSP程序设计中怎样具体体现MVC开发模式(其他语言的程序设计是非常类似的,仅仅是具体使用的API不同而已)。
MVC是一种通过三部分构造一个软件或组件的理想办法。
■模型(model) 用于存储数据的对象。
■视图(view) 向控制器提交所需数据、显示模型中的数据。
■控制器(controller) 负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出(商业)处理,将有关结果存储到模型中,并负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。

二、JSP中的MVC模式

■模型(Model) 一个或多个Javabean对象,用于存储数据。
■视图(View) 一个或多个JSP页面,其作用是向控制器提交必要的数据和显示数据。JSP页面可以使用HTML标记、Javabean标记以及Java程序片或Java表达式来显示数据。视图的主要工作就是显示数据,对数据的逻辑操作由控制器负责。
■控制器(Controller) 一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后servlet使用转发或重定向的方式请求视图中的某个JSP页面显示数据。比如让某个JSP页面通过使用Javabean标记、Java程序片或Java表达式显示控制器存储在Javabean中的数据。
在这里插入图片描述

三、模型的生命周期与视图更新

1、request bean

■bean的创建
servlet创建request bean的步骤如下:
(1)用BeanClass类的某个构造方法创建bean对象,例如:

BeanClass bean=new BeanClass();

(2)

request.setAttribute("keyWord",bean);

■视图更新
servlet所请求的JSP页面可以使用相应的标记显示该request bean中的数据。该JSP页面对请求做出响应之后,request bean所占有的内存被释放,结束自己的生命。

RequestDispatcher dispatcher=
request.getRequestDispatcher(“show.jsp”);
dispatcher.forward(request,response);

servlet所请求的JSP页面,比如show.jsp页面可以使用如下标记获得servlet所创建的request bean:

<jsp:useBean id=“keyWord” class=“save.data.BeanClass”
scope=“request”/>

该标记中的id是servlet所创建的bean的id。
然后JSP页面可以使用相应的标记或程序片显示该request bean中的数据。

2、 session bean

■bean的创建
servlet创建session bean的步骤如下:
(1)用BeanClass类的某个构造方法创建bean对象,例如:

BeanClass bean=new BeanClass();

(2)

HttpSession session=request.getSession(true);
session.setAttribute(“keyWord”,bean);

■视图更新
Web服务目录的各个JSP都可以使用

<jsp:useBean id=“keyWord” class=“save.data.BeanClass”
scope=“session”/>

标记获得servlet所创建的session bean,然后使用相应的标记或程序片显示该request bean中的数据。
如果servlet希望某个JSP显示其中的数据,可以使用RequestDispatcher对象转发到该页面,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)定向到该页面。

3、application bean

■bean的创建
ervlet创建application bean的步骤如下:
(1)用BeanClass类的某个构造方法创建bean对象,例如:

BeanClass bean=new BeanClass();

(2)

getServletContext().setAttribute(“keyWord”,bean);

■视图更新
servlet建bean的第(2)步骤决定了bean为application bean。
用户在访问Web服务目录的各个JSP中都可以使用
<

jsp:useBean id=“keyWord” class=“save.data.BeanClass”
scope=“application”/>

标记获得servlet所创建的application bean,然后使用相应的标记或程序片显示该application bean中的数据,例如,使用

<jsp:getProperty name=“keyWord” property=“bean的变量”/>

标记显示该application bean中的数据。
如果servlet希望某个JSP显示其中的数据,可以使用RequestDispatcher对象向该JSP页面发出请求,也可以使用HttpServletResponse类中的重定向方法(sendRedirect)。

四、MVC模式的简单实例

1 简单的计算器

JSP页面example7_1.jsp提供一个表单,用户可以通过表单输入两个数、选择运算符号提交给servlet控制器。 bean负责存储运算数、运算符号和运算结果,servlet控制器负责运算,将结果存储在request bean中,并负责请求JSP页面example7_1.jsp显示request bean中的数据。
Example7_1_Bean.java中的getXxx和setXxx方法可以返回和设置模型中的数据,但不参与数据的处理。
名字为compute的servlet控制器负责计算四则运算的结果,并将结果存放在id是digitBean的bean中,然后用重定向的方法,请求example6_2.jsp显示bean中的数据。
向ch7\WEB\INF\下的部署文件web.xml添加servlet和servlet-mapping标记(见6.1.2),部署的servlet的名字是computer,访问servlet的url-pattern是/ computer。
代码如下:
在这里插入图片描述
运行结果:
在这里插入图片描述

总结

MVC模式是一种常用的软件架构模式,适用于Web开发和其他应用程序开发。
MVC模式的核心思想是将应用程序的逻辑和用户界面分离,以实现更好的代码组织和可维护性。
在Java Web开发中,我们可以使用MVC模式来组织我们的代码,并使用一些常用的Java Web框架来简化开发过程。
模型(Model)负责处理数据和业务逻辑,视图(View)负责展示数据给用户,控制器(Controller)负责处理用户输入和控制应用程序的流程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值