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

news2024/12/27 11:35:56

一.过滤器

(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格式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2051152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python-素数回文(赛氪OJ)

[题目描述] 现在给出一个素数,这个素数满足两点: 1、 只由 1∼9 组成,并且每个数只出现一次,如 13,23,1289 。 2、 位数从高到低为递减或递增,如 2459,87631 。 请你判断一下,这个素数的回文数是否为素数&a…

python之matplotlib (1 介绍及基本用法)

介绍 matplotlib是Python中的一个绘图库,它提供了一个类似于 MATLAB 的绘图系统。使用matplotlib你可以生成图表、直方图、功率谱、条形图、错误图、散点图等。matplotlib广泛用于数据可视化领域,是 Python 中最著名的绘图库之一。 同样matplotlib的安…

day23-测试自动化之Appium的滑动和拖拽事件、高级手势ActionChains、手机操作API

目录 一、滑动和拖拽事件 1.1.应用场景 1.2.swipe滑动事件 1.3.scroll滑动事件 1.4.drag_and_drop拖拽事件 1.5.滑动和拖拽事件的选择 二、高级手势ActionChains 2.1.应用场景 2.2.使用步骤 2.3.注意点 2.4.方法 1).手指轻敲操作 (掌握) 2).手势按下和抬起操作(掌握&#xff0…

【Win/Mac】InDesign 2024(id2024排版和设计软件)中文安装版

目录 一、软件概述 二、下载 三、主要特点 系统要求(Windows 系统) 一、最低系统要求 二、推荐系统要求 三、图形处理器要求 系统要求(Mac 系统) 一、最低系统要求 二、推荐系统要求 三、图形处理器要求 使用方法 一、…

【Keil5教程及技巧】耗时一周精心整理万字全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】

💌 所属专栏:【单片机开发软件技巧】 😀 作  者: 于晓超 🚀 个人简介:嵌入式工程师,专注嵌入式领域基础和实战分享 ,欢迎咨询! 💖 欢迎大家&#xff1…

缓存学习

缓存基本概念 概念 对于缓存,最普遍的理解是能让打开某些页面速度更快的工具。从技术角度来看,其本质上是因为缓存是基于内存建立的,而内存的读写速度相比之于硬盘快了xx倍,因此用内存来代替硬盘作为读写的介质当然能大大提高访…

亲测解决OneDrive: Proxy Authentication Error - 2606

这个问题由网络配置有误引起,解决方法是换网络或者关闭代理。 解决方法 换一个网络,比如手机wifi。如果开了代理可以把代理关了。 原版笔记 use vanilla network

RK3588——Linux系统烧录(以Firefly的Core-3588L为例)

Firefly的Core-3588L官网 1. 硬件连接 首先先用Type-C 一端数据线板子的OTG,另一端连接电脑的USB。 按住设备上的 RECOVERY (恢复)键并保持,连接电源,保持2秒左右,松开RECOVERY (恢复&#xff…

图模型训练

一、依赖安装 网址:pyg-team/pytorch_geometric: Graph Neural Network Library for PyTorch (github.com) 找到此处,点击here进入依赖安装界面 找到自己安装的torch版本并点击,,进入安装依赖 二、用库自带的数据集 代码&#x…

WCT系列(二):SyncTransactionQueue类详解

SyncTransactionQueue类: 接上一回的WindowContainerTransaction类讲解,上一篇博客根据TaskView.java中的updateTaskVisibility()方法分析了WindowContainerTransaction的功能及使用。本次继续上一篇的思路,主要拆解syncTransactionQueue类。…

【JUC】06-可重入锁

可重入锁:又称递归锁。在外层使用锁后,内层仍然可以使用,并不发生死锁,这样的锁就叫可重入锁。synchronized默认是一个可重入锁。 public class Demo01 {public synchronized void m1() {System.out.println(Thread.currentThrea…

软件函数过期-软件开发故障处理-开发语言升级-全栈软件架构师-软件修仙界掌握几十门开发语言

一、软件界通用关键字 obsolete,deprecated,deprecation 二、多语言全栈,所有语言混合开发是什么?十几门开发语言 组合1、php/java/aspJSCandroid 平台物联网设备,智能音箱 组合2:C#PHPPYTHON 组合3&am…

云计算的三大服务模式:IaaS、PaaS、SaaS的深入解析

在数字化转型的浪潮中,云计算以其独特的灵活性、可扩展性和成本效益,正逐渐成为企业IT架构的核心。云计算提供了三种主要的服务模式,分别是基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务…

【算法/学习】双指针

✨ 少年要迎着朝阳,活得肆无忌惮 🌏 📃个人主页:island1314 🔥个人专栏:算法学习 🚀 欢迎关注:👍点赞 &a…

挑战1G内存!如何在千万记录中找到最热TOP10查询串?

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽大家好!我是你们的技术小伙伴小米,今天又来和大家分享一个非常实用的算法题!假设我们现在有1000w个查询记录,这些记录中有很多重复的内容,但去…

内存碎片问题—容器启动状态卡在ContainerCreating

线上发现部分容器处于ContainerCreating状态: 查看kubelet日志: [rootdc07-prod-k8s-node /root] journalctl -u kubelet Jul 01 00:45:30 prod-k8s-node kubelet[12227]: I0701 00:45:30.491326 12227 kubelet.go:1908] SyncLoop (ADD, "api"): &quo…

RK3568笔记五十五:yolov10训练部署测试

若该文为原创文章,转载请注明原文出处。 yolov8还没熟悉,yolov10就出来了,本篇记录使用yolov10训练自己的数据,并部署到rk3568上。 参考大佬的博客yolov10 瑞芯微RKNN、地平线Horizon芯片部署、TensorRT部署,部署工程难度小、模型推理速度快_yolov10 rknn-CSDN博客 一、…

【网络编程】基于UDP的TFTP文件传输

1)tftp协议概述 简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输 特点: 是应用层协议 基于UDP协议实现 数据传输模式 octet:二进制模式(常用) mail:已经不再…

深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(还在等什么!!!超详解!!!)

目录 🍔 前言 🍔 图像基础知识 1. 像素和通道的理解 2. 小节 🍔 卷积层 1. 卷积计算 2. Padding 3. Stride 4. 多通道卷积计算 5. 多卷积核卷积计算 6. 特征图大小 7. PyTorch 卷积层 API 7. 小节 🍔 池化层 1. 池…

WEB之文件上传

一:思维导图 二:相关问题解答 1,什么是文件上传漏洞? 文件上传漏洞是一种常见的网络安全问题,它发生在网络应用程序允许用户上传文件到服务器的功能中。如果这一功能没有得到适当的安全控制和验证,攻击者就可以利用…