Servlet基础_0500_Application

2023-11-08

一.application概念:

application即ServletContext,能够被所有的客户端页面共享,不同的浏览器,不同电脑上的浏览器

演示:

//ServletContextTest.java

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletContextTest extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		//这块内存可以被所有客户端共享
		ServletContext application = this.getServletContext();
		Integer count = (Integer)application.getAttribute("accessCount");
		if(count==null){
			count = new Integer(0);
		}else{
			count ++;
		}
		application.setAttribute("accessCount", count);
		out.println(count);
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doGet(request, response);
	}
	
}

将这个页面配置好,访问: http://localhost:8080/Servlet_0500_Application/ServletContextTest ,不断刷新,发现数值在增长;换个浏览器,重新访问,发现值还在增加

注意application实际上指的是ServletContext接口,HttpServlet继承自GenericServlet,GenericServlet实现了ServletConfig接口,ServletConfig接口中有个getServletContext()的抽象方法,ServletContext application = this.getServletContext(),得到的就是这个ServletContext具体实现。

证明application是能被所有的客户端共享的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Servlet基础_0500_Application 的相关文章

  • 如何捕获整数(0)?

    假设我们有一个语句可以生成integer 0 e g a lt which 1 3 5 捕捉这个最安全的方法是什么 这是 R 打印零长度向量 整数一 的方式 因此您可以测试a长度为 0 R gt length a 1 0 可能值得重新考虑您
  • 是否有符号到无符号的转换以及返回,定义了整数的行为?

    include
  • 为什么 C 提供的整数类型对于基本上任何项目来说都不够好?

    我更像是一名系统管理员而不是程序员 但我确实花费了大量的时间研究程序员的代码 试图找出问题所在 以及数量令人不安的that当程序员期望 u ll int32 t 或其他任何定义 是的 我知道这不是真的 但要么期望定义该类型的文件位于其他地方
  • 在 C# 中检查 double 是否为整数的好方法是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 如何判断小数 双精度数是否为整数 https stackoverflow com questions 2751593 how to determine if a decimal double is a
  • 如何在T-SQL中将DateTime转换为精度大于天的数字?

    下面的两个查询都转换为相同的数字 SELECT CONVERT bigint CONVERT datetime 2009 06 15 15 00 00 SELECT CAST CONVERT datetime 2009 06 15 23 0
  • 如何在 erlang 中格式化包含整数的平面字符串?

    在erlang中 我想格式化一个包含整数的字符串 并且我希望结果被展平 但我明白了 io lib format sdfsdf B 12312 115 100 102 115 100 102 32 12312 我可以使用下面的代码获得所需的结
  • 如何在 JavaScript 中使用自定义 n 长度字符集打印 n 位数字而不使用 toString

    以同样的方式 我们使用字符得到十六进制 数字 123456789abcdef 你可以简单地做integer toString 16 从整数到十六进制 gt 16 toString 16 10 我想改用自定义字符集和自定义基础 所以对于十六进
  • leetcode 逆整数——如何处理溢出

    问题是 反转整数的数字 示例1 x 123 返回321 示例2 x 123 返回 321 您是否注意到反转的整数可能会溢出 假设输入是32位整数 那么1000000003的逆序就会溢出 遇到此类情况应该如何处理 抛出异常 很好 但是如果不能
  • 检查字符串变量是否具有整数值

    我正在开发一个项目 允许孩子们向圣诞老人发送消息 不幸的是 如果他们在 AGE 字段中输入字符串而不是整数 则程序会崩溃并返回 Conversion from string exampleString to type Double is n
  • 字符串到整数

    假设你有字符串 Hi 你如何得到一个值8 9 H 是字母表中的第 8 个字母 并且 i 是第 9 个字母 然后说 添加1到这些整数并使其9 10然后可以将其重新放入字符串中 Ij 是否可以 Note卡里 斯沃夫兰 Cary Swovelan
  • 按长度对数组排序

    我有以下数组 http jsfiddle net 3NZsK http jsfiddle net 3NZsK 我需要按数组的长度对数组进行排序 如何找出数组中最大 第二大 第三大 最小哪一个 例如 我有以下虚拟函数 它可以获取第二大数组 h
  • 我如何将 int 数组转换为字符串数组[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个整数数组 int a 5 5 21 456 1 3 我需要将这些数字存储到char数组 这样 char 数组将具有如下内容 c
  • 如何在 C 中使用 write() 函数写入整数? [复制]

    这个问题在这里已经有答案了 我是 C 菜鸟 正在尝试使用write 显示整数的函数 这是我的代码 int n 7 write 1 n 4 我想展示7 但是当我设置时程序没有显示任何内容或其他奇怪的字符n到一个大数字 我缺少什么 类似的对象i
  • 最有效的便携式溢出检测? [复制]

    这个问题在这里已经有答案了 与 C C 和 D 等金属语言类似 检测无符号 64 位溢出的最有效 合理可移植的方式是什么 即不使用汇编程序 尽管您可能假设二进制补码算术和环绕行为 乘法中的整数 通过将无符号类型可表示的最大值除以被乘数之一
  • Javascript解析int64

    如何将长整数 作为字符串 转换为 Javascript 中的数字格式而不用 javascript 对其进行四舍五入 var ThisInt 9223372036854775808 alert ThisInt r parseFloat Thi
  • 仅使用整数求平方根

    最近 我在某人的编程课上遇到了一个问题 它要求他们仅使用整数来计算平方根 他们用一个整数来表示小数点之前的部分 用另一个整数来表示小数点之后的部分 问题说不允许使用浮点数 然而 经过一段时间的思考 我似乎无法想出一种不使用浮点的方法 我用谷
  • 如何使Python中的浮点值显示.00而不是.0?

    简单的问题 抱歉我无法弄清楚 我有一些数字是由 浮动 字符串 它们显示为 xxx 0 但如果确实是整数 我希望它们以 00 结尾 我该怎么做 Thanks EDIT Python 说 float 没有 cal format gt gt gt
  • 在 Python 中将 int 转换为 ASCII 并返回

    我正在为我的网站制作一个 URL 缩短器 我当前的计划 我愿意接受建议 是使用节点 ID 来生成缩短的 URL 因此 理论上 节点 26 可能是short com z 节点 1 可能是short com a 节点 52 可能是short c
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 如何对无法存储在一个变量中的大数字进行运算

    在Java中 我希望能够对非常大的整数 不能存储在long中 进行操作 我该怎么做 在表现良好的情况下 处理这个问题的最佳方法是什么 我应该创建自己的包含多个长变量的数据类型吗 Example public class MyBigInteg

随机推荐

  • 完美解决无法安装node-sass的问题

    很多人都会遇到这类问题 利用搜索引擎搜索一大堆解决方案 最终都不尽人意 所以下面我来为大家解决一下 希望看到的朋友少踩坑 如果你遇到其它的奇葩问题 欢迎给我留言 因为很多坑我都踩过 希望大家可用互帮互助 首先大家安装npm cnpm yar
  • VS2017中将调试信息输出到输出窗口

    在开发过程中输出调试信息总是必不可少的 之前习惯性的使用cout和printf 发现并不能输出调试信息到输出窗口中 后来通过网上了解之后 cout和printf只能输出信息到dos窗口中 但是如果我们的界面中不需要用到dcs窗口呢 经过网上
  • GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍

    GMII RGMII SGMII TBI RTBI接口信号及时序介绍 千兆以太网MII接口类型主要有GMII RGMII SGMII TBI和RTBI 五种 GMII接 如下图 与MII接口相比 GMII的TX RX数据宽度由4位变为8位
  • MySQL学习总结(错误处理、游标、触发器)

    目录 一 错误处理 1 自定义错误名称 2 自定义错误处理程序 二 游标 1 操作流程 1 定义游标 2 打开游标 3 利用游标检索数据 4 关闭游标 2 使用游标检索数据 三 触发器 1 触发器概述 2 触发器的基本操作 1 创建触发器
  • pro e打开服务器文件,Pro/E要打开文件

    1 单击 文件 File 并从 文件 File 菜单底部的文件中选取一个文件 最近打开的四个文件会列在其中 要打开一个未列出的文件 可转到步骤 2 注解 创建某文件时 必须先保存该文件 然后它才会出现在 文件 File 菜单上的最近列表中
  • Java中int与Integer、Long与long有什么区别?

    今天在写代码时 突然测试方法疯狂报错 仔细检查了code几遍 确认无红线 既然代码书写没有错误 那为什么报关于long类型的错误 无奈之下 把DO Info Order 再次详细对照了一次 总算发现问题所在 因为项目中用到了Info整体赋值
  • 【oracle】 当前时间列表

    https www cnblogs com mwd banbo p 10401286 html https www iteye com blog appleses 1531048 SELECT listagg to char trunc s
  • 线程(Linux系统实现)

    目录 1 线程概述 2 主线程和子线程 3 创建线程 线程函数 创建线程示例 4 线程退出 线程退出的原理主要包括以下两个方面 5 线程回收 回收子线程数据 6 线程分离 7 线程取消 8 线程 ID 比较 1 线程概述 线程是轻量级的进程
  • Windows最全DOS的CMD命令

    CMD命令 开始 gt 运行 gt 键入cmd或command 在命令行里可以看到系统版本 文件系统版本 1 appwiz cpl 程序和功能 2 calc 启动计算器 3 certmgr msc 证书管理实用程序 4 charmap 启动
  • Python爬虫可以干什么?Python入门必看!

    在爬虫领域 Python几乎是霸主地位 虽然C Java GO等编程语言也可以写爬虫 但Python更具优势 不仅拥有优秀的第三方库 还可以为我们做很多的事情 那么Python爬虫可以干什么 Python爬虫有什么用 想必很多人都比较好奇
  • 【机考】华为OD2022.11.01机考题目思路与代码

    题目一 描述 输入一个长度为4的倍数的字符串 字符串中仅包含WASD四个字母 将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换 如果替换后整个字符串中WASD四个字母出现的频数相同 那么我们称替换后的字符串是 完美走位 求子串
  • keil5如何打开智能提示

    在使用keil中需要敲上许多重复代码 并且经常需要调用别人写好的包 这时候我们总不能每句代码都重复的敲一遍 这样不仅没有效率 还要去花时间记住许多自己或许不常用的代码 这时候就需要智能提示来帮助我们了 第一步 打开编辑Edit 目录里找到设
  • Kubernetes(k8s)安装和搭建集群时kubeadm init失败

    Kubernetes k8s 按官方文档描述安装和搭建集群遇到kubelet状态异常 环境 Cenots 7 9 2009 adm64 我在搭建master节点时通过以下命令安装了docker kubelet kubectl kubeadm
  • 建立实体-关系模型(案例)

    一 标识实体 通常有用户 角色这两个实体 二 标识关系 用户与角色间为多对多的互相拥有关系 三 标识实体 关系的属性 不仅仅是实体有属性 关系同样也有属性 这些属性在实体间建立关系时才会存在 有时属性太多 无法在图上一一列出 可以用表格 在
  • AndroidStudio运行项目时的Run/debug configurations问题

    今天遇到的问题一个接一个 在调试项目时突然不能调试 但并没有报代码出错 看Logcat提示的是Android SDK没配置 还有一个明显不同之处 就是右上角那个显示当前项目名称的地方 显示的是app还有一个红叉 根据提示是配置Android
  • Spring Cloud Bus消息总线

    目录 一 概述简介 1 1 Bus是什么 1 2 Bus能干嘛 1 3 为何被称为总线 二 RabbitMQ环境配置 2 1 windows下载与安装 2 2 使用RabbitMQ 三 Bus动态刷新全局广播 3 1 Bus设计思想 3 2
  • PHP 获取当天凌晨时间戳

    总结几种PHP 获取当天凌晨时间戳方法 首先设置时区 header Content type text html charset utf 8 设置北京时间为默认时区 date default timezone set PRC 方法一 当天的
  • Django Error——Requested setting INSTALLED_APPS, but settings are not configured.

    django core exceptions ImproperlyConfigured Requested setting INSTALLED APPS but settings are not configured You must ei
  • jupyter notebook主题、字体、字号管理工具

    jupyter notebook编写 调试代码非常方便 但是其默认主题和字体实在是太难看了 因此大家一般都有修改主题的想法 感谢GitHub上的大神提供了一款主题管理工具 网上已经有文章提出其使用方法 如 jupyter notebook
  • Servlet基础_0500_Application

    一 application概念 application即ServletContext 能够被所有的客户端页面共享 不同的浏览器 不同电脑上的浏览器 演示 ServletContextTest java package com servlet