ServletContext与静态变量(static)的区别,数据库连接池放在哪里
这种是放在static中,03_用servlet、request和Druid技术写登录案例 java——数据库连接池——druid_基本使用
这是放在ServletContext中,使用ServletContext缓存数据源 通过实现ServletContextListener接口创建数据库连接池(C3P0方式)
pageContext,Request,Session,servletContext,类变量,局部变量六个范围的区别:
1) Request: 保存的键值仅在同一个request范围中可以取回来。它的范围比Session和servletContext小,缺点是;因范围小无法取,比如访问了两次,第二次无法 取回第一次的,就只能想办法,比如用Session。优点:和Session和servletContext相比,用完就仍,省服务器内存。
2) Session: 与每一个用户浏览器相对应。从Session第一次创建直到关闭,数据都一直保存在服务器内存,所以客户可以一直访问,不用每次都去数据库抓取,提高了性 能。缺点:每个客户的session不能像servletContext那样共享,可能造成大量重复数据;另外session技术建立在cookie和 url重写的基础上。为了让服务器能识别每一个用户浏览器,在来往过程中,需带上Session ID的信息,这样会用掉一点点网络带宽。当有很多用户访问服务器时,这是一笔不小的开销。
3)servletContext: 你的web应用从启动到关闭,这个对象一直有效。所有范围中,它最大。保存的数据可以被所有用户所有servlet访问。(servletContext和servlet的类变量的区别就是:servlet的类变量只能被本身这个servlet访问,不能被其它servlet访问。)优点:少访问数据库。缺点:不像Session一样私密。
Servlet里的ServletContext与类静态变量的区别
大家都知道Servlet里的ServletContext放数据是整个网站共享,而我用一个类定义一个静态变量,这个静态变量也可以被整个网站共享。
比如说,我现在要统计网站的访问人数,使用ServletContext可以,但其实我在Servlet里使用一个静态变量来做记录也可以,请问这两者的区别是什么?------解决方案--------------------
静态变量是写在代码里的,如果需要修改,每次都要改源码,再重新编译。
ServletContext可以读取配置文件,就不需要重新编译了。
ServletContext与静态变量(static)的区别,数据库连接池放在哪里的更多相关文章
- 静态变量(static)的特点
静态变量(static):有局部变量,也有全局变量. 静态局部变量:在函数体内用static说明的变量称为静态局部变量,属于静态类别. 特点: (1)它占据一个永久性的存储单元.随着文件的存在而存在. ...
- 静态变量static和extern外引用
静态变量--加static关键字的变量,特点: (1)在全局数据区中分配内存,每次对其值得修改都会保留结果,直至程序结束. (2)若静态变量没显示初始化,那会被自动初始化为0,并且只能初始化一遍. 1 ...
- java中的静态变量---static
用static修饰符修饰的数据成员,并不是属于那个对象的,而是属于类.静态数据成员在定义的时候已经分配了内存,而此时对象还没有建立好. 当然它也是被保存到类的方法中的,而不是对象内存中,大家都是可以访 ...
- android中少用静态变量(android静态变量static生命周期)
在android中,要少用静态变量. 我现在做的一个应用中,之前的开发人员使用静态变量来存储cookie,这个全局的静态变量用来验证身份. 这时客户反应,应用长时间不使用,再次使用,会提示身份过期. ...
- 静态变量static
1.在我们平时些程序中我们经常需要一些变量的他们能纪录我们所需要的值,但是平常的int类型达不到这样的目的,所以呢就有了static的基态变量,静态变量就像 B/S中的session,cookio等 ...
- swift -- 静态变量static
import UIKit class ViewController: UIViewController { //静态变量 swift中的static静态变量,只能在这里声明,不能在方法中声明 ...
- Java中的静态变量static
package com.wangcf; public class Test { String name="你好"; static String sex="男"; ...
- php静态变量static
静态变量 function test() { static $a = 0; echo $a; $a++; } test(); test(); test();
- C#中为什么不能再方法里定义静态变量(Static)
c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候. 如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题 ...
- SpringBoot项目给静态变量static注入@Value
@value不能直接注入值给静态属性,spring 不允许/不支持把值注入到静态变量中:spring支持set方法注入,我们可以利用非静态setter 方法注入静态变量 @Component publ ...
随机推荐
- RPC实战与核心原理之健康检测
健康检测:这个节点都挂了,为啥还要疯狂发请求 回顾 超大规模集群"服务发现"的挑战,服务发现的作用就是实时感知集群 IP 的变化,实现接口跟服务集群节点 IP 的映射.在超大规模集 ...
- The Eclipse executable launcher was unable to locate its companion shared library
win10,笔者是安装eclipse2018.03的情况下,想安装java2019EE遇到的路径问题 1.解决方法 找到配置文件 打开,用记事本打开的话会糊成一行,建议用其他方式打开,例如笔者所用的N ...
- chrome和firefox driver使用代理
chrome chromedriver使用代理示例 from selenium import webdriver from selenium.webdriver import DesiredCapab ...
- 20244104陈思淼 《Python程序设计》实验三报告
课程:<Python程序设计> 班级:2441 姓名:陈思淼 学号:20244104 实验教师:王志强 实验日期:20254月20日 必修/选修: 公选课 1.实验内容 创建服务端和客户端 ...
- 2023人形全能赛v831代码(包括YOLOv2识别和扫码以及颜色识别)
v831 import time, math from maix import nn, camera, display, image import serial class YOLOv2: def _ ...
- SpringBoot的学习
SpringBoot SpringBoot最核心的东西:自动装配!!! 很重要! 以及他的SpringApplication.run(); 方法 配置用什么写:可以用xml, 和springboot自 ...
- 使用hive数据查询小结
业务背景: 公司大数据查询需要通过hive查询和分析一些数据 产品提出业务分析需求: 我的处理方式: 接到需求就想怎么写SQL语句,然后不断调整SQL语句进行验证,最后这个需求写了170行的SQL语句 ...
- 控制ERP物料主数据通过Middleware传往CRM
先说一下优化过滤的必要性. CRM物料主数据一百多万. 感谢MDM或者相关的系统,每天通过接口更新的不知道什么东西,每天数百万的物料更新队列进入CRM. CRM系统被搞死了好几次. 然后各种优化报表, ...
- 大模型VS小模型:论国产数据库运维AI Agent的正确打开方式
作者:孙鹏,大衍(北京)科技有限公司研发工程师 首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 "老纪的技术唠嗑局",会持续更新和 #数据库.#AI.#技术架构 相 ...
- Java 开发者无痛迁移到 Cursor 开启AI编程新生涯
习惯了IntelliJ IDEA的Java开发者,想尝试Cursor.Windsurf或Trae这类新兴的AI IDE,却担心迁移成本? 本文分享我的实战经验,帮助你高效切换开发环境,保留核心效率.效 ...