Session和Cookie
创始人
2024-03-16 08:24:30
0

回顾

1.Servlet API
2.HttpServlet
DoXXX处理哪种Http方法会调用到对应的方法
init/destroy/service—>servlet的生命周期
3.HttpServletRequest Http请求 get系列方法
协议名(版本号)
url
query string
header
query String/body
HttpServletResponse Http响应 set系列方法

状态码
各种header
body


正文

当前表白墙写了多个DataSourse,使用单例模式优化
饿汉:类加载创建实例
懒汉:效率更高(首次调用创建实例)

public class DBUtil {private static DataSource dataSource=null;public DataSource getDataSource(){//首次调用的时候创建实例if(dataSource==null){dataSource=new MysqlDataSource();((MysqlDataSource)dataSource).setURL("jdbc:/mysql://127.0.0.1:3306/java105?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");//数据库的密码((MysqlDataSource)dataSource).setPassword("1309411303");}return dataSource;}
}

还要注意线程安全问题:
多个线程同时判定dataSouce为null,会创建多个实例
Servlet代码中,涉及到多线程/线程安全问题,
Servlet写的是一个服务器,同一时刻,可能要处理多个客户端的请求,一旦有多个客户端发送多个请求,服务器务必需要同时处理多个请求
Tomcat内部正式使用了多线程的方式

解决方案:
1.加上volatile

private static  volatile DataSource dataSource=null;

2.加锁
在这里插入图片描述
3.构造方法私有
在这里插入图片描述

Cookie 和 Session
Cookie 是浏览器在本地持久化保存数据的一种方案
一个典型的使用方式,存储登录信息
在这里插入图片描述
在Servlet中也专门提供了相关的Api,让我们来操作Cookie和Session

理解会话机制

服务器同一时刻收到的请求是很多的. 服务器需要清除的区分清楚每个请求是从属于哪个用户, 就需要在服务器这边记录每个用户令牌以及用户的信息的对应关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
写一个模拟登录的案例:
1.登录页面,用户可以填写用户名+密码
2.Servlet来处理登录请求
3.使用另一个Servlet来生成主页内容(登录成功后,跳转到的页面)

1.构造form表单发给Servlet处理(注意三点匹配关系)
name(getParameter),method ,action
在这里插入图片描述
2.Servlet进行判定
当用户点击提交的时候,就会把刚才input框的name的值作为key,把input框里用户的输入,作为value,把这个键值对,放到body中提交给服务器,name属性决定了键值对中的建,通过服务器getParameter获取值
在这里插入图片描述
这里将字符串写到前面,肯定不是空的,一定不会出现空指针异常(好处double check),虽然equls内部已经针对参数为null进行从处理了

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...