JavaEE 重要的API阅读

JavaEE API阅读

目的是为了应对学校考试,主要关注的是类的继承关系、抛出错误的类型、包名、包结构等等知识。此帖用于记录。

PageContext抽象类

包名及继承关系

继承自JspContext类。PageContext 实例提供对与某个 JSP 页⾯关联的所有名称空间的访问,隐式对象是⾃动添加到 pageContext 的。

image-20241109153313788

可以看到基本都是隐含对象的成员。

image-20241109153522007

方法

getter包括page、request、response、servletConfig、ServletContext,不常见的是errorData、Exception

image-20241109153544160


ServletContext 接口

ServletContext对象包含在ServletConfig对象中,该对象由Web服务器在初始化servlet时提供给servlet

image-20241109153908817

要注意的方法

虽然名字叫context,但是没有getContextPath这个方法。

是⼀个Servlet的环境对象,⽤来创建⼀个Servlet的环境信息。 它定义的⽅法是为了能让servlet 能和创建它的 servlet 容器建⽴沟通,⽐如派发⼀个请求、写⼊⼀个⽇志⽂件 等。 每个web 应⽤都只能有⼀个 Context 对象(web 应⽤程序是⼀个 servlet 的集合)。 ServletContext类⾥⾯的⽅法主要有这么⼏⼤类:

  • 对Filter的操作
  • 对Listener的操作
  • 对Servlet的操作
  • 对Attribute的操作
  • 对Context的操作
  • 对InitParameter的操作
  • 对log的操作
  • 对Path的操作

image-20241109154119201

image-20241109154209984

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


ServletConfig接口

image-20241109154335901

方法

要注意ServletContext getServletContext()方法,用于返回当前执行的 Servlet 所在的 ServletContext 的引用。ServletContext 提供了与 Servlet 相关的环境信息和上下文,允许 Servlet 访问应用程序的参数、资源和其他重要数据。image-20241109154538976


Servlet接口

image-20241109154611873

方法

image-20241109154631922

servlet中的service()函数可以抛出两个excption:第一个 Servlet Exception 当 servlet 出现异常时;由于这个服务可能会涉及到输⼊输出,所以IOException是必然会有的,⽤来处理输⼊输出时可能遇到的问题。

除了和生命周期有关的三个方法(init、service、destroy)之外,还有两个getter,分别用于获取ServletConfigServletInfo


WebServlet注解

常用的Annotation还包括@WebListener、@WebFilter、@WebInitParam等等。

在Spring框架中还有注解:@Controller、@RequestMapping等等

比如

@Controller
public class NumberGuessController {@RequestMapping(path = { "/guess", "/" })//某方法………………
}

image-20241109154725477

注解可选属性

其实日常使用只会用到urlPatterns,是String[]类型的

//@WebServlet("/你项目的Serlvet Mapping")
@WebServlet("/hello") 

当然也可以是一组url,

@WebServlet(urlPatterns = {"/hello", "/greet"})

包含其他元素的写法是这样的:

@WebServlet(  name=...urlPatterns=……value = "/config",  initParams = {  @WebInitParam(name = "param1", value = "value1"),  @WebInitParam(name = "param2", value = "value2")  }  
)

image-20241109154747003


HttpServlet抽象类

继承自GenericServlet类,实现了Serializable、**Servlet、ServletConfig(这两个接口前面学习过)**接口。

image-20241109154916334

方法

image-20241109154950522


HttpServletRequest接口

这个类是⽤来给 HTTP 提供请求信息的,也是对ServletRequest的拓展。因为这个类封装了请求信息,所以⼏乎就没有set⽅法,可以通过这个类获取这些请求信息,如URI上下⽂(URL和查询字符串)、Cookies、HTTP报 头相关、HTTP⽅法(DOGHPPT),以及请求所在会话的相关信息(session)。

image-20241109155047101

方法

方法太多,还继承了interface javax.servlet.ServletRequest的方法,请参阅API文档:

  • ServletRequest

  • HttpServletRequest

把一些比较熟悉的方法摘取出来:

image-20241109185828244

image-20241109185911400

那为什么请求URL要想得到需要返回的是Stringbuffer类型⽽不是String类型的?因为实际上并没有完整现成的 URL,⽽是需要通过调⽤该函数根据已有的信息如URI和查询字符串合成⼀个URL,这就需要缓冲区来存储可能需要的数据。

image-20241109190715815


HttpServletResponse类

拓展 ServletResponse 来提供 HTTP 在发送响应时的功能。它可以通过特定的⽅法来访问 HTTP 头部和 cookies。 它的⽅法⽆⾮是操作HTTP协议报⽂:

  • 访问cookie
  • 访问数据报头(和它相关的操作)
  • 访问报头(和它相关的操作)
  • 设置状态码

image-20241109155441479

方法

方法太多,还继承了接口 javax.servlet.ServletResponse的方法,请参阅API文档:

  • ServletResponse
  • HttpServletResponse

可以关注一个与cookie相关的方法,其余主要与网页状态(status,比如404,500,200,101……)、回复格式、回复编码等有关。

image-20241109190304616


HttpSessionEvent类

这个类其实很简单,就是根据⼀个给定的事件源创建⼀个事件。事件是会话的事件,在事件结束后会使⽤下⾯的这个⽅法getSession返回那个被事件更新了的会话。这个类除了构造函数外就只有这⼀个⽅法。

image-20241109155651674

方法


HttpSessionAttributeListener接口

image-20241109155841380

方法

这个类是⽤来监听Http会话属性的改变的。⼀个HttpSession的事件会造成HttpSession属性的改变,Listener就 会监听这种改变。其中,对属性的操作就对应着该类的三个⽅法:增添属性、删除属性、替换属性。(没有查询!只有增改删!)

image-20241109155930768


Cookie类

image-20241109160030656

方法

⼀个cookie有⼀个名字、⼀个值、可选的属性:comment(描述)、path(路径)、domain(作⽤域)、age (寿命)、version(版本)。

image-20241109160107601


Tag接口

image-20241109160217229

image-20241109192454848

方法

image-20241109192631570

⼀个标签的⽣命周期是这样的:

image-20241109192557536


SimpleTag接口

image-20241109160306074

方法

image-20241109160322580


TagSupport类

tag接口⼀般不会去直接实现,⽽是实现⼀个tagSupport来继承tag。

image-20241109160402828

注意,这几个返回值要知道:

image-20241109192218061

image-20241109160419272

方法

image-20241109160437457


Filter接口

image-20241109160520381

方法

主要就是生命周期方法。

要注意的是doFilter方法,有三个参数,有一个FilterChain也包含一个doFilter方法,作用是调用链中的下一个doFilter方法或直接交给servlet。

image-20241109160537184


FilterChain接口

image-20241109160622607

方法

image-20241109160632021


FilterConfig接口

image-20241109160659229

方法


Action类

Action (Apache Struts API Documentation)

image-20241109181200921

方法

image-20241109181419318

ActionServlet

ActionServlet (Apache Struts API Documentation)

image-20241109182225053

image-20241109182542133

方法

image-20241109182605481

image-20241109182627762


ActionForm类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image-20241109181543680

可以看到ActionServlet是它的内部类。

方法

image-20241109181623178


ActionMapping类

image-20241109181928189

image-20241109181958552

方法

image-20241109182028172


ActionForward类

image-20241109181716054

image-20241109181819005

方法

image-20241109181852697


DynaActionForm类

image-20241109182111126


JspWriter类

image-20241109161045889

方法

主要是write、print、println等继承自父类Writer的常见方法。


JSP、Strut、Spring相关知识

JSP三大元素

  • 指令元素
  • 脚本元素
  • 动作元素

<%! … %> 是声明标签:定义⽅法的标签

<% … %> 是脚本段标签,⽤于声明局部变量;

<%= … %> 是Java表达式标签,⽤于包含⼀个直接转换成Java代码的Java表达式;

<%@ … %> 是指令元素标签,⽤来包含⼀个Page\Taglib\Include 指令

image-20241109191407064

image-20241109191243710

0cLI3Km-1731552715988)]

方法

主要是write、print、println等继承自父类Writer的常见方法。


JSP、Strut、Spring相关知识

JSP三大元素

  • 指令元素
  • 脚本元素
  • 动作元素

<%! … %> 是声明标签:定义⽅法的标签

<% … %> 是脚本段标签,⽤于声明局部变量;

<%= … %> 是Java表达式标签,⽤于包含⼀个直接转换成Java代码的Java表达式;

<%@ … %> 是指令元素标签,⽤来包含⼀个Page\Taglib\Include 指令

[外链图片转存中…(img-enZSleNs-1731552715988)]

[外链图片转存中…(img-eMMcYcdX-1731552715988)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/472944.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python · PyTorch】卷积神经网络(基础概念)

【Python PyTorch】卷积神经网络 CNN&#xff08;基础概念&#xff09; 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…

Python爬虫----python爬虫基础

一、python爬虫基础-爬虫简介 1、现实生活中实际爬虫有哪些&#xff1f; 2、什么是网络爬虫&#xff1f; 3、什么是通用爬虫和聚焦爬虫&#xff1f; 4、为什么要用python写爬虫程序 5、环境和工具 二、python爬虫基础-http协议和chrome抓包工具 1、什么是http和https协议…

Python学习笔记(2)正则表达式

正则表达式是一个特殊的字符序列&#xff0c;它能帮助你方便的检查一个字符串是否与某种模式匹配。 在 Python 中&#xff0c;使用 re 模块提供的函数来处理正则表达式&#xff0c;允许你在字符串中进行模式匹配、搜索和替换操作。 1 正则表达式 正则表达式(Regular Expressi…

整数唯一分解定理

整数唯一分解定理&#xff0c;也称为算术基本定理&#xff0c;是由德国数学家高斯在其著作《算术研究》中首次提出的。本文回顾整数唯一分解定理以及对应的几个重要结论。 一、整数唯一分解定理 整数唯一分解定理&#xff0c;也称为算术基本定理&#xff0c;是数论中的一个重…

小版本大不同 | Navicat 17 新增 TiDB 功能

近日&#xff0c;Navicat 17 迎来了小版本更新。此次版本新增了对 PingCap 公司的 TiDB 开源分布式关系型数据库的支持&#xff0c;进一步拓展了 Navicat 的兼容边界。即日起&#xff0c;Navicat 17 所有用户可免费升级至最新版本&#xff0c;通过 Navicat 工具实现 TiDB 数据库…

【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)

#IEEE出版|EI稳定检索#主讲嘉宾阵容强大&#xff01;多位外籍专家出席报告 2024健康大数据与智能医疗国际会议&#xff08;ICHIH 2024&#xff09;2024 International Conference on Health Big Data and Intelligent Healthcare 会议简介 2024健康大数据与智能医疗国际会议…

ADS项目笔记 1. 低噪声放大器LNA天线一体化设计

在传统射频结构的设计中&#xff0c;天线模块和有源电路部分相互分离&#xff0c;两者之间通过 50 Ω 传输线级联&#xff0c;这种设计需要在有源电路和天线之间建立无源网络&#xff0c;包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损…

客厅打苍蝇fly测试总结1116

项目介绍:本项目是关系食品安全重大项目&#xff0c;针对屋子里有苍蝇的问题&#xff0c;通过分析苍蝇特性及对场景分类&#xff0c;设计测试用例16条&#xff0c;有效击杀苍蝇17头&#xff0c;房间里面已经看不到苍蝇的活动痕迹。比较传统蚊拍击打容易在物体表面形成难看且赃的…

物理hack

声明 声明 文章只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 ✍&#x1f3fb;作者简介&#xff1a;致力于网络安全领域&#xff0c;目前作为一名学习者&#xff0c;很荣…

go 集成swagger 在线接口文档

安装swaggo go install github.com/swaggo/swag/cmd/swaglatest 编写swag import ("github.com/gin-gonic/gin""goWeb/internal/service""goWeb/model/response" )// UserRouter 路由 func UserRouter(ctx *gin.RouterGroup) {ctx.GET("/…

学习threejs,使用第一视角控制器FirstPersonControls控制相机

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️第一视角控制器FirstPerson…

基于Java Web 的家乡特色菜推荐系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

HMI FUXA测试

Foxa官网 foxa tutorialhttps://github.com/frangoteam/FUXA/wiki/Getting-Started 1 概述 FUXA是基于Web的&#xff0c;过程&#xff08;SCADA、HMI、看板等&#xff09;可视化软件。可创建现代的过程可视化&#xff0c;使用独立的设计器&#xff0c;显示机器和实时数据。 …

数据分析-Excel基础操作

目录 周报讲解 基础概念 理解数据 筛选excel表 数据透视表 插入数据透视表 新建字段 切片器&#xff08;筛选&#xff09; 数据透视图 Excel常用函数 sum&#xff08;求和&#xff09; 1-8月GMV 1月和8月GMV sumif&#xff08;条件求和&#xff09; sumifs 日G…

git创建远程仓库,以gitee码云为例GitHub同理

git远程Remote服务端仓库构建的视频教程在这 Git建立服务端Remote远程仓库&#xff0c;gitee码云例&#xff0c;Github_哔哩哔哩_bilibili 1、登gitee码云/Github 登录 - Gitee.com https://github.com/ &#xff08;没账号的注册一下就行&#xff09; 点击如下图位置的创…

【Android、IOS、Flutter、鸿蒙、ReactNative 】启动页

Android 设置启动页 自定义 splash.xml 通过themes.xml配置启动页背景图 IOS 设置启动页 LaunchScreen.storyboard 设置为启动页 storyboard页面绘制 Assets.xcassets 目录下导入图片 AppLogo Flutter 设置启动页 Flutter Android 设置启动页 自定义 launch_background.xm…

深入理解Flutter生命周期函数之StatefulWidget(一)

目录 前言 1.为什么需要生命周期函数 2.开发过程中常用的生命周期函数 1.initState() 2.didChangeDependencies() 3.build() 4.didUpdateWidget() 5.setState() 6.deactivate() 7.dispose() 3.Flutter生命周期总结 1.调用顺序 2.函数调用时机以及主要作用 4.生…

MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能

MacOS下&#xff0c;如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能 在Mac上的Safari浏览器中&#xff0c;可以通过实况文本功能来实现图片中的文本翻译。关闭步骤具体步骤如下&#xff1a; 在浏览器地址栏&#xff0c;鼠标右击翻译按钮&#xff0c;然后点击“首选…

IDC 报告:百度智能云 VectorDB 优势数量 TOP 1

近日&#xff0c;IDC 发布了《RAG 与向量数据库市场前景预测》报告&#xff0c;深入剖析了检索增强生成&#xff08;RAG&#xff09;技术和向量数据库市场的发展趋势。报告不仅绘制了 RAG 技术的发展蓝图&#xff0c;还评估了市场上的主要厂商。在这一评估中&#xff0c;百度智…

本地部署Apache Answer搭建高效的知识型社区并一键发布到公网流程

文章目录 前言1. 本地安装Docker2. 本地部署Apache Answer2.1 设置语言选择简体中文2.2 配置数据库2.3 创建配置文件2.4 填写基本信息 3. 如何使用Apache Answer3.1 后台管理3.2 提问与回答3.3 查看主页回答情况 4. 公网远程访问本地 Apache Answer4.1 内网穿透工具安装4.2 创建…