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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...
随机推荐
- Java -- 基于JDK1.8的ArrayList源码分析
1,前言 很久没有写博客了,很想念大家,18年都快过完了,才开始写第一篇,争取后面每周写点,权当是记录,因为最近在看JDK的Collection,而且ArrayList源码这一块也经常被面试官问道,所 ...
- 关于IE浏览器 ajax 请求返回数据不对的问题
在使用ajax向后台发送请求的时候,在使用ie 进行调试的时候发现根据条件进行查询时,返回的数据与没有根据条件进行查询时数据相同,也就是条件没有发生作用. 经过同事的帮助发现ajax初始化设置时没有c ...
- ubuntu上传到百度网盘
1 2 亲测可以上传
- urlconnection代码
package com.yucheng.connection; import java.io.BufferedReader; import java.io.InputStream; import ja ...
- Linux替换文件内容sed命令
sed -e 4a\newline testfile //在第四行后添加一行,并将结果输出到标准输出.-e,以指定脚本处理文本文件:a,新增. nl /etc/passwd | sed '2,5d' ...
- linux重启Oracle服务
linux重启oracle服务命令(完整版) (1) 以oracle身份登录数据库,命令:su – oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管 ...
- 在dotnetcore的MVC项目中,创建支持 vue.js 的最小工程模板
网上Vue模板不是最新的,我自己做了一个最新的支持 Vue.js 的最小工程模板,方便大家从 Hello world. 入门, 在 VS2017 里学习,并扩展出自己的项目. 下面是创建步骤: 1.在 ...
- html2canvas截屏用法
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...
- Porsche Piwis Tester II V15.6 with CF30 Laptop or Lenovo E49AL Laptop
Some of my customers let me recommended which auto diagnostic tool is good for Porsche , I recommend ...
- asp.net处理机制管道事件
自定义的托管模块HTTP模块可以向System.Web.HttpApplication对象注册下面一系列事件: AcquireRequestState 当ASP.NET运行时准备好接收当前HTTP请求 ...