• 【Web基础】Web应用体系结构 — 容器 + MVC设计模式


    前言:提前祝大家国庆快乐了~~~~

    1 容器

    1.1 容器定义

    Servlet 没有 main() 方法,它们受控于另一个 Java 应用,这个 Java 应用称为容器。

    在这里插入图片描述

    1.2 容器功能

    1. 通信支持
      实现 servlet 与 Web 服务器对话,无需自建 ServerSocket 、监听接口、创建流等
    2. 生命周期管理
      容器控制 servlet 的生死,负责加载类、实例化和初始化 servlet、调用 servlet 方法,使 servlet 可被垃圾回收,无需我们过多考虑资源管理
    3. 多线程支持
      容器自动为每个 servlet 请求创建新的 Java 线程
    4. 声明方式实现安全
      利用容器,可使用 XML 不算描述文件来配置修改安全性
    5. JSP支持

    总结: 容器为我们提供各种功能(线程管理、安全性、网络通信),使得我们可以更关注业务代码

    1.3 容器如何处理请求

    • 容器创建请求对象和响应对象,将其发送给 servlet , servlet 得到这些对象的有关信息,并将其发送给客户。
    • 典型的是 servlet 是一个扩展了 HttpServletRequest 的类,覆盖了 doGet(),doPost()等方法
      在这里插入图片描述
      在这里插入图片描述

    1.4 URL 映射 servlet

    1. servlet 的三个名字:

    通过建立 servlet 名的映射,有助于改善应用的灵活性与安全性(翻译:你希望自己改变个文件目录就要改半天代码嘛)

    1. 文件路径名 —— 具体类的类名(服务器上的位置)
    2. 部署名 —— 部署 servlet 的人员起的秘密的内部名
    3. 公共的 URL 名 —— 客户所知道的名字

    在这里插入图片描述
    2. 使用部署描述文件将 URL 映射到 servlet

    XML: 将 servlet 部署到外部容器时,会创建一个简单的 XML 文档,称为部署描述文件 (DD),部署文件告诉容器如何运行我们的 servlet 和 JSP。其还具有对 Web 应用其他方面进行定制的功能,如安全角色,错误页面,标记库等等。即通过 XML 我们获得了一种方式修改应用而无需修改源代码。

    可以使用两个 XML 将 URL 映射到 Servlet ,一个将客户知道的公共 URL 映射我们部署的秘密内部名,另一个将内部名映射为完全限定类名。

    2. MVC设计模式

    2.1 MVC 设计模式定义

    MVC —— 模型 - 视图 - 控制器就是把业务逻辑从 Servlet 中抽离出来,把其放在一个模型中。模型就是一个可重用的普通 Java 类,包括业务数据及处理该数据的方法。

    在这里插入图片描述

    2.2 为什么要采用 MVC 设计模式?

    软件开发过程中的规范总在改变,你不能保障对方总是使用 Web 访问你的逻辑!!

  • 相关阅读:
    【SpringMVC】面向全球的用户,我们该怎么办
    项目开发中Maven的单向依赖-2022新项目
    6、行内元素和块元素
    UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)
    爬虫获取页面源码
    判断图中是否有环
    【无标题】
    RabbitMQ(十一)【高级 - 分布式事务】
    6 Redis的慢查询&配置
    性能测试知多少---性能分析与调优的原理
  • 原文地址:https://blog.csdn.net/liuwanqing233333/article/details/127122869