博客
关于我
JavaWeb4——Servlet规范
阅读量:231 次
发布时间:2019-02-28

本文共 1201 字,大约阅读时间需要 4 分钟。

Servlet技术入门介绍

1. Servlet规范介绍

1.1 Servlet规范的组成

Servlet规范由两部分组成:

  • Servlet接口:定义了 Servlet 类必须实现的方法,用于标识能够处理 HTTP 请求的类。
  • Servlet 容器:负责接收 HTTP 请求并将其转发给具体的 Servlet 实现类。

1.2 Servlet规范的作用

  • 明确了 HTTP 服务器如何调用动态资源文件。
  • 规定了 HTTP 服务器如何管理动态资源文件的实例对象。
  • 2. Servlet 接口实现类

    2.1 Servlet 接口的来源

    Servlet 接口由 Java EE 规范定义,通常通过 javax.servlet.Servlet 接口实现。Tomcat服务器中可以找到 servlet-api.jar 包含相关接口。

    2.2 合法动态资源文件

    合法的动态资源文件必须实现 Servlet 接口。以下是示例:

    class Teacher implements Servlet {    Servlet obj = new Teacher();    obj.doGet();}

    2.3 Servlet 接口实现类开发步骤

  • 创建一个继承于 HttpServlet 的 Java 类。
  • 重写 doGet()doPost() 方法接收浏览器请求。
  • 注册 Servlet 到 Tomcat 服务器。
  • 3. Servlet 对象生命周期

    3.1 实例化规则

  • Servlet 对象由 HTTP 服务器自动创建。
  • 第一次请求时,HTTP服务器会创建 Servlet 实例。
  • 可配置按启动时自动创建实例。
  • 3.2 实例管理

  • 每个 Servlet 类只允许创建一个实例。
  • HTTP 服务器在关闭时销毁所有 Servlet 对象。
  • 4. HttpServletRequest 和 HttpServletResponse

    4.1 HttpServletRequest

    • 由 HTTP 服务器提供,用于读取请求协议包信息。
    • 可以代替浏览器申请资源文件。
    • 提供获取请求参数的方法。

    4.2 HttpServletResponse

    • 由 HTTP 服务器提供,用于将执行结果写入响应体。
    • 可以设置响应头属性,控制浏览器行为。

    5. 请求对象和响应对象的生命周期

    5.1 请求对象和响应对象的创建

    • 在接收到 HTTP 请求包时,HTTP 服务器会生成一个请求对象和响应对象。

    5.2 方法调用

    • 在调用 doGet()doPost() 时,HTTP 服务器会传递请求对象和响应对象。

    5.3 资源销毁

    • 在推送 HTTP 响应包之前,HTTP 服务器会销毁请求对象和响应对象。

    6. 请求对象和响应对象的重要性

    • 请求对象和响应对象是请求处理的核心工具。
    • 它们作为用户在服务端的代言人,将 HTTP 请求和响应传递给业务逻辑层。

    转载地址:http://nmqn.baihongyu.com/

    你可能感兴趣的文章
    PLC探针有什么用
    查看>>
    PLC接线详解
    查看>>
    PLC数组的使用(西门子)
    查看>>
    Quarzt定时调度任务
    查看>>
    PLC结构体(西门子)
    查看>>
    PLC编程语言ST文本语法的常用数据类型及变量
    查看>>
    PLC通讯方式
    查看>>
    Please install 'webpack-cli' in addition to webpack itself to use the CLI
    查看>>
    Ploly Dash,更新一个Dash应用程序JJJA上的实时人物
    查看>>
    Ploly烛台的定制颜色
    查看>>
    Ploly:如何在Excel中嵌入完全交互的Ploly图形?
    查看>>
    plotloss记录
    查看>>
    Plotly (Python) 子图:填充构面和共享图例
    查看>>
    Plotly 中的行悬停文本
    查看>>
    Plotly 停用 x 轴排序
    查看>>
    Plotly 域变量解释(多图)
    查看>>
    Plotly 绘制表面 3D 未显示
    查看>>
    Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
    查看>>
    Plotly-Dash:如何过滤具有多个数据框列的仪表板?
    查看>>
    Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
    查看>>