zoukankan      html  css  js  c++  java
  • 【drp 10】JSP页面中model1和model2的区别

    一、基本概念

    1.1,model1

    model1的开发模式是:jsp+javabean的模式,它的核心是JSP页面,在这个页面中,jsp页面负责整合页面和javabean(业务逻辑),而且渲染页面。它的基本流程如下:



    1.2,model2

    model2的开发模式是:Jsp+servlet+javabean的模式,它和model1不同的是,增加了servlet,将调用页面数据,调用业务逻辑等工作放到了servlet中处理,从而减轻了jsp的工作负担!它的基本流程如下:


    二、model1和model2的区别

    model1:简单,适合小型项目的开发。但是,JSP的职责过于繁重,职责分工不明确。在后期的维护工作中,必将为此付出代价!

    model2:相对于model1来说,职责分工更为明确,在model1的基础上,抽取了servlet层。体现了一个分层的思想,适合大型的项目开发!


    三、和三层的对比

    在model2中,我们将servlet抽取出单独的一层,和jsp协作完成用户数据交互的工作,也就是表示层。那么作为三层结构来说,又做了什么样的改进呢?

    model2,虽然抽取了servlet,明确表示层的工作,但是对于业务逻辑则只有javabean在工作,三层则是在此基础上,将javabean再一次进行分割:业务逻辑、数据持久化。


    model1、model2、三层结构图:



    四、总结

    应该说所有的复杂架构,都是从简单的解耦合和分层开始的。那么之前一直觉得挺那什么的java的jsp中model1和model2,现在也很明确了,并且以之前学习过的三层来看,其实挺简单的。或许model2可以和项目中用的mvc去理解吧,当时也是采用了三层的思想,将model进一步进行分离为BLL和DAO,而java里面的jsp和servlet,也即是里面的view和controller。加油!



  • 相关阅读:
    正则表达式尽量写的精简,提高运行效率
    IndexError:string index out of range
    Python3 字符编码
    python3字符编码错误
    pip
    正则贪婪和非贪婪
    [Ss]+ 可以匹配多行html,最常用的还是.*?
    正则,分组,字符集,使用场景
    使用jodis连接codis的时候报异常:Exception in thread "main" redis.clients.jedis.exceptions.JedisException: Proxy list empty
    codis 的dashboard服务无法启动 提示pid已经运行
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010327.html
Copyright © 2011-2022 走看看