zoukankan      html  css  js  c++  java
  • Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介绍

    https://blog.csdn.net/ITBigGod/article/details/86515893

    鉴于最近一些零基础的朋友要做项目,我梳理一下web项目的运行流程,主要是说一下理解思路,有什么不足或不对的,多多理解。

    在N久前,传统的项目有用jsp+JavaBeans开发的,有用JSP+Servlet开发的,还有的是符合mvc的JSP+Servlet+JavaBeans开发的。这些说法都没有错。
    前面两个年代久远,不说了,主要重点说一下,MVC模式。

    1.JSP+JavaBean模式:

    在现在的开发中, JSP+JavaBean模式开发非常之少了,除非你的项目只有芝麻大一点
    它可以说web开发中的是第一代设计模式,主要是JSP充当视图和控制器,而JavaBeans充当模型。

    特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可调试性和维护性。
    缺点:页面将控制与显示集于一身。
    结论:简单,适合小型项目的快速构建与运行。

    2.JSP+Servlet模式:

    后来慢慢发展,有人使用jsp+servlet模式来开发。
    其中就分为:(可能层的定义不这么叫,我忘了具体的。)

    1. view层——类比jsp前台交互,比如我们页面显示等,但是jsp中也写了数据交互的东西。JSTL等
    2. web层——类比servlet,它与前台数据进行交互,又和数据库打交道,其次它也动态输出html内。

    简单的例子

    servlet层中有a方法,实现和数据库交互,jsp将注册信息提交给servlet,在servlet里调用a方法,来接收sp的数据,然后将数据就和数据库关联。

    值得一提的是:Servlet和JSP的一大共同点:

    Servlet和jsp都可以操作网页:

    • Servlet可以在.java文件中通过HttpServletResponse对象动态输出HTML内容,比如out.print()。
    • JSP在静态HTML/JSP中可以嵌入Java代码,常见JSTL标签<%%>,Java代码被动态执行后生成新的HTML内容。

    也就是说,单单只用jsp或者serlvet都可以对网页进行开发,也正是这样,导致两者它们都有难以维护和杂乱代码的困扰。

    所以!扬长避短——MVC(Model-View-Controller)模式非常适合解决这一问题。

    3.mvc模式:JSP + Servlet + JavaBean三层架构

    MVC模式(Model-View-Controller),是系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):
    可以理解为:JSP充当视图,Servlet充当控制器,JavaBeans充当模型。

    • 1.View层(JSP),前台交互,比如我们注册时的数据等等,serlvet就是与前台数据进行交互的
    • 2.Contrller层(servlet充当):Model与View之间沟通的桥梁, 这个层有业务处理,用户的注册登录就可以看做是User的业务,我们就需要将相关的处理代码写到这个层中。
    • 3.Model层:实现系统的业务逻辑,即javaBean,常见的就是封装对象的属性、数据库连接操作等。
    • 常规会写一个dao层,是属于mvc里面Model层抽出来。目的就是更单纯的和数据库打交道,将servlet的数据和数据库进行交互。

    特点:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式
    缺点:没有统一的开发框架导致开发周期长

    图示:

    在这里插入图片描述

    在MVC开发的软件系统中,描述如下所示:
    在这里插入图片描述

    通俗的说,就是web broswer通过view层的jsp页面发出的所有的http请求都应该交给servlet,即控制层来。servlet通过对Javabean,即核心的Model层处理,得到处理结果,然后返回给view层的Jsp页面。Jsp页面返回给浏览器最后的html网页。
    
    • 1

    简单的例子:

    比如用户的注册业务——addUser()
    前台取得注册信息--封装到user对象中,然后调用user的业务,即注册功能控制。
    这时就跳到Contrller层,然后此层调用dao中的方法将数据存入数据库。
    
    • 1
    • 2
    • 3

    在实际应用中可以这样理解:
    .JSP,.html属于视图层,
    servlet属于控制器层,
    Class类文件属于javabeans。

    (上层的依赖下层的,servlet是用JAVA写的控制器层。)

    对应项目的图示:
    在这里插入图片描述
    这种最经典的mvc模式了。

    总结:MVC大体上是jsp+Javabean+Servlet,MVC模式在Web开发中的好处是非常明显,它规避了JSP与Servlet各自的短板,Servlet只负责业务逻辑而不会通过out.append()动态生成HTML代码;JSP中也不会充斥着大量的业务代码,这大大提高了代码的可读性和可维护性。

  • 相关阅读:
    浅谈Static关键字
    iOS安装CocoaPods详细过程
    解决最新版 mac os sierra usb网卡不能使用的问题
    pyCharm最新2017激活码
    开发中所使用的渠道(统计分析、分享、第三方登录、短信等)
    oc中文首字母排序
    UIFont 设置字体
    iOS运用runtime全局修改UILabel的默认字体
    OC录制小视频
    OC
  • 原文地址:https://www.cnblogs.com/mydriverc/p/13414431.html
Copyright © 2011-2022 走看看