关于vue跨域请求JavaWeb的一种解决方式(包含响应自定义cookie)

使用Nginx +Tomcat 前后端分离部署Vue.js +Java Web 项目结构 nginx 部署Vue.js前端 Tomcat 部署Java Web 部署思路  vue.js 源码rpm build 后放nginx服务所在机器,配置好nginx静态网站路径 Tomcat 部署对应的Java ee web应用后端 nginx进行前端访问后端时的路由转发,替代在vue.js开发时dev模式的nodejs转发作用 需要处理的问题 登录验证 后端为Java应用,... 阅读详情

第一步:vue中使用XMLHttpRequest请求方式
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, url);
xhr.withCredentials = true; // 允许携带跨域cookie,(ajax也可以设置该属性)
xhr.send();

第二步:在后端代码response中修改Header的属性
//跨域的时候get,post都会显示origin,同域的时候get不显示origin,post显示origin
String ip= request.getHeader(“Origin”);
if(origin!=null){
// 允许指定域访问跨域资源;此处也可以通过以下链接
// https://blog.youkuaiyun.com/java1703/article/details/88763594来获取ip
response.setHeader(“Access-Control-Allow-Origin”, ip );
}
// 允许客户端携带跨域cookie,此时origin值不能为“*”,只能为指定单一域名
response.setHeader(“Access-Control-Allow-Credentials”, “true”);
if(RequestMethod.OPTIONS.toString().equals(request.getMethod())) {
String allowMethod = request.getHeader(“Access-Control-Request-Method”);
// 这个是配置自定义header内的token appid之类的~~
String allowHeaders = request.getHeader(“x-requested-with,content-type,token”);
// 浏览器缓存预检请求结果时间,单位:秒
response.setHeader(“Access-Control-Max-Age”, “86400”);
// 允许浏览器在预检请求成功之后发送的实际请求方法名
response.setHeader(“Access-Control-Allow-Methods”, allowMethod);
// 允许浏览器发送的请求消息头
response.setHeader(“Access-Control-Allow-Headers”, allowHeaders);
}

注:以上是get请求,如果只是单纯post请求的话,只需要在java后台增加@CrossOrigin(origins="*", methods={RequestMethod.GET, RequestMethod.POST})注解即可,此方法可加在指定的controller上,也可加在指定方法上,具体使用详情请自行百度

JavaWeb 本文系统介绍了JavaWeb开发的核心技术与架构。主要内容包括:1. JavaWeb基础:Servlet生命周期、HTTP协议原理、Tomcat服务器配置;2. 关键技术实现:请求参数处理、中文乱码解决方案、请求转发与重定向机制;3. 核心对象详解:ServletConfig、ServletContext、Request/Response对象的使用;4. 会话管理:Cookie与Session的工作原理及实现;5. 高级特性:过滤器、监听器的开发应用;6. 架构设计:Web三层架构规范与实现。 阅读详情

相关推荐

青龙人形机器人硬件平台设计全解析:从构型到控制系统的实战指南

本文深度解析了青龙人形机器人硬件平台的设计全流程,从需求分析、构型设计到核心系统实现。文章详细阐述了其43个自由度的仿生构型、高动态性下肢设计、灵巧作业系统以及分布式控制架构,并探讨了旋转关节与直线关节等关键技术选型,为开发者提供了从理论到实践的完整硬件设计指南。

weixin_29248313的博客 384

Vue 本地跨域处理(包含cookie)

1、前端设置 main.js import axios from 'axios' axios.defaults.withCredentials = true; //允许axios请求携带cookie等凭证 2、后端设置 说明: 以下设置对同域情况下没影响 //当**Credentials为true时,**Origin不能为星号,需为具体的ip地址【如果接口不带cookie,ip无......

飞扬_柳絮的专栏 2万+

从零开始:使用Mask2Former训练你的专属图像分割数据集

本文详细介绍了如何使用Mask2Former训练自定义图像分割数据集,从环境配置、数据集准备到模型训练与优化。通过实战技巧和问题排查指南,帮助开发者高效完成从零开始的图像分割任务,特别适合需要处理自定义数据集的AI研究人员和工程师。

weixin_30566063的博客 648

vue解决前端跨域问题

1.什么是跨域 2.跨域配置 1.修改config路径下的index.js文件 dev:{ env:require('./dev.env'), assetsSubDirectory:'static', assetsPublicPath:'/', proxyTable:{ '/api':{ targe...

xyx107的博客 1989

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

weixin_54626591的博客 1万+

诊断CAPL自动化(5) ——没有CANdela,无法编辑cdd数据库文件,也能轻松完成诊断测试

🍅我们知道cdd数据库文件,是CANoe测试环境的重要组件,它可以让我们更加轻松的完成诊断测试工作;但是创建和编辑cdd文件是需要CANdela 来完成的,一个 liscense 就要将近二十万,成本确实高🍅特别是在处理22/2E/31服务的时候,频繁的增加功能,可能需要频繁的用CANdela 修改CDD,我测试开发过程中,一般很少去修改cdd,有这个时间,纯手撸也开发完了,就一个CANdela,鬼知道此时此刻到了谁手里,我也懒得去找。🍅演示软硬件环境;目录📘前言。

蚂蚁小兵 5756

vue开发----关于文件下载跨域的解决方法

情况说明: 项目将文件储存在第三方服务器(阿里云)上,在下载文件的时候,需要跨域,将处理过程记录如下。 第一次尝试:(还不是跨域问题) 刚开始的时候,因为能获取到文件的URL地址,所以尝试以<a>标签的形式下载,代码如下: // 下载按钮点击事件 fileDownload (url, fileName) { let ele = document.createEleme...

Crazy_LinkFern的博客 2万+

基于 Google Colab 的 mask rcnn 训练自己的数据集(以实例分割为例)

详细步骤1 数据集的制作1.1 数据标注1.2 生成数据集2 环境的搭建2.1 搭建流程2.2 注意事项(报错)3 开始训练4 可视化4.1 修改webcam.py文件4.2 进行可视化5 参考文章 1 数据集的制作 1.1 数据标注 使用 labelme=4.5.6 版本进行标注,标注文件指定到保存图片的路径下,也就是json文件和jpg文件放在同一个文件夹里 1.2 生成数据集 先手动划分训练集和测试集(包括图像和标注文件),然后分别整合它们的标注信息,参考代码:1_ships_to_coco.py

G果的博客 8002

使用nginx部署前后端分离项目,处理跨域问题(共享cookie)

踩坑了,花费一天时间,开始对nginx配置不懂,老是弄错了配置文件,之前装的nginx ,cofnig有两个,nginx.config和nginx.config.def ,开始配置我在nginx.config中配置的,后面一直在改def,我说怎么把配置的前端地址删掉还能访问,气得我把nginx删掉了。发现把前端放入到nginx/nginx1.21/html里面报错,我放到了nginx/html里面,一直访问不了页面。3.这个是配合jwt使用的拦截器,我原本就写的后面这点,发现走了代理就调不到接口了。

andrew_dear的博客 1357

5、癌症数据预处理技术与深度学习在癌症预测中的应用

本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。

alice7model的博客 123

微信小程序 - 最新详细实现跳转打开第三方网站方法流程及示例代码,在小程序内直接打开H5页面或微信公众号文章后台业务域名配置及下载校验文件上传服务器,嵌入外部网站跳转第三方h5网页(详细配置及代码)

微信小程序,打开第三方网站,放校验文件,怎么配置业务域名,后台配置,怎么打开外部没有关联的网站,小程序直接打开公众号文章,指定页面,跳转第三方url,跳转到外部网站,小程序跳转到任意外部网页,网站链接,跳转到其他网页(外部链接),小程序嵌入外部h5链接,校验文件怎么放到对方服务器上,要跳转到网站没权限放过去,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,别人不可能同意,

🏆 前端领域优质创作者 1万+

解决vue跨域请求问题

1. 什么是跨域 当协议,域名,端口有一样不同就会产生跨域. 2. vue解决跨域 以此地址为例: http://m.sirfang.com/api/home/shejishi axios.get('http://m.sirfang.com/api/home/shejishi').then(res=>{ console.log(res) }) 会报错: 解决方案: 首先在根目录创建一个vue.config.js文件[可以修改webpack默认配置] // 会覆盖webpack默认配置 modu

m0_51328823的博客 1092

24、JavaFX MP3 音频播放器开发详解

本文详细介绍了如何使用JavaFX开发一个功能丰富的MP3音频播放器,涵盖文件拖放加载、音频播放控制、音频频谱可视化、进度定位滑块等核心功能,并提供了完整的代码实现和解析。适合希望学习JavaFX多媒体应用开发的开发者参考。

wind6的博客 170

Javaweb_Vue_Hbuilder_前后端分离跨域访问通信_setHeader()与addHeader()区别

报错:Access to XMLHttpRequest at 'http://Servlet' from origin 'http://127.0.0.1:8020' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. CORS策略阻止:请求的资源上不存在“Access-Control Allow origin”头

LW_Hadoop的博客 1173

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaWeb26-Java Web:跨域问题解决(CORS 配置与 Nginx 反向代理)

跨域问题的根源在于浏览器的同源策略。该策略是浏览器的一项安全机制,旨在防止恶意网站窃取用户数据。“同源”指的是两个 URL 的协议(protocol)、域名(host)、端口(port)完全相同。只要其中任意一项不同,就被视为“不同源”,即跨域。URL 1URL 2是否同源原因✅ 是完全相同❌ 否协议不同(https vs http)❌ 否域名不同(子域名不同)❌ 否端口不同✅ 是路径不同不影响同源🔗延伸阅读MDN 同源策略如果前端需要读取响应中的自定义头(如),必须在。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Web 后端(四) 请求与响应

请求(Request):客户端向服务器要数据或提交数据。响应(Response):服务器处理请求后返回结果。JavaWeb通过和对象封装了HTTP协议的底层细节,开发者只需关注业务逻辑的实现。

小安同学的博客 1309

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Java八股文总结】之Java Web

Java Web 相关知识,秋招面试必问题

qq_46111316的博客 6919

Servlet :JavaWeb三大组件之一: http请求响应,使用Tomcat进行项目部署,Servlet实现动态web

JavaWeb开发的技术栈: http请求响应,使用Tomcat进行项目部署,Servlet实现动态web

habe33的博客 562

Java自学路线图之Javaweb自学

文章目录Javaweb自学技术要点Javaweb自学--MySQLJavaweb自学--JDBCJavaweb自学--HTML5&CSS3Javaweb自学--JavaScriptJavaweb自学--jQueryJavaweb自学--XMLJavaweb自学--Web服务器基础Javaweb自学--ServletJavaweb自学--Cookie&SessionJavaweb自学...

CZ-001的博客 2849

JavaWeb专栏之(一):什么是JavaWeb?

JavaWeb专栏之(一):什么是JavaWeb? 前言: 关注:《遇见小Du说》微信公众号,分享更多Java知识,不负每一次相遇。更多内容请访问:www.dushunchang.top 本周小Du猿开始回炉JavaWeb相关的知识点,首次接触JavaWeb还是在大一,白驹过隙,日光荏苒,时隔三年,重炉javaweb仍然收获颇多。 实战开发中接触到Spring Boot后就很少再使用servlet,但仔细研究过Spring Boot底层源代码后,竟然发现Spring Boot竟让是servlet的封装迭代

小Du猿的博客 21万+

JavaWeb学习:Vue+SSM利用Cookie实现自动登录

2. 用户初次登录,或登出后 ,Cookie没有携带相关信息时,需要对用户登录的合规性进行验证,验证通过后将用户的id信息添加至Cookie,下次访问时便可直接登录。1. 从已有Cookie中查找用户id信息,如果Cookie已经包含相关信息,说明用户已经登录过,直接返回相关用户数据即可。3. 当前端发出登出请求时,删除Cookie中已保存的用户id信息,下次登录需中心进行合规性验证。4. login函数被调用时,将用户id信息放入cookie中。5. 登出时从cookie中删除用户id信息。

Landy_Jay的博客 594

javaweb技术栈

MySQL 是常用的关系型数据库,JDBC 是 Java 操作数据库的接口,Druid 是数据库连接池,Jackson 用于处理 JSON 数据,Lombok 简化 Java 代码,JWT 用于身份验证和授权,这些技术保障了 Web 应用的状态管理、数据存储与安全。Vue3 是流行的前端框架,Vue Router 用于实现路由功能,Pinia 是状态管理库,Axios 用于前后端数据交互,JSON 是数据交换格式,它们助力构建功能强大的全栈应用。后端接收到请求后,处理业务逻辑并返回相应的数据。

qq_44325580的博客 1953

深入分析JavaWeb Item10 -- Cookie会话管理_javaweb cookie小案例

在上面的例子中,在程序代码中并没有使用setMaxAge方法设置cookie的有效期,所以当关闭浏览器之后,cookie就失效了,要想在关闭了浏览器之后,cookie依然有效,那么在创建cookie时,就要为cookie设置一个有效期。这样即使关闭了浏览器,下次再访问时,也依然可以通过cookie获取用户上一次访问的时间。方法,它用于在其响应头中增加一个相应的。2.如何优化webpack构建的性能。response接口也中定义了一个。方法,它用于获取客户端提交的。5.移动端300ms延迟。

2401_84123265的博客 835

JavaWeb核心知识

JavaWeb简介 Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 JavaWeb:用Java技术来解决相关web互联网领域的技术栈。 B/S架构:Browser/Server(浏览器/服务器)架构模式。其特点是:客户端只需要浏览器,应用程序的逻辑和数据都从存储在服务端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。 好处:易于维护升级。服务端升级后,客户端无需任何部署就能使用到最新的版本 静态资源:HTML、css、JavaScript、

weixin_44320429的博客 951
上一篇: java从Request对象中获得客户端IP
下一篇: idea提交svn忽略.class等文件的相关配置(so easy)
苏乞儿丶
博客等级 码龄9年 22粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值