web过滤器,前后端同步异步交互,跨域问题,json等知识点

Xiao Tong333 2024-08-25 09:33:01 阅读 74

一.过滤器

(1)什么是过滤器

过滤器(Filter):是web服务器管理所有的web资源例如servlet,例如实现权限访问控制、过滤敏感词汇、压缩响应信息等。

(2)过滤器的作用

通过过滤器可以实现对服务器web资源的拦截,例如编码过滤器通过对web资源的过滤拦截可以实现对所有web资源的统一编码,从而减少代码冗余,增加开发效率。一个web资源可以经过多个过滤器,一个过滤器可以有多个web资源经过。

(3)过滤器的搭配

在Javaee项目中过滤器(Filter)是一个接口,该过滤器在一个项目包底下的

(1)首先在该Filter包下创建一个类实现Filter接口,重写里面的doFilter抽象方法,Filter里面的init()和destory()不用时可以不必重写。

(2)在doFilter()方法中设置相应需要编码的东西,然后离开过滤器,如下编码过滤器

 

(3)在web.xml中配置该过滤器,让那些servlet程序可以通过过滤器

(4)过滤器的适用场景

 过滤器适合在例如配置编码格式,进行权限验证等进入。

二.前后端交互发送请求(同步和异步请求)

(1)同步请求:

指同一时刻只能完成一件事情,在前后端交互指的是前端提交数据到后端在后端响应回前端时,前端的客户端该时刻只能同时进行一件事,例如:登录页面,在前端将账号响应回·后端时此时后端验证账号有无注册,然后响应回前端,前端此时验证有无账号通过后,再点击密码框此时后端响应会来的数据会覆盖客户端页面。

前端同步请求

 后端相应同步请求

 

(2)异步请求:

指同一时刻可以完成多件事情,在前后端交互指在前后端交互指的是前端提交数据到后端在后端响应回前端时,前端的客户端该时刻可以同时进行多件事后端响应回来的·数据·不会覆盖客户端页面,以登陆界面为例可以同时进行账号验证和密码输入。

如下:

相应前端代码,使用了axios对异步请求进行封装,普通html项目需要下载axios到js中与导入axios

相应后端代码

 

进行账号验证时后端相应回来的数据不会覆盖客户端的页面,并且可以·同时进行密码的输入,对客户端比较友好。

三.跨域问题

(1)什么是跨域

跨域是在异步请求中出现的问题,由于浏览器不允许不同服务器(只要服务器之间协议,关系域,端口有一个不同即称为跨域)之间进行交互,因此前后端异步交互时会出现跨域问题。

(2)为什么会出现跨域问题

浏览器认为不同服务器之间进行数据交互·是不安全的,例如如果在银行系统账号密码·登录界面·如果此时·点击了其他不明的界面·可能出现账号密码泄露,因此浏览器·为了安全·期间不允许不同服务器之间进行数据交互。

(3)为什么浏览器不允许·跨域还要进行跨域交互

例如同一家公司有许多不同的产品,为了访问这些不同的产品·就需要跨域访问。

(4)如何解决跨域问题

跨域问题本质是前端问题,但可以在后端解决,后端要通过过滤器·进行。

如下:

四.后端的json格式

(1)什么是json格式

json格式是为前后端交互规定的一种数据格式,后端响应的数据不一定是字符串·还可能是一个对象,一个集合等,为了·前端·能解析后端的数据,为此规定了·json格式。

(2)json格式



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。