1. Filter 过滤器(JavaEE 的规范,也是接口)
作用:拦截请求、过滤响应;(应用于 权限检查、日记操作、事务管理等等)
① 基本使用(通过判断 session 域中是否包含用户信息)
-
- 编写一个类实现 Filter 接口
- 重写 doFilter() 方法,专门用于拦截请求,可以做权限检查
- 在 web.xml 中配置 Filter 的拦截路径
通过权限检查后让程序继续往下访问用户的目标资源:必须调用 filterChain.doFilter(xx, xx)
② Filter 生命周期(包含四个方法):
构造器方法、init 初始化方法(在web工程启动时执行,即 Filter 已经创建)
doFilter 过滤方法(每次拦截到请求,就会执行)
destroy 销毁方法(停止 web 工程时执行,也会销毁 Filter 过滤器)
③ FilterConfig 类(Filter 过滤器的配置文件)
Tomcat 每次创建 Filter 时,会同时创建一个 FilterConfig 类,包含 Filter 配置文件的配置信息
作用:
-
- 获取 Filter 的名称 filter-name 的内容(filterConfig.getFilterName())
- 获取在 Filter 中配置的 init-param 初始化参数(filterConfig.getInitParamter("xxx"))
- 获取 ServletContext 对象(filterConfig.getServletContext())
④ FilterChain 过滤器链(多个过滤器一起工作)
FilterChain.doFilter() 方法的作用
-
-
- 执行下一个 Filter 过滤器(如果有)
- 执行目标资源(没有 Filter)
-
多个 Filter 过滤器执行的特点:
-
-
- 多个 Filter 过滤器执行时,执行顺序是按照在 web.xml 中配置的顺序决定的;
- 所有 Filter 和 目标资源 都默认执行在同一个线程中;
- 多个 Filter 共同执行的时候,都使用同一个 Request 对象;
-
⑤ Filter 的拦截路径
精确匹配:
<url-pattern>/target.jsp</url-pattern>;表示请求地址必须为:http://ip:port/工程路径/target.jsp
目录匹配:
<url-pattern>/admin/*</url-pattern>;表示请求地址必须为:http://ip:port/工程路径/admin/*
后缀名匹配
<url-pattern>*.xxxx</url-pattern>;表示请求地址必须以 .xxxx 结尾才会拦截到
Filter 过滤器只关心请求的地址是否匹配,不关心请求的资源是否存在;
2. Json(数据交换:指客户端和服务器之间业务数据的传递格式)
① 定义:
由键值对组成,由花括号(大括号)包围,每个键由引号引起来,键值之间使用冒号分隔,多组键值逗号分隔;
② 访问:json 本身是一个对象 Object,json 中的 key 可以理解为对象中的属性;可以用 json对象.key
③ 两个常用方法:
两种存在形式:(1)对象的形式(操作json中数据时用);(2)字符串的形式(数据交换时使用)
JSON.stringify():把 json 对象转化成 json 字符串
JSON.parse():把 json 字符串 转化成 json 对象
④ json 在 Java 中的使用(先导入 json 的 jar 包)
javaBean 和 json 互转;
List 和 json 互转;
map 和 json 互转;
3. Ajax(Asynchronous Javascript And Xml,异步 JavaScript 和 XML)指一种创建交互式网页应用的网页开发技术;
是一种浏览器通过 js 异步发起请求,局部更新页面的技术;
Ajax 请求的局部更新,浏览器地址栏不发生变化(局部更新不会舍弃原来页面内容)
jQuery 中的 ajax
① $.ajax 方法
url:表示请求的地址
type:表示请求类型GET或POST
data:表示发送给服务器的数据(格式:name=value&name=value... 或 ${ key:value })
success:请求响应,响应的回调函数
dataType:响应的数据类型(常用:text、json)
② $.get 方法和 $.post 方法
url:表示请求url的地址
data:发送的数据
callback:成功的回调函数
type:返回的数据类型
③ $.getJSON 方法(通过 HTTP GET 请求载入 JSON 数据)
url:表示请求url的地址
data:发送给服务器的数据
callback:成功的回调函数
④ serialize 方法:可以把表单中所有表单项的内容都获取到,并以键值对的形式进行拼接;
标签:JavaWeb,Day8,url,json,Filter,Ajax,过滤器,方法,请求 From: https://www.cnblogs.com/LinxhzZ/p/16782590.html