回顾:
ajax:
异步请求
原生ajax(了解)
1.创建一个核心对象xmlHttpRequest
2.回调方法 4 200
3. open操作
xmlhttp.open("请求方式","请求路径");
4.send操作
send([参数]); post 请求头
jquery的ajax
掌握:
$.get(url,params,function(){},type);
$.post(url,params,function(){},type);
了解:
jquery对象.load(...);
$.ajax({选项});
选项:
url type data success error dataType
---------------------------------------------------------
listener(了解) 监听器
filter (掌握) 过滤器
servlet
-------------------------------
listener:
监听器
作用:
监听web的三个域对象:ServletContext ServletReuqest HttpSession
监听内容:
监听三个对象的创建和销毁
监听三个对象属性的变化
监听session中的javabean的状态
注意:listener全部是接口
监听三个对象的创建和销毁
ServletContextListener
ServletRueqestListener
HttpSessionListener
监听三个对象属性的变化
ServletContextAttributeListener
ServletReuqestAttributeListener
HttpSessionAttributeListener
监听session中的javabean的状态
HttpSesstionActivationListener(钝化和活化)
HttpSessionBindingListener(绑定和解绑)
使用步骤:
1.编写一个类 实现接口
2.重写方法
3.编写配置文件(大部分都是)
演示各个监听器
监听三个对象的创建和销毁
ServeltContextListener
创建:服务器启动的时候会为每一个项目都创建一个servletContext
销毁:服务器的关闭的时候,或者项目被移除的时候
加载配置文件
ServletRequestListener
创建:请求来的时候
销毁:响应生成的时候
HttpSessionListener
一个浏览器对应着一个session
创建:
request.getSession();
jsp中有内置对象session
jsp访问的时候
销毁:
三种情况:
session超时:30分钟
手动销毁session invalidate()
服务器非正常关闭
HttpSessionBindingListener(绑定和解绑)
检测javabean是否添加到session中或者从session中移除
HttpSessionActivationListener(钝化和活化)
钝化:javabean从session中序列化到磁盘上。内存->硬盘
活化: javabean从磁盘上序列化到session中。硬盘->内存
可以通过配置文件修改javabean什么时候钝化
案例1-自动登录
需求:登录的时候,勾选自动登录,登录之后,关闭浏览器
下一次访问网站的时候完成自动登录
技术分析:
filter
cookie
session
-------------------------------------------------------
filter:过滤器
过滤请求和响应
作用:
自动登录
统一编码
过滤关键字
filter是一个接口
编写filter的步骤:
1.编写一个类
a.实现filter接口
b.重写方法
2.编写配置文件
a.注册filter
b.绑定路径
3.测试
Filter接口的方法:
init():初始化操作
doFilter():处理业务逻辑
destroy():销毁
Filter生命周期(了解)
filter单实例多线程
filter 在服务器启动的时候 服务器创建filter调用init() 初始化
请求来的时候,创建一个线程,根据路径调用doFilter 执行业务逻辑
当服务器关闭物时候,调用destroy销毁 执行销毁操作
FilterChain:过滤链
通过chain的doFilter()方法,可以将请求放到下一个过滤器,
直到最后一个过滤器放行才可以访问到servlet/jsp
url-pattern配置 /a/b
3种
完全匹配 必须以"/"开始,例如:/a/b
目录匹配 必须以"/"开始 例如:/a/*
后缀名匹配 以"." 以字符结束 例如: *.jsp *.action
一个资源有可能多个过滤器匹配成功,多个过滤器的执行顺序是按照
web.xml中filter-mapping的顺序来执行的。
步骤分析:
1.数据库和表
create database day2001
use day2001
create table user(
id int primary key auto_increment,
username varchar(20),
password varchar(20)
);
insert into user values(null,'lisi','123');
2.web项目
jar包 工具类 配置文件
3.新建一个登录页面 表单
4.表单提交 loginservlet
接收用户名和密码
调用service完成登录操作,返回值user
判断user是否为空
若不为空,将user放入session中
判断是否勾选了自动登录
若勾选了:
需要将用户名和密码写回浏览器
5.下次访问的网站的时候
过滤器拦截任意请求 /*
判断有无指定的cookie
有,取出用户名和密码
调用service完成自动登录操作,
返回user 将user放入session中
当我们换zhangsan登录的时候发现登录不了
自动登录只需要登录一次:当session中没有用户的时候
访问有些资源不需要自动登录的(和登录还有注册相关的资源)
ajax:
异步请求
原生ajax(了解)
1.创建一个核心对象xmlHttpRequest
2.回调方法 4 200
3. open操作
xmlhttp.open("请求方式","请求路径");
4.send操作
send([参数]); post 请求头
jquery的ajax
掌握:
$.get(url,params,function(){},type);
$.post(url,params,function(){},type);
了解:
jquery对象.load(...);
$.ajax({选项});
选项:
url type data success error dataType
---------------------------------------------------------
listener(了解) 监听器
filter (掌握) 过滤器
servlet
-------------------------------
listener:
监听器
作用:
监听web的三个域对象:ServletContext ServletReuqest HttpSession
监听内容:
监听三个对象的创建和销毁
监听三个对象属性的变化
监听session中的javabean的状态
注意:listener全部是接口
监听三个对象的创建和销毁
ServletContextListener
ServletRueqestListener
HttpSessionListener
监听三个对象属性的变化
ServletContextAttributeListener
ServletReuqestAttributeListener
HttpSessionAttributeListener
监听session中的javabean的状态
HttpSesstionActivationListener(钝化和活化)
HttpSessionBindingListener(绑定和解绑)
使用步骤:
1.编写一个类 实现接口
2.重写方法
3.编写配置文件(大部分都是)
演示各个监听器
监听三个对象的创建和销毁
ServeltContextListener
创建:服务器启动的时候会为每一个项目都创建一个servletContext
销毁:服务器的关闭的时候,或者项目被移除的时候
加载配置文件
ServletRequestListener
创建:请求来的时候
销毁:响应生成的时候
HttpSessionListener
一个浏览器对应着一个session
创建:
request.getSession();
jsp中有内置对象session
jsp访问的时候
销毁:
三种情况:
session超时:30分钟
手动销毁session invalidate()
服务器非正常关闭
HttpSessionBindingListener(绑定和解绑)
检测javabean是否添加到session中或者从session中移除
HttpSessionActivationListener(钝化和活化)
钝化:javabean从session中序列化到磁盘上。内存->硬盘
活化: javabean从磁盘上序列化到session中。硬盘->内存
可以通过配置文件修改javabean什么时候钝化
案例1-自动登录
需求:登录的时候,勾选自动登录,登录之后,关闭浏览器
下一次访问网站的时候完成自动登录
技术分析:
filter
cookie
session
-------------------------------------------------------
filter:过滤器
过滤请求和响应
作用:
自动登录
统一编码
过滤关键字
filter是一个接口
编写filter的步骤:
1.编写一个类
a.实现filter接口
b.重写方法
2.编写配置文件
a.注册filter
b.绑定路径
3.测试
Filter接口的方法:
init():初始化操作
doFilter():处理业务逻辑
destroy():销毁
Filter生命周期(了解)
filter单实例多线程
filter 在服务器启动的时候 服务器创建filter调用init() 初始化
请求来的时候,创建一个线程,根据路径调用doFilter 执行业务逻辑
当服务器关闭物时候,调用destroy销毁 执行销毁操作
FilterChain:过滤链
通过chain的doFilter()方法,可以将请求放到下一个过滤器,
直到最后一个过滤器放行才可以访问到servlet/jsp
url-pattern配置 /a/b
3种
完全匹配 必须以"/"开始,例如:/a/b
目录匹配 必须以"/"开始 例如:/a/*
后缀名匹配 以"." 以字符结束 例如: *.jsp *.action
一个资源有可能多个过滤器匹配成功,多个过滤器的执行顺序是按照
web.xml中filter-mapping的顺序来执行的。
步骤分析:
1.数据库和表
create database day2001
use day2001
create table user(
id int primary key auto_increment,
username varchar(20),
password varchar(20)
);
insert into user values(null,'lisi','123');
2.web项目
jar包 工具类 配置文件
3.新建一个登录页面 表单
4.表单提交 loginservlet
接收用户名和密码
调用service完成登录操作,返回值user
判断user是否为空
若不为空,将user放入session中
判断是否勾选了自动登录
若勾选了:
需要将用户名和密码写回浏览器
5.下次访问的网站的时候
过滤器拦截任意请求 /*
判断有无指定的cookie
有,取出用户名和密码
调用service完成自动登录操作,
返回user 将user放入session中
当我们换zhangsan登录的时候发现登录不了
自动登录只需要登录一次:当session中没有用户的时候
访问有些资源不需要自动登录的(和登录还有注册相关的资源)