过滤器
Servlet规范中提供了一个javax.servelt.Filter的接口,所有的过滤器都必须实现该接口。
放行:filterChain.doFilter(servletRequest,servletResponse);
配置过滤器,指定要过滤的资源:
方式1:xml方式(推荐):修改web.xml,*过滤器配置和Servlet配置非常相似
![](https://i-blog.csdnimg.cn/blog_migrate/447ae0014796a5558181651d55a9e829.png)
方式2:注解方式:
![](https://i-blog.csdnimg.cn/blog_migrate/67685dd47a2d7f029be65d0bb0631972.png)
执行过程:1、对请求对象进行预处理进行预处理放在放行语句之前;2、对响应对象的后期处理放在放行语句之后
监听器
监听器是观察者设计模式的具体应用。
概念:
事件源:触发事件的那个对象,就是事件源。
事件对象:主要作用就是维持事件源对象的引用的。
监听器:一般都是接口,当事件源发生什么事件时,左出响应的处理。
重点把握:监听器中的方法的执行次数和时机。
ServletContextListener
:监听
ServletContext
对象的创建和销毁监听器。
HttpSessionListener
:监听
HttpSession
对象的创建和销毁监听器。
案例
1、编写一个类,实现该监听类:
2、注册监听器:
方式一:通过xml方式:
方式二:通过注解方式:
HttpSessionListener监听器
HttpSession
何时创建:第一个调用
request.getSession()
时。
![](https://i-blog.csdnimg.cn/blog_migrate/77623720fda32f247e259e78de345cc2.png)
AJAX
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML)
。由
google
在
2005
推出的一套 技术。该技术都是基于老技术(html
、
javascript
、
xml
)的新用法。
主要完成异步请求,用户的体验更好,交互性更强。
同步请求:阻塞式请求。特点:客户端得到响应后会刷新整个页面
异步请求:非阻塞式请求。特点:页面不会整个刷新,而是局部内容的改变
异步:
![](https://i-blog.csdnimg.cn/blog_migrate/439d79ec8598eb7699473ab2ea571f47.png)
AJAX引擎
,该引擎就是指
javascript
中的一个
对象XMLHttpRequest
。
属性:
short readyState
:只读属性。作用:标明了XHR(
XMLHttpRequest
)对象当前处于的状态。
![](https://i-blog.csdnimg.cn/blog_migrate/812fc6246a828302d10f469f5b2615d6.png)
string responseText
:只读属性。存放响应正文(文本类型)
Document responseXML
:只读属性。存放响应正文(服务器返回的正文是
XML
数据)
short status
:只读属性。存放的响应码。
200
表示响应正常成功。
string statusText
:只读属性。存放的是响应码的描述。
方法:
abort()
:取消异步请求。
getAllResponseHeaders():
获取所有的响应消息头。
getResponseHeader()
:获取指定的响应消息头的取值。
open(String method(
请求方式
),String url(
服务器地址
),boolean async(
是否是异步,默认是异步
))
:初始化请求但是还未发送请求。
send():
发送请求,并指定请求的参数。
GET
:
send(null)
。
GET
的参数直接跟在
URL
地址后面。
POST
:
send("k1=v1&k2=v2&...")
setRequestHeader():
设置请求消息头。
告诉服务器数据的
MIME
类型:
setRequestHeader("Content-Type","application/x-www-form
urlencoded");
监听器事件:
onreadystatechange:
一个函数。当
readyState
的取值每次发生变化时,都会调用一次。
AJAX入门案例
1、编写一个服务器端程序;
2、编写一个页面,发送异步请求
![](https://i-blog.csdnimg.cn/blog_migrate/8870e60fa68caa136bb1de4e6d94f088.png)
jQuery中使用AJAX
1、$.ajax:
优点:能够自由灵活的配置参数;缺点:需要记住的参数太
多。
2、$.post/$.get:
优点:参数比较少且固定。;缺点:不够灵活。
jackson工具
将
JSON
和
Java
对象进行互转。
如果用
JSON
作为数据传递的标准,那么
接收用户的请求就需要将
JSON
转换为
java
对象。
返回响应时将
java
对象转换为
JSON
返回。