我学习的第一个框架——MVC框架

一、什么是MVC框架;
二、如何运用MVC框架;
三、MVC框架的实例。

一、MVC框架

(1)什么是MVC框架:

· MVC即(Model View Controller)模式—视图—控制器框架。

   MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则
是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可
以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

简单来说:

   MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出
分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们
各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean模式。
(2)视图:

View(视图)显示数据(数据库记录)。

     MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有
 真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视
 图来讲,它只是作为一种输出数据并允许用户操纵的方式。                                                                                                
(3)模式

Model(模型)表示应用程序核心(比如数据库记录列表)。

     模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的
 处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对
 象来处理数据库,被模型返回的数据的格式与模型无关,这样一个模型能为
 多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重
 用,所以减少了代码的重复性。
(4)控制器

Controller(控制器)处理输入(写入数据库记录)。

    控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单
击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做
任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确
定用哪个视图来显示返回的数据。
(5)框架是一种代码重用
 A、内部重用,即在同一应用中能公共使用的抽象块;
 B、代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;
 C、应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。

可以说框架是一种软件,而设计模式是软件的知识。

二、如何运用MVC框架

1、定义Bean来表示数据:

(1)何为Bean?

   遵循某些简单约定的常规Java类,这些约定由JavaBean所规定。
        A、Bean类中有一个默认的构造函数;
        B、Bean类中不应该有公开的实例变量(字段);
        C、持续性的值应通过 getXxx 和 setXxx 来进行访问。
   Bean类的定义不应放在含JSP的文件的目录中,而应该放在安装Servlet的目录中。

个人所理解为:Bean属于模式中的类,定义private变量与各变量相应的get、set方法,并且含有构造函数。

2、使用Servlet处理请求:

(1)何为Servlet?

    Servlet是JSP的基础,从功能上讲,Servlet等价于JSP,JSP的内置
对象几乎全是基于Servlet的。
    Servlet是运行在Web服务器上的程序,它担当与Web浏览器发出的请
求与HTTP服务器上的数据库应用程序之间的中间层。

(2)Servlet的基本结构:

public class RegisterInfo extends HttpServlet{
      public void doGet(HttpServletRequest request,HttpServletResponse response)
              throws ServletException,IOException{.....}
      public void doPost(HttpServletRequest request,HttpServletResponse response)
              throws ServletException,IOException{.....}
 通过HttpServletRequest 可以得到所有用户输入的数据;

 通过HtpServletResponse 可以获得PrintWriter,然后用println将相应的数据发送给客户并在客户的浏览器上显示出来。

个人所理解为:Servlet属于控制器,HttpServletRequest 获取视图上的信息传送给Servlet,Servlet寻找到相应的Bean,交由其对应的类或方法处理,而后HtpServletResponse 将Bean处理过后的信息传送给Servlet选中的视图,用以显示。

此处注意:可以由Servlet或JSP来获取请求参数,但输出确是由JSP完成的,
Servlet不会创建任何输出,所以Servlet并不会调用response.setContentType, 
response.getWriter或out.println等方法。
3、填写Bean:
在读取了表单信息以后,就由Servlet根据这些数据调用应用代码,获得最后的结果后,将结果放置在第一步定义的Bean中。

个人所理解为:根据数据寻找到应该操作这些数据的方法,并进行操作。

4、将Bean存储到请求或会话上下文中:
Servlet调用请求或会话上下文对象的setAttrbute方法,存储表示请求的
Bean的引用。

个人所理解为:Servlet寻找到相应的Bean,对该类进行对象实例化与set操作。

5、将请求转发到JSP页面:
Servlet确定哪个JSP页面适合当前的情况,并使用RequestDispatcher的
forward方法将控制转移到那个页面。
6、从Bean中获取数据:
   JSP页面使用jsp:useBean以及第4步中的位置相匹配的scope访问Bean。
之后JSP页面使用jsp:getPropery输出Bean的属性,JSP页面并不创建或修
改Bean,只是提取和显示由Servlet创建的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值