第 11 章
理解 MVC 习题答案
第 11 章
理解 MVC
习题答案
1.简述 Web 应用中表示层的两种架构模式,并比较这两种模式的优缺点。
答案: Web 应用中表示层的两种架构模式分别为:Model1 和 Model2。 ● Model1 的工作原理如下: (1)客户端发出请求,该请求由 JSP 页面接收。 (2)Java Bean 用于实现业务模型,JSP 根据请求与不同 Java Bean 进行交互。 (3)业务逻辑操作指定 Java Bean 并改变其模型状态。 (4)JSP 将改变后的结果信息转发给客户端。 ● Model2 的工作原理如下: (1)Servlet 接收客户端发出的请求。 (2)Servlet 根据不同的请求调用相应的
Java Bean。 (3)业务逻辑操作指定 Java Bean 并改变其模型状态。 (4)Servlet 将改变后 Java Bean 的业务模型传递给
JSP 视图。 (5)JSP 将后台处理结果呈现给客户端。 这两种模式的优缺点比较如下: ● Model1 适合快速开发小型应用,但是控制逻辑与表示逻辑耦合紧密。在大型应 用程序开发过程中,容易造成程序的可移植性差,不易维护。 ● 与 Model1 模式相比,Model2 更适合开发大型应用程序。在 Model2 中实现了业 务逻辑与表示逻辑的分离, 相应地提高了
程序的可维护性。 但是在开发一些小型应用时, 使用 Model2 可能会增加程序的复杂程度。
2.说明 MVC
设计模式中,M、V、C 分别代表什么,有什么作用。
答案: M 代表 Model(模型) ,该组件是对软件所处理问题逻辑的一种抽象,封装了
问题的核 心数据,逻辑和功能实现,独立于具体的界面显示以及 I/O 操作。 V 代表 View(视图) ,该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展 现给用户。视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显 示形式或视图展现给用户。 C 代表 Controller(控制器) ,该组件主要负责用户与
软件之间的交互操作,控制模型
–1–
第 11 章
理解 MVC 习题答案
状态变化的传播,以确保用户界面与模型状态的统一。
3.简述 MVC 的三种架构模式及其工作原理。
答案: MVC 的三种架构模式分别为:经典 MVC 架构模式,前端控制器模式以及页面控制器模 式。这三种架构模式的
工作原理如下 ● 经典 MVC 架构模式 在这种模式下,用户在视图界面输入数据并点击按钮提交,控制器负责接收视图信息并 对相应模型进行操作,根据用户提供的数据更新模型状态。模型状态发生变化后控制器通知 视图,视图根据模型的变化进行更新并显示给用户。 ● 前端控制器模式 在这种模式下,分发器负责接收客户端浏览器发出的请求,并根据请求的 URL 地址将 信息转发给特定的控制器。控制器改变相应模型的
状态并返回一个标识,该标识与指定视图 存在映射关系,通过标识找到对应视图并在客户端浏览器显示执行结果。 ● 页面控制器模式 这种模式与前端控制器模式的工作原理基本相似,二者的区别在于,页面控制器模式下 将由页面发出针对某个具体模型的请求。
4.说明 Spring MVC 的基本工作流程。
答案: Spring MVC 的基本工作流程分为如下几个步骤: (1)客户端发出 Http 请求。 (2)Spring 容器的 DispatcherServlet 接收请求,并根据请求寻找相应的控制器。 (3)DispatcherServlet 找到具体的控制器以后,将客户端请求分派给该控制器,控制器 调用业务层相关业务对象处理请求。 (4) 控制器处理完毕后, ModelAndView 返回给 DispatcherServlet, 将 其中 ModelAndView 包含了逻辑视图名称以及物理视图所需要的数据信息。 (5)DispatcherServlet 根据逻辑视图名称,寻找对应的物理视图。其中,ViewResolver 负责建立逻辑视图与物理视图的映射关系。 (6)找到具体的物理视图以后,DispatcherServlet 将其分派给 View 对象。 (7)View 以 Http 响应形式将最终结果返回给客户端。
5.使用 Struts2 框架模拟实现用户登录。
实例