当前位置: 首页 > news >正文

【JavaWeb】Servlet(崔老师版)

文章目录

  • 1.概述
    • 1.1 JavaWeb三大组件
    • 1.2 Servlet作用
  • 2.ServletConfig接口
  • 3.Servlet接口
    • 3.1 实现Servlet的方式
    • 3.2 Servlet生命周期
  • 4.HttpServlet抽象类
  • 5.ServletContext
    • 5.1 概述
    • 5.2 获取ServletContext
    • 5.3 JavaWeb四大域对象
    • 5.4 获取应用初始化参数
    • 5.5 ServletContext获取资源

1.概述

1.1 JavaWeb三大组件

  • Servlet
  • 监听器
  • 过滤器

1.2 Servlet作用

  • 接收请求参数
  • 处理请求
  • 完成响应

2.ServletConfig接口

ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。

Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对 象。
在这里插入图片描述

3.Servlet接口

3.1 实现Servlet的方式

  • 实现javax.servlet.Servlet接口
  • 继承javax.servlet.GenericServlet类
  • 继承javax.servlet.http.HttpServlet类

在这里插入图片描述
(1)servlet接口:直接去实现servlet接口的话,要实现的功能过多,开发不方便
(2)GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象。
将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可。
(3)HttpServlet: 对http协议的一种封装,简化操作,使用方法如下:
① 定义类继承HttpServlet
② 复写doGet/dopost方法

3.2 Servlet生命周期

在这里插入图片描述
注意:
(1)service每一次处理请求都会调用,但是init方法和destroy只在创建或者销毁的时候调用一次。
(2)servlet是单例的,一个servlet类只会对应一个servlet类的对象。但是servlet类可能有多个。
(3)线程不安全的,所以效率高。
(4)servlet类由我们来写,但是servlet对象是由服务器创建的,并且由服务器调用其中的方法。

4.HttpServlet抽象类

在这里插入图片描述
servlet细节:
web.xml文件的继承
在这里插入图片描述

5.ServletContext

一个项目只有一个ServletContext。我们可以在N个Servlet中获取这个唯一的对象,所以使用它可以在Servlet中传递数据。(不让servlet直接传递数据是为了解耦合)

在这里插入图片描述

5.1 概述

在这里插入图片描述

5.2 获取ServletContext

ServletConfig
GenericServlet
HttpSession
ServletContextEvent
以上四个类都有方法getServletContext能获取ServletContext对象。

5.3 JavaWeb四大域对象

域对象在servlet中传递数据,所以与对象要有存数据和取数据的功能。

  • PageContext
  • ServletRequest
  • HttpSession
  • ServletContext

在这里插入图片描述

5.4 获取应用初始化参数

在这里插入图片描述

5.5 ServletContext获取资源

ServletContext可以获取web应用下的资源。

http://www.lryc.cn/news/61361.html

相关文章:

  • ITSS服务经理 、服务工程师线上开班在即
  • 【LeetCode】199.二叉树的右视图
  • Shell编程(三)grep sed awk文本处理三剑客
  • 一步步带你学习Python编程:从零开始的查缺补漏
  • 常见容器的方法
  • 【Linux】线程
  • ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
  • Oracle OCI 修改 Compute Instance Hostname
  • 垃圾收集算法面试总结
  • grep替换指定字符串方法
  • 主从模式、哨兵模式、集群模式(cluster)
  • 题目3180:蓝桥杯2023年第十四届省赛真题-互质数的个数======及探讨互质专题
  • Java 文件操作
  • 二叉树OJ题(C++实现)
  • grep -nr 命令查询字符串方式
  • AgentAI+ChatGPT给出答案-为什么即时通讯需要心跳
  • 跨平台跨端的登录流程及其安全设计
  • 如何在Java中创建临时文件?
  • Vue表单基本操作-收集表单数据
  • Android 一个获取网址时间的Demo
  • ijkplayer解码流程源码解读
  • 2023年值得关注的3个品牌趋势,帮你弯道超车
  • 软考-高级项目管理(二十)
  • RTMP协议深度解析:从原理到实践,掌握实时流媒体传输技术
  • 2023mathorcup数学建模ABCD思路分析
  • 普通家庭,千万不要投入大量时间和金钱,让孩子去苦学和培养AI机器人编程了...
  • C++学习(day2)
  • 软考 - IP地址与网络划分
  • Apifox软件的基础使用方式
  • 【Tensorflow】模型如何加载HDF文件数据集?