当前位置: 首页 > news >正文

AJAX学习笔记4解决乱码问题

AJAX学习笔记3练习_biubiubiu0706的博客-CSDN博客

在Tomcat10来说,AJAX  GET或者POST接收响应都不存在乱码问题

对于Tomcat9来说

前端测试代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>测试AJAX乱码问题</title>
</head>
<body>
<script type="text/javascript">window.onload=function (){//GETdocument.getElementById("btn1").onclick=function(){var xhr=new XMLHttpRequest();xhr.onreadystatechange=function (){if(this.readyState==4){if(this.status==200){document.getElementById("mydiv").innerHTML=this.responseText}else{alert("请求发送失败")}}}var username=document.getElementById("username").valuexhr.open("get","/ajax/luanma?username="+username,true)xhr.send()}//POSTdocument.getElementById("btn2").onclick=function(){var xhr=new XMLHttpRequest();xhr.onreadystatechange=function (){if(this.readyState==4){if(this.status==200){document.getElementById("mydiv").innerHTML=this.responseText}else{alert("请求发送失败")}}}var username=document.getElementById("username").valuexhr.open("post","/ajax/luanma",true)xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")xhr.send("username="+username)}}
</script><input type="text" id="username">
<button id="btn1">发送AJAX GET请求,测试乱码问题</button>
<button id="btn2">发送AJAX POST请求,测试乱码问题</button><div id="mydiv"></div>
</body>
</html>

后端测试代码

package com.web;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;/*** @author hrui* @date 2023/9/4 6:02*/
@WebServlet("/luanma")
public class AjaxRequestLuanma extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接收的中文会不会乱码String username = req.getParameter("username");System.out.println(username);//响应中文会乱码吗PrintWriter writer = resp.getWriter();writer.print("GET响应");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接收的中文会不会乱码String username = req.getParameter("username");System.out.println(username);//响应中文会乱码吗PrintWriter writer = resp.getWriter();writer.print("POST响应");}
}

解决方式

package com.web;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;/*** @author hrui* @date 2023/9/4 6:02*/
@WebServlet("/luanma")
public class AjaxRequestLuanma extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接收的中文会不会乱码String username = req.getParameter("username");System.out.println(username);//响应中文会乱码吗resp.setContentType("text/html;charset=utf-8");PrintWriter writer = resp.getWriter();writer.print("GET响应");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接收的中文会不会乱码req.setCharacterEncoding("utf-8");//解决body体乱码问题String username = req.getParameter("username");System.out.println(username);//响应中文会乱码吗resp.setContentType("text/html;charset=utf-8");PrintWriter writer = resp.getWriter();writer.print("POST响应");}
}

相关文章:

AJAX学习笔记4解决乱码问题

AJAX学习笔记3练习_biubiubiu0706的博客-CSDN博客 在Tomcat10来说,AJAX GET或者POST接收响应都不存在乱码问题 对于Tomcat9来说 前端测试代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>测试A…...

【23种设计模式】享元模式【⭐】

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…...

语音信号的仿真原理

利用MATLAB对语音信号进行分析和处理&#xff0c;采集语音信号后&#xff0c;利用MATLAB软件 平台进行频谱分析&#xff1b;并对所采集的语音信号加入干扰噪声&#xff0c;对加入噪声的信号进行频 谱分析&#xff0c;设计合适的滤波器滤除噪声&#xff0c;恢复原信号。语音信…...

VLDB 2023 | CDSBen: 字节跳动 veDB 数据库存储系统性能测试模型

背景 随着业务爆炸式增长与云原生技术的日渐成熟&#xff0c;大量云原生分布式数据库产品如雨后春笋般涌现&#xff0c;其中一部分主打 OLTP 场景的分布式数据库强调的是从计算-存储分离架构获得弹性收益&#xff1b;对于业界各种计算-存储分离架构的数据库而言&#xff0c;怎么…...

crontab的配置参数和基础使用教程

crontab基本格式 crontab文件的基本格式如下: * * * * * command 这5个*代表: 第一个* :分钟(0-59)第二个* :小时(0-23)第三个* :一个月中的第几天(1-31)第四个* :月份(1-12)第五个* :一周中的第几天(0-6,其中0代表星期天) command代表要执行的命令。 crontab常用时间设置…...

基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的玛丽冒险小游戏程序&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xf…...

K8S之使用yaml格式定义pod

mysql-pod.yaml # overView: # 1. web服务与db打包放在同一个pod中&#xff0c;本地通过localhost来访问&#xff0c;并附带存活性/可用性检测 # 2. 补充重启策略/镜像拉去策略 # 3. 对容器资源进行限制apiVersion: apps/v1 kind: Pod metadata:name: pub-oanamespace: hunte…...

SSH命令详解

本文转载于&#xff1a;https://blog.csdn.net/m0_60873746/article/details/130843325 SSH命令详解 SSH&#xff08;Secure Shell&#xff09;是一种用于安全登录远程计算机的网络协议。通过 SSH&#xff0c;可以在不受干扰的情况下&#xff0c;传输服务器操作系统和网络管理…...

Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法

Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法 解决方法&#xff1a; 1、先检查以下mysql的端口状态 netstat -anp|grep mysql如果显示127.0.0.1:3306 则说明需要修改&#xff0c;若为: : :3306&#xff0c;则不用。 在**/etc/mysql/mysql.conf.d/mysqld.cnf**&am…...

Python中的日期和时间(一)datetime模块

Python处理时间的对象很多&#xff0c;常用的有time、datetime和calendar等。本文对常用的时间对象的使用进行学习。在开始学习具体的对象前&#xff0c;先学习几个计算机的时间概念。 UTC&#xff08;全球标准时间&#xff09;:是全球范围内计时的科学标准&#xff0c;它基于…...

qt触控板手势检测

主要检测双指上下滚动、左右滚动、双指放大、缩小。 内容解释看注释&#xff0c;代码在mac上经过测试无问题&#xff0c;windows未测试。 bool WBScreenShotDialog::event(QEvent *event) {if (event->type() QEvent::Wheel) { // 双指滚动QWheelEvent *wheel static_…...

数据库 Redis

todo QARedis里面的有序结合用什么数据结构实现&#xff1f; QA Redis里面的有序结合用什么数据结构实现&#xff1f;...

Linux之权限

目录 一、shell运行原理 二、权限 1、对人操作 2、对角色和文件操作 修改权限&#xff08;改属性&#xff09;&#xff1a; ①ugo- ②二进制数的表示 修改权限&#xff08;改人&#xff09;&#xff1a; 三、权限的相关问题 1、目录的权限 2、umask 3、粘滞位 一、s…...

【产线故障】线上接口请求过慢如何排查?

文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢&#xff0c;原因可能有很多&#xff0c;有可能是网络&#xff0c;有可能是慢 SQL&#xff0c;有可能是服务本身…...

Increment Selection 插件

Increment Selection 插件实现递增 初次使用 按下快捷键 Alt Shift 鼠标左键向下拖拽 向下拖拽之后&#xff0c;在输入一个数字&#xff0c;比如我这里输入了一个数字1 然后按下快捷键 Ctrl Shift ← 进行选中数字 然后按下快捷键 Ctrl Alt i 建自动递增。 然后鼠标随…...

LeetCode刷题笔记【26】:贪心算法专题-4(柠檬水找零、根据身高重建队列、用最少数量的箭引爆气球)

文章目录 前置知识860.柠檬水找零题目描述解题思路代码 406.根据身高重建队列题目描述解题思路代码 452. 用最少数量的箭引爆气球题目描述踩坑-进行模拟正确思路的贪心 总结 前置知识 参考前文 参考文章&#xff1a; LeetCode刷题笔记【23】&#xff1a;贪心算法专题-1&#x…...

LeetCode:移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…...

Spring中的JdbcTemplate的使用

在最近的一个工作中&#xff0c;为了简单方便我就是用了Spring自带的JdbcTemplate来访问数据库&#xff0c;我以为之前自己很熟练的掌握&#xff0c;后来才发现我太天真了&#xff0c;踩了很多坑。 基本方法 JdbcTemplate自带很多方法可以执行SQL语句,以下我主要列举&#xf…...

机器学习——boosting之GBDT

现在要开始重点关注名字了&#xff0c;名字透漏了很多信息&#xff01;名字暗藏线索&#xff01; GBDT&#xff0c;Gradient Boosting Decision Tree: 梯度提升决策树 果然信息很丰富 梯度&#xff1a;意味着计算有迭代递进关系&#xff0c;但还不明确是怎么迭代递进的 提升&…...

如何选择报修管理系统?报修工单管理系统有哪些功能和优势?

报修管理系统是一种能够帮助企业快速反应设备故障和异常情况&#xff0c;并将问题及时通知到相关人员&#xff0c;并对问题进行统计和分析的系统。它能够有效提高企业的工作效率&#xff0c;并减少人员成本的支出。那么,报修工单管理系统有哪些功能和优势呢&#xff1f;下面以“…...

医疗学术会议直播,和你想的不一样

从大学阶梯教室到五星级酒店宴会厅&#xff0c;从脊柱外科到肿瘤学术年会&#xff0c;VideoTV团队这3年做了30场医疗学术会议直播。有些坑踩过一次就不会再踩&#xff0c;有些坑每次都能遇到新花样。这篇文章不讲大道理&#xff0c;直接说我们在执行层面踩过哪些坑、怎么解决的…...

taotoken多模型聚合平台为matlab开发者提供稳定ai能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 taotoken多模型聚合平台为matlab开发者提供稳定ai能力 对于使用MATLAB进行数据分析、仿真建模或算法开发的工程师和研究人员而言&a…...

DeepSeek-V4 详细解读

一、核心突破与整体定位 DeepSeek-V4 是 2026 年 4 月发布的新一代开源大模型,核心目标是解决长上下文的工程化落地难题,通过架构、训练和推理的全栈优化,实现了 "百万上下文能用、好用、日常用"。 整体技术路线 DeepSeek-V4 基于 "Transformer + DeepSeek…...

QuantConnect Lean引擎架构深度剖析:构建模块化量化交易系统的技术实现

QuantConnect Lean引擎架构深度剖析&#xff1a;构建模块化量化交易系统的技术实现 【免费下载链接】Lean Lean Algorithmic Trading Engine by QuantConnect (Python, C#) 项目地址: https://gitcode.com/GitHub_Trending/le/Lean QuantConnect Lean引擎是一个开源的量…...

+86环境下“纸飞机“登录异常排查:第三方开源客户端的认证与网络适配测试

近期在针对一款基于 MTProto 协议的即时通讯工具进行客户端适配测试时&#xff0c;发现其官方版本在 86 号段环境下存在较为突出的登录与连接稳定性问题。本文记录问题复现过程&#xff0c;以及基于开源代码二次开发的优化实践。一、登录异常现象在 86 手机号、新设备登录场景下…...

三国杀卡牌DIY终极指南:5分钟打造你的专属武将

三国杀卡牌DIY终极指南&#xff1a;5分钟打造你的专属武将 【免费下载链接】Lyciumaker 在线三国杀卡牌制作器 项目地址: https://gitcode.com/gh_mirrors/ly/Lyciumaker 还在羡慕别人能设计出酷炫的三国杀武将卡牌吗&#xff1f;Lyciumaker这个免费开源的三国杀卡牌制作…...

RAG+Agent+记忆图谱三重架构解析,2026年仅剩这4个工具通过企业级安全审计认证

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;RAGAgent记忆图谱三重架构解析&#xff0c;2026年仅剩这4个工具通过企业级安全审计认证 架构协同的本质逻辑 RAG 提供实时、可溯源的外部知识注入能力&#xff1b;Agent 负责任务分解、工具调用与多步推理闭…...

python智能AI技术的中药材店铺管理系统 中药材网上商城系统 46n363df

目录同行可拿货,招校园代理 ,本人源头供货商项目概述核心功能技术栈部署与扩展适用场景项目技术支持获取博主联系方式 源码获取详细视频演示 &#xff1a;同行可合作点击我获取源码->获取博主联系方式->进我个人主页-->同行可拿货,招校园代理 ,本人源头供货商 项目概…...

Taotoken用量看板如何帮助团队管理API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板如何帮助团队管理API成本 对于团队技术负责人或项目管理者而言&#xff0c;在引入大模型能力后&#xff0c;一个核…...

终极指南:如何在ComfyUI中实现AI动作迁移与姿态控制

终极指南&#xff1a;如何在ComfyUI中实现AI动作迁移与姿态控制 【免费下载链接】ComfyUI-MimicMotionWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-MimicMotionWrapper ComfyUI-MimicMotionWrapper是一个基于腾讯MimicMotion技术的ComfyUI插件&#…...