【JavaWeb学习】12Filter&Listener&Ajax

JavaWeb(B站黑马)学习笔记

03JDBC

04Maven&MyBatis

08HTTP&Tomcat&Servlet

09Request&Response

10JSP&MVC模式和三层架构

11会话跟踪技术(Cookie&Session)

12Filter&Listener&Ajax

13Vue&Element

14综合案例  


目录

JavaWeb(B站黑马)学习笔记

前言

Filter

​Filter 快速入门

Filter 执行流程

Filter 使用细节

案例 登录拦截

Listener

Ajax

Ajax快速入门

异步交互注册验证案例

Axios异步框架  (简化Ajax原生代码)

JSON

JSON基础语法

JSON数据和Java对象相互转换

案例

注:


前言

JavaWeb(B站黑马)学习笔记 12Filter&Listener&Ajax


Filter

例如:对每个资源请求进行登录判断,登录成功放行资源否则将请求拦截下来

【JavaWeb学习】12Filter&Listener&Ajax_第1张图片

Filter 快速入门

【JavaWeb学习】12Filter&Listener&Ajax_第2张图片

【JavaWeb学习】12Filter&Listener&Ajax_第3张图片

Filter 执行流程

【JavaWeb学习】12Filter&Listener&Ajax_第4张图片

当执行请求会被Filter拦截,放行请求后还会回到Filter并从放行后的逻辑开始执行

1、 /12Filter-Listener_demo/hello.jsp输入地址请求打开hello.jsp

2、 Filter启动拦截执行放行前逻辑打印 1. FilterDemo...   

3、 放行请求打开hello.jsp  打印2. hello jsp

4、 回到Filer执行放行后逻辑 打印 3. FilterDem0o...

【JavaWeb学习】12Filter&Listener&Ajax_第5张图片【JavaWeb学习】12Filter&Listener&Ajax_第6张图片

【JavaWeb学习】12Filter&Listener&Ajax_第7张图片

Filter 使用细节

拦截路径配置

【JavaWeb学习】12Filter&Listener&Ajax_第8张图片

过滤器链

【JavaWeb学习】12Filter&Listener&Ajax_第9张图片【JavaWeb学习】12Filter&Listener&Ajax_第10张图片

【JavaWeb学习】12Filter&Listener&Ajax_第11张图片

【JavaWeb学习】12Filter&Listener&Ajax_第12张图片

【JavaWeb学习】12Filter&Listener&Ajax_第13张图片

注意:使用注解配置过滤器时,当有多个过滤器会按照类名依此执行  例如FilterDemo1->FilterDemo2

案例 登录拦截

【JavaWeb学习】12Filter&Listener&Ajax_第14张图片【JavaWeb学习】12Filter&Listener&Ajax_第15张图片

【JavaWeb学习】12Filter&Listener&Ajax_第16张图片

通过循环数组,判断是否有需要放行的登录注册相关接口和静态资源,有的话进行放行,放行完成后返回执行放行后逻辑,这时使用return是为了不执行后面验证是否登录的判断,因为他的目的只是放行跟登录注册相关的接口和静态资源,不需要再执行后面是否登录判断。如果使用break的话放行完成后会执行放行后逻辑,结构是它只会跳出循环还会执行下方的是否登录判断。如果只是判断是否登录,前面已经将相关资源放行,访问未放行的请求,经过循环没匹配到允许放行的相关资源会进行是否登录判断。

简单来说:就是当请求来时循环判断改请求是否是静态资源或相关接口,循环到与数组内请求相同时放行,放行成功后返回执行结束,循环没碰到与数组内相同就要判断是否未登录

获取当前访问的资源路径    通过url,contains(u)判断是否包含要放行的资源

Listener

【JavaWeb学习】12Filter&Listener&Ajax_第17张图片

【JavaWeb学习】12Filter&Listener&Ajax_第18张图片

Ajax

【JavaWeb学习】12Filter&Listener&Ajax_第19张图片

异步交互:比如百度搜索栏输入奥运,下方自动出现相关联想搜索,用户在输入搜索信息时Ajax已经通过异步交互对数据库查询并显示出来,做到对页面的局部更新。还比如用户注册时输入了用户名点击另一处时,直接提示该用户已注册等提示信息。在不提交表单和不刷新页面的情况下,与服务器交换数据。

【JavaWeb学习】12Filter&Listener&Ajax_第20张图片

【JavaWeb学习】12Filter&Listener&Ajax_第21张图片

Ajax快速入门

【JavaWeb学习】12Filter&Listener&Ajax_第22张图片

 Ajax教程AJAX - XMLHttpRequest 对象

【JavaWeb学习】12Filter&Listener&Ajax_第23张图片

【JavaWeb学习】12Filter&Listener&Ajax_第24张图片

xhttp.open("GET", "url");//注意:因为Ajax为前后端分离 所以此处为全路径

【JavaWeb学习】12Filter&Listener&Ajax_第25张图片

【JavaWeb学习】12Filter&Listener&Ajax_第26张图片

异步交互注册验证案例

【JavaWeb学习】12Filter&Listener&Ajax_第27张图片【JavaWeb学习】12Filter&Listener&Ajax_第28张图片【JavaWeb学习】12Filter&Listener&Ajax_第29张图片【JavaWeb学习】12Filter&Listener&Ajax_第30张图片【JavaWeb学习】12Filter&Listener&Ajax_第31张图片

Axios异步框架  (简化Ajax原生代码)

【JavaWeb学习】12Filter&Listener&Ajax_第32张图片

【JavaWeb学习】12Filter&Listener&Ajax_第33张图片

【JavaWeb学习】12Filter&Listener&Ajax_第34张图片【JavaWeb学习】12Filter&Listener&Ajax_第35张图片

Axios简化起别名方式

【JavaWeb学习】12Filter&Listener&Ajax_第36张图片

【JavaWeb学习】12Filter&Listener&Ajax_第37张图片

JSON

【JavaWeb学习】12Filter&Listener&Ajax_第38张图片

JSON基础语法

【JavaWeb学习】12Filter&Listener&Ajax_第39张图片

【JavaWeb学习】12Filter&Listener&Ajax_第40张图片

【JavaWeb学习】12Filter&Listener&Ajax_第41张图片

JSON数据和Java对象相互转换

【JavaWeb学习】12Filter&Listener&Ajax_第42张图片

【JavaWeb学习】12Filter&Listener&Ajax_第43张图片



    com.alibaba
    fastjson
    1.2.62

【JavaWeb学习】12Filter&Listener&Ajax_第44张图片

案例

查询所有

【JavaWeb学习】12Filter&Listener&Ajax_第45张图片

【JavaWeb学习】12Filter&Listener&Ajax_第46张图片【JavaWeb学习】12Filter&Listener&Ajax_第47张图片【JavaWeb学习】12Filter&Listener&Ajax_第48张图片【JavaWeb学习】12Filter&Listener&Ajax_第49张图片【JavaWeb学习】12Filter&Listener&Ajax_第50张图片

新增品牌

【JavaWeb学习】12Filter&Listener&Ajax_第51张图片

注意:request.getParameter("")是无法接收JSON数据的,需要通过请求体来获取数据

【JavaWeb学习】12Filter&Listener&Ajax_第52张图片【JavaWeb学习】12Filter&Listener&Ajax_第53张图片【JavaWeb学习】12Filter&Listener&Ajax_第54张图片

补充:Json对象和Json字符串的区别,以及Springmvc接受json字符串类型。


注:

该内容是根据B站黑马程序员学习时所记,相关资料可在B站查询黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版_哔哩哔哩_bilibili
 



 

你可能感兴趣的:(JavaWeb学习,servlet,java,ajax)