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.mzph.cn/web/59470.shtml

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

相关文章

Yocto项目 - VIRTUAL-RUNTIME,它有什么用?

Yocto 项目是一个完整的 Linux 分布构建工具集&#xff0c;提供了构建完全自定义小型核心或完整应用的能力。在这样一个构建系统中&#xff0c;VIRTUAL-RUNTIME这个概念是应用构建和选择处理中的重要部分。这篇文章将从概念、优势、应用场景和实战案例几个方面&#xff0c;全面…

基于微信小程序的乡村研学游平台设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自…

深入探索 TypeScript:从基础到高级特性

深入探索 TypeScript&#xff1a;从基础到高级特性 一、引言 在现代软件开发领域&#xff0c;TypeScript 已经成为了一种极具影响力的编程语言。它基于 JavaScript&#xff0c;并为其添加了强大的静态类型系统&#xff0c;使得代码在开发阶段就能进行更严格的类型检查&#x…

【Qt】在 Qt Creator 中使用图片资源方法(含素材网站推荐)

先准备图片资源 推荐一个好用的图标素材网站&#xff0c;有很多免费资源。 Ic, fluent, animal, dog, filled icon - Free download 其他辅助工具&#xff0c;类似 AI 抠图去背景&#xff0c;实测效果还行&#xff0c;但是非免费。 美图秀秀-在线一键抠图&#xff0c;无需P…

linux虚拟机无法使用yum在线拉取

提示的具体消息如下 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribut…

CTFhub靶场RCE学习

靶场 eval执行 <?php if (isset($_REQUEST[cmd])) {eval($_REQUEST["cmd"]); } else {highlight_file(__FILE__); } ?> PHP代码显示&#xff0c;要求将命令赋值给cmd然后执行 先查看一下根目录文件 ?cmdsystem("ls");&#xff01;切记最后的分…

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用&#xff0c;职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室&#xff0c;为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台&#xff0c;以促进云计算技术…

MQ集群

目录 MQ集群 集群分类 普通集群 集群结构和特征 集群的部署 获取cookie 准备集群配置 启动集群 镜像模式 镜像模式的特征 镜像模式的配置 exactly模式 仲裁队列 集群特征仲裁队列&#xff1a;仲裁队列是3.8版本以后才有的新功能&#xff0c;用来替代镜像队列&#…

UE5.2 C++ 实现拍照功能-带UI截图

整理了下&#xff0c;结合知乎上的一篇分享和自己的理解&#xff0c;最后总结出的一份带UI截图的代码&#xff0c;因为开发时间跨度有点大&#xff0c;中间有几天去玩游戏了&#xff0c;忘记之前参考的网页了&#xff0c;如果有知道的&#xff0c;欢迎留言补充。 头文件&#…

券商隔夜单自动下单交易接口

之前研究打板排板&#xff0c;研究怎么才能买得进去。 最近遇到几只利空跌停板&#xff0c;缩量跌停&#xff0c;明天大概率继续一字封板跌停。 如果卖不掉&#xff0c;意味着还要继续吃几个跌停&#xff0c;甚至ST票十几个跌停都有可能。 一次跌停亏几万&#xff0c;还是挺…

spi 回环

///tx 极性0 &#xff08;sclk信号线空闲时为低电平&#xff09; /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …

基于物联网的温室大棚控制系统

本设计采用物联网方案&#xff0c;用STM32f103c8t6作为主控芯片&#xff0c;采用DHT11作为温湿度传感器&#xff0c;采集CO2使用JW01-CO2-V2.2传感器模块&#xff0c;并且通过BH1750传感器模块采集光照&#xff0c;通过土壤湿度传感器来获取大棚内部土壤湿度&#xff0c;ESP-01…

初级数据结构——栈

目录 前言一、栈的基本概念二、栈的实现方式三、栈的性能分析四、栈的应用场景五、栈的变体六、出栈入栈的动态图解七、代码模版八、总结结语 前言 数据结构栈&#xff08;Stack&#xff09;是一种线性的数据结构&#xff0c;它只允许在序列的一端&#xff08;称为栈顶&#x…

信号-3-信号处理

main 信号捕捉的操作 sigaction struct sigaction OS不允许信号处理方法进行嵌套&#xff1a;某一个信号正在被处理时&#xff0c;OS会自动block改信号&#xff0c;之后会自动恢复 同理&#xff0c;sigaction.sa_mask 为捕捉指定信号后临时屏蔽的表 pending什么时候清零&…

OpenSSL 自签名

参考文档&#xff1a;unigui开发人员工作手册2021 参考文章&#xff1a;保姆级OpenSSL下载及安装教程-CSDN博客 下载 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 进入后向下拉找到下载位置&#xff0c;建议下载二进制版本的精简版&#xff0c…

Facebook 广告不展示的原因以及解决方法

很多小伙伴在进行Facebook广告投放时会遇到广告不展示的情况&#xff0c;那么遇到这种情况该怎么分析问题并解决呢&#xff1f;本文将为大家揭晓答案。 1. 主页错误或未发布 问题&#xff1a;主页可能存在错误或未正式发布。 解决方案&#xff1a;停用并重新激活主页。 访…

前端vue 列表中回显并下拉选择修改标签

1&#xff0c;vue数据列表中进行回显状态并可以在下拉框中选择修改&#xff0c;效果如下 2&#xff0c;vue 页面关键代码 <el-table-column label"审核" align"center" class-name"small-padding fixed-width" prop"status" >&…

安全见闻 -- 二进制与网络安全的关系

声明&#xff1a; 本文的学习内容来源于B站up主“泷羽sec”的公开分享&#xff0c;所有内容仅限于网络安全技术的交流学习&#xff0c;不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题&#xff0c;请联系本人&#xff0c;我将立即删除相关内容。 本文旨在帮助网络安全爱好…

Spark 读取 HDFS 文件时 RDD 分区数的确定原理与源码分析

在 Spark 中&#xff0c;RDD 的分区数对于并行计算的效率非常重要&#xff0c;SparkCore 读取 HDFS 文件时 RDD 分区数的确定受多方面因素的影响。本文将从源码的角度分析 Spark 如何确定 RDD 分区数&#xff0c;并通过代码示例和案例帮助理解分区策略。 Spark RDD 分区数确定…

Python | Leetcode Python题解之第559题N叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution:def maxDepth(self, root: Node) -> int:if root is None:return 0ans 0queue [root]while queue:queue [child for node in queue for child in node.children]ans 1return ans