cookie,session,fileter,liscen
会话技术:
会话:一次会话中发生多次请求和响应
一次会话:从浏览器的打开到关闭
功能:在会话的过程中 ,可以共享数据
cookie:客户端的会话技术
session:服务端的会话技术
Cookie:小饼干
Cookie是由服务器产生,然后通过response(Set-Cookie)对象写入浏览器,然后保存在浏览器端,
在request下一次访问的时候,通过cookie的请求头 将cookie带回浏览器
cookie 默认到期时间:会话结束
cookie的相关方法:
new Cookie(name,value):创建cookie对象
response.addCookie():写回浏览器
request.getCookies():获取cookie
c.setMaxAge(60*60);
//设置路径: 路径不一样 浏览器默认cookie 不是同一个
//如果向共享cookie 那么 路径设置为/ 就可以了
c.setPath("/aaaa");
//cookie失效:将MaxAge 设置成(0);即可 但是要注意 ,路径要相同
案例:记录上一次的登录时间:
分析: 如果是第一次登录 就显示 第一次登录
如果不是第一次登录 就显示上次登录的时间
总结:
cookie能不能存储中文:
tomcat8以前 不可以存储中文和特殊字符
tomcat8及以后:可以存储中文 但是不能存储特殊字符 (空格)
cookie的特点和作用:
1、cookie存储数据在客户端浏览器
2、cookie存储的数据由大小限制:4kb 同一个域名下的的总的cookie数量(20个)
补充:el表达式对 cookie的支持 ${}
${cookie.msg.value}
注意:
cookie.msg : 通过cookie的key值 获取整个cookie对象
cookie.msg.value: 通过javabean导航的规则 获取cookie对象的值
Session:
Session是由服务器产生,保存在服务器中
一个用户 对应一个session( 一个浏览器 对应一个session)
session的原理: JessionId session是依赖于cookie的
注意:如果服务器关闭 ,那么会产生一个新的session 和 新的session id
session的常用方法:
request.getSession()
setAttribute() getAttribute()
removeAttribute()
session 的默认有效时间:30分钟
session 失效的方法:
1、配置web.xml
<session-config>
<session-timeout>1</session-timeout>
</session-config>
2、手动的干掉session
session.invalidate();
3、代码设置session的保存时间
session.setMaxInactiveInterval(); 单位秒
验证码案例:session
javaweb:三大组件
servlet、Filter、listener
Filter:掌握 过滤器
概念:
生活中:净水器、空气净化器、土匪……
web中过滤器:当我们访问服务器的资源的时候,过滤某些请求,完成一些特殊的功能
作用:
一般用于完成通用的操作。例如:登录验证、统一字符编码……
入门:
步骤:
1、定义一个类,实现Filter接口
2、复习方法
3、配置Filter
1、web.xml
<!--<filter>-->
<!--<filter-name>FilterDemo1</filter-name>-->
<!--<filter-class>com.xmcc.filter.FilterDemo1</filter-class>-->
<!--</filter>-->
<!--<filter-mapping>-->
<!--<filter-name>FilterDemo1</filter-name>-->
<!--<url-pattern>/login.jsp</url-pattern>-->
<!--</filter-mapping>-->
2、注解
@WebFilter("/login.jsp")
过滤器的执行流程:
1、执行过滤器doFilter()
2、执行放行方法
3、执行filterChain.doFilter() 后的代码
Filter的声明周期:
1、init() 在服务器启动后 创建Filter对象的时候 执行一次
2、doFilter() 每一次请求被拦截 都会执行一次
3、destroy() 在服务器关闭以后 Filter对象被销毁的时候 调用一次
过滤器的配置:
1、拦截路径的配置:
/*: 拦截全部
/login.jsp : 只拦截login.jsp
/jsp/* : 拦截 jsp路径下的所有资源
*.jsp: 拦截所有的jsp资源
2、拦截方式:资源被访问的方式
Filter四种拦截方式:
* request(默认)
* forward (拦截转发)
* include (拦截包含)
* error (只拦截错误页面)
注解配置:
dispatcherTypes={DispatcherType.FORWARD}
web.xml配置
<filter-mapping>
<filter-name>FilterDemo1</filter-name>
<url-pattern>/login.jsp</url-pattern>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
过滤器链的介绍
执行顺序;
FilterDemo1---去
FilterDemo2---去
FilterDemo2----回
FilterDemo1---回
注意:如果是通过web.xml配置的filter
谁配置在前面 谁就先执行
如果是注解:
根据Filter的名字 一个一个字母的比较 小的先执行
例如:AFilter 和 BFilter 那么 AFilter 先执行
案例:登录验证
Listener:监听器(了解)
事件监听:
事件:一件事情
事件源:事件发生的地方
监听器:一个对象
注册监听:将事件、事件源、监听器绑定在一起,当事件源上发生某个事件的时候 就执行监听器的代码
web:8种监听器
步骤:
1、定义一个类
2、复写方法
3、配置监听器
1、web.xml
<listener>
<listener-class>com.xmcc.listener.MyListener</listener-class>
</listener>
2、注解
@WebListener
例如:ServletContextListener
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
//监听ServletContext的创建
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
//监听ServletContext对象的销毁
}
作用:获取初始化参数
1、设置初始化的参数
web.xml中设置初始化参数
<!-- 设置初始化参数 -->
<context-param>
<param-name>name</param-name>
<param-value>coco</param-value>
</context-param>
cookie,session,fileter,liscen的更多相关文章
- cookie,session,sessionid
cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法
单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...
- 会话Cookie及session的关系(Cookie & Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- cookie,session,token的定义及区别
参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...
- Java web学习 Cookie&&Session
cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
- Cookie Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- python Cookie Session 相关用法
Cookie一.前言1.http协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...
随机推荐
- Jar包的手动导入
(1)打开项目的file 找到project structure (2)进行以下操作
- JAVA常用加密解密算法Encryption and decryption
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- 《DRN: A Deep Reinforcement Learning Framework for News Recommendation》强化学习推荐系统
摘要 新闻推荐系统中,新闻具有很强的动态特征(dynamic nature of news features),目前一些模型已经考虑到了动态特征. 一:他们只处理了当前的奖励(ctr);. 二:有一些 ...
- C# 实现http不同方法的请求
p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...
- Java输出流FileOutputStream使用详解
Java输出流FileOutputStream使用详解 http://baijiahao.baidu.com/s?id=1600984799323133994&wfr=spider&f ...
- ES6中的解构赋值
在解释什么是解构赋值前,我们先来看一下, ES5 中对变量的声明和赋值. var str = 'hello word'; 左边一个变量名,右边可以是字符串,数组或对象. ES6 中增加了一种更为便捷的 ...
- Log4j 2使用教程一【入门】
环境 操作系统:win10log4j2版本: 2.11.0 准备 下载jar包 官网:https://logging.apache.org/log4j/2.x/download.html 把jar包放 ...
- layer —— 一个简单的jQuery弹出层插件
layer的使用 4.24更新:注意:layer现在有旧版1.8.5版本和新版本3.0版本的,对应引入的JQ也要不同,相对应的JQ引入1.1和3.1,否则JQ会出问题 4.21更新: 解答4-19的问 ...
- shell的输入参数
$# 参数格式 $0 $1 $2 ...第一个,第二个参数...
- 融云亮相GDG谷歌女性开发者大会 揭秘IMSDK网络优化策略
4 月 20 日,冷雨阻碍不了天津GDG谷歌女性开发者大会的热烈召开,一众开发者.架构师和科技公司创业者云集一堂,就女性开发者的技术.职场.人生多方面话题展开深入探讨.活动由GDG (谷歌开发者社区) ...