1.概念:Extensible Markup Language 可扩展标记语言
2.基本语法:
3.组成部分
作为xml文档的书写规则
操作xml文档,将文档中的数据读取到内存中
概念:运行在服务器端的小程序
在类上使用注解进行配置
Servlet(接口)---->GenericServlet(抽象类)---->HttpServlet(抽象类)
request和response对象是由服务器创建的
简化数据封装
HTTP 协议是一种无状态协议
,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性
Web Cookie
和浏览器 Cookie
,它是服务器发送到 Web 浏览器的一小块数据。服务器发送到浏览器的 Cookie,浏览器会进行存储,并与下一个请求一起发送到服务器。通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。内存空间
,这个对象便是 Session 对象,存储结构为 ConcurrentHashMap
。Session 弥补了 HTTP 无状态特性,服务器可以利用 Session 存储客户端在同一个会话期间的一些操作记录
<%指令名称 属性名1=属性值1 属性名2=属性值2 ...%>
public class JedisPoolUtils {
private static JedisPool jp;
static {
//读取配置文件
InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
//创建Properties
Properties pro = new Properties();
try {
pro.load(is);
} catch (IOException e) {
e.printStackTrace();
}
//创建JedisPoolConfig对象
JedisPoolConfig jpc = new JedisPoolConfig();
//获取数据,设置到JedisPoolConfig中
jpc.setMaxTotal(Integer.parseInt(pro.getProperty("redis.pool.maxTotal")));
jpc.setMaxIdle(Integer.parseInt(pro.getProperty("redis.pool.maxIdle")));
//初始化JedisPool
jp = new JedisPool(jpc, pro.getProperty("redis.ip"), Integer.parseInt(pro.getProperty("redis1.port")));
}
//获取连接方法
public static Jedis getJedis() {
return jp.getResource();
}
}