web06-servlet

概述

  • SUN公司出品,运行在 Web 服务器或应用服务器上的程序
  • Web 浏览器(或其他 HTTP 客户端的请求)和 HTTP 应用程序之间的中间层
  • 用来处理客户端请求、响应给浏览器需要的动态资源。
  • JavaWeb的三大组件:Servlet、Filter、Listener

作用

  • 获取请求数据
  • 处理请求
  • 完成响应

入门

  • 使用IntelliJ IDEA创建一个web项目
    在这里插入图片描述

  • 编写一个HelloServlet

    自定义HelloServlet,重写doGet和doPost两个方法
    在这里插入图片描述

  • 配置web.xml
    在这里插入图片描述

  • 浏览器访问

    http://localhost:8080/HelloServlet
    
  • 结果
    控制台输出:get请求已执行

API

相关API,后面有文章详解。

HttpServletRequest

在Servlet API中,定义一个HttpServletRequest接口,继承自ServletRequest接口,专门用来封装HTTP的请求信息。

  • 获取请求行
  • 获取请求头
  • 获取请求体

HttpServletResponse

在Servlet API中,定义一个HttpServletResponse接口,继承自ServletResponse接口,专门用来封装HTTP的响应消息。

  • 向客户端发送响应状态码
  • 向客户端发送响应消息头
  • 向客户端发送响应消息体

生命周期

所有的自定义Servlet最终都是要实现Servlet接口的。
在这里插入图片描述

  • 第一次调用,执行初始化方法:init
  • 每一次调用,都要执行service方法
  • 服务器关闭,或者项目移除,执行destroy方法

Servlet 生命周期:
创建:用户第一次访问Servlet的时候
销毁:服务器关闭,或者项目移除的时候

实现

Servlet接口有两个实现:

  • GenericServlet 通用Servlet实现
  • HttpServlet 与http有关的实现
自定义Servlet-->HttpServlet-->GenericServlet-->Servlet

配置

  • 项目启动时创建Servlet
    -- 传入正整数,越小,优先级越高
    <load-on-startup>2</load-on-startup>		
    
  • url-pattern 路径匹配的几种配置
    • 完全路径匹配
    • 目录匹配
    • 扩展名匹配
    • 缺省路径

ServletContext

服务器启动的时候,为每个web应用都创建了一个单独的ServletContext对象。
通过this.getServletContext()获取,此方法在GenericServlet中实现。

  • 作用
    • 可以存储在多个Servlet之间共享的数据
    • 可以获取web项目中的制定资源
    • 可以获取web项目的初始化设置

ServletConfig

获取Servlet在web.xml中的配置信息。

发布了26 篇原创文章 · 获赞 1 · 访问量 598

猜你喜欢

转载自blog.csdn.net/laonxs/article/details/104201405
今日推荐