【Java寒假打卡】JavaWeb-ServletContext

news/2024/11/27 20:38:17/

【Java寒假打卡】JavaWeb-ServletContext

    • 概述
    • 域对象
    • ServletContext的配置方式
    • ServletContext的常用方法
    • ServletContext共享数据的方法

概述

  • ServletContext是应用上下文对象(应用域对象)。每一个应用中只有一个ServletContext对象
  • 作用:可以配置和获得应用的全局初始化参数,可以实现Servlet之间的数据共享
  • 生命周期:应用一加载则创建,应用被停止则销毁。

在这里插入图片描述

域对象

  • 域对象指的是对象有作用域。也就是有作用范围。域对象可以实现数据的共享。不同作用范围的域对象,共享数据的能力也不一样。
  • 在Servlet规范中,一共有四个域对象。ServletContext就是其中的一个。他也是web应用中最大的作用域,也叫application域,它可以实现整个应用之间的数据共享。

ServletContext的配置方式

在这里插入图片描述

注意:配置ServletContext不能再servlet标签下进行配置,必须在web-app标签下面进行配置 因为他是多个servlet资源的共享的配置,不是某一个独有的配置

<!--配置servletContext--><context-param><param-name>globalEncoding</param-name><param-value>UTF-8</param-value></context-param><context-param><param-name>globalDesc</param-name><param-value>This is ServletContext</param-value></context-param>

ServletContext的常用方法

在这里插入图片描述

 @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取ServletContext对象ServletContext context = getServletContext();// 根据key获取valueString globalDesc = context.getInitParameter("globalDesc");System.out.println(globalDesc);// 获取应用的虚拟目录String contextPath = context.getContextPath();System.out.println(contextPath);// 根据虚拟目录获取绝对路径 getRealPathString realPath = context.getRealPath("/");System.out.println(realPath);}

ServletContext共享数据的方法

不同servlet共享数据的方法

在这里插入图片描述

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取ServletContext对象ServletContext context = getServletContext();// 根据key获取valueString globalDesc = context.getInitParameter("globalDesc");System.out.println(globalDesc);// 获取应用的虚拟目录String contextPath = context.getContextPath();System.out.println(contextPath);// 根据虚拟目录获取绝对路径 getRealPathString realPath = context.getRealPath("/");System.out.println(realPath);// 设置共享数据 使得不同的servlet都可以访问到该共享数据context.setAttribute("username","xxx");// 根据key获取共享数据Object uesrname = context.getAttribute("uesrname");System.out.println(uesrname);context.removeAttribute("username");// 移除共享数据  根据Key}

http://www.ppmy.cn/news/18621.html

相关文章

java spring IOC外部Bean注入

外部Bean注入也是一种Bean操作的属性注入 但这次我们要注入的是一个类对象 我们先创建spring项目 引入基本依赖 然后在src下创建两个包 gettingStarted 和 generate 这个名字可以随便取 但和我同名 可以让你们不会出现 名称不一样导致资源找不到的问题 然后在 gettingStarte…

文件操作详解-IO

目录 1.认识文件 2.文件的类型 3.java对文件的操作 针对文件系统操作 针对文件内容操作 字节流 字符流 字节流的使用 字符流的使用 4.文件IO小程序练习 示例1 示例2 1.认识文件 狭义的文件指的是硬盘上的文件和目录 广义的文件泛指计算机中的很多的软硬件资源,操…

图的最短路径

文章目录最短路径Dijkstra算法邻接表邻接矩阵Bellman-Ford算法邻接表邻接矩阵Floyd-Warshall算法邻接表邻接矩阵源代码邻接表邻接矩阵最短路径 概念 从在带权有向图G中的某一顶点出发, 找出一条通往另一顶点的最短路径, 最短也就是沿路径各边的权值总和达到最小. 分类 单源…

尚硅谷-分布式锁

分布式锁 在应用开发中&#xff0c;特别是web工程开发&#xff0c;通常都是并发编程&#xff0c;不是多进程就是多线程。这种场景下极易出现线程并发性安全问题&#xff0c;此时不得不使用锁来解决问题。在多线程高并发场景下&#xff0c;为了保证资源的线程安全问题&#xff…

Tkinter的Label与Button

Tkinter是Python的一个内置包&#xff0c;主要用于简单的界面设计&#xff0c;使用起来非常方便。 目录 一、创建界面 1. 具体步骤 1.1 导入tkinter包 1.2 tk.Tk()函数&#xff1a;创建一个主界面&#xff0c;并命名为root 1.3 root.title()函数&#xff1a;给root界面设置…

行人属性识别研究综述(二)

文章目录6 PAR&#xff08;行人属性识别&#xff09;算法综述6.1全局基于图像的模型6.1.1 ACN (iccvw-2015)6.1.2 DeepSAR and DeepMAR (ACPR-2015) [6]6.1.3 MTCNN (TMM-2015) [7]6.2 基于部件的模型6.2.1 Poselets (ICCV-2011)6.2.2 rad (iccv-2013)6.2.3 PANDA (cvp -2014) …

「链表」简析

前言 前言&#xff1a;研究一个数据结构的时候&#xff0c;首先讲的是增删改查。 文章目录前言一、链表简介1. 含义2. 节点组成3. 存储方式1&#xff09;数据在内存中的存储方式2&#xff09;单链表在内存中的存储方式3&#xff09;双链表在内存中的存储方式4&#xff09;循环链…

【论文翻译】End-to-End Human Pose and Mesh Reconstruction with Transformers

【cvpr论文】End-to-End Human Pose and Mesh Reconstruction with Transformers (thecvf.com) 【github】microsoft/MeshTransformer: Research code for CVPR 2021 paper "End-to-End Human Pose and Mesh Reconstruction with Transformers" (github.com) 摘要 我…