ajax和filter总结

来源:互联网 发布:胎动点点软件怎么样 编辑:程序博客网 时间:2024/06/07 04:04
回顾:
  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中没有用户的时候
访问有些资源不需要自动登录的(和登录还有注册相关的资源)

原创粉丝点击