深入理解MVC(摘抄)

在MVC经典架构中,它把应用程序分为三部分:

1.模型

      模型代表了该应用程序的核心功能,它负责处理用户的数据,实现业务逻辑。同时,模型还为视图的显示提供数据,并可被多个视图所共用。

2.视图

     视图主要指与用户交互的界面,也即应用程序的外观。视图可以接受用户的输入,但它并不包括任何实际的业务处理,它只是将数据转交给控制器。同时,视图还负责展现模型传递给用户的数据,当后台模型更新数据时,视图也应当随之更新它的显示。

3.控制器

     控制器负责接收用户的请求和数据,接着它会做出判断将请求和数据交由哪一个模型来处理,最后调用视图来显示模型返回的数据。

 

 

 

在Java Web领域存在着两种经典模型,也可以称为实现模式,分别是Model1和Model2。这两种模式都是由Sun公司提出的,它们都可看作是MVC的具体实现形式。

1. 模型1:JSP+JavaBean

           在这种模型中,JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的角色,JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面。

2. 模型2:Java+Servlet+JavaBean

            在模型2中,Jsp只负责显示逻辑,而Servlet作为控制器。当用户通过浏览器向服务器发送请求时,接收请求的组件从原先的JSP换成了Servlet。Servlet通过自身的逻辑判断调用相应的JavaBean处理用户请求,JavaBean 则负责业务逻辑的处理和数据持久化等工作。待到处理完成,JavaBean将结果返回,再由JSP页面将之返回给客户浏览器,完成一次操作。

 

 

Struts

     1.控制器

       Struts采用了ActionServlet和Action来替代模型2中的Servlet组件。在基于模型2的应用程序中,用户请求会由许多不同的Servlet接收处理。而在Struts应用程序中,所有的用户请求都由ActionServlet接收,然后根据用户请求的不同样式到struts-config.xml文件中查找相应的子控制器,也就是Action。Action执行具体的控制器功能,并且调用相应的后台模型完成业务逻辑。

      在Servlet和具体的后台模型中添加一层Action作为子控制器,这种做法使得控制器也具有了层次。其中每个Action都是一个org.apache.struts.action.Action的子类,它们执行execute()方法,并返回一个ActionForward对象,当ActionServlet对象接收到该对象后,会自动分析它,并根据struts-config.xml中的配置信息将请求转发,这种转发有可能是到另一个Action,也有可能是JSP页面。若是JSP页面,则本次请求过程停止,并将最终结果发往用户。

      2.视图

        JSP作为主要的视图工具。

        当用户通过视图表单向Servlet发送数据时使用到了一个叫ActionForm的组件,该组件通常也被归于视图层。ActionForm的作用就是将用户提交的数据打包成一个Bean对象,除了基本的get和set方法外,它还提供了另外两种特殊的方法用于对用户提交的数据进行一些初始化或验证工作。

      3.模型

        在Struts应用程序中,模型部分并没有太多的规定,通常的做法是采用EJB或其他对象关系映射工具(如Hibernate)来实现模型组件。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值