getRequestDispatcher调用html文件后产生中文乱码

JSP入门实战:从环境搭建到MVC模式,掌握JavaWeb动态页面核心技术 在JavaWeb开发中,动态页面技术是实现服务器端逻辑与用户界面交互的核心。其基本原理是通过服务器端执行代码,动态生成HTML内容并返回给浏览器,从而实现数据的实时渲染与个性化展示。这项技术的核心价值在于实现了业务逻辑与展示层的初步分离,提升了代码的可维护性和复用性。在众多应用场景中,从传统的企业级应用到需要服务端渲染的内部管理系统,掌握动态页面技术都是后端开发者的必备技能。本文聚焦于JSP(JavaServer Pages)这一经典技术,它作为JavaEE体系中的标准视图组件,是理解后续Spring MV 阅读详情

刚刚开始java web的入门,其中产生不少令我困惑的地方。如标题,调用getRequestDispatcher()函数,参数为html文件后会产生中文乱码。
在这里插入图片描述

尝试过程中,参数文件后缀为.java却不会有乱码,唯独html的出现乱码,为此找了很多网上的教程,

第一类是补充以下这行代码:

response.setContentType("text/html;charset=UTF-8");

亲测后发现没有解决我的问题。

第二类是调出你的代码工具IDE(我用的是neatbeans IDE),把编码方式改成GBK或者GB2312。

但是这种方法使得我所有写有中文的代码全部变成乱码,打开就出错,幸好之前备份了,所以这个方案一样不建议使用。

第三类就是我自己的土办法了。
打开getRequestDispatcher函数中调用的参数html文件,在里面< head > < /head>的中间增添一行:

<meta charset="GBK">

注意:如果之前写的是“UTF-8”的就不要添加了,直接改成“GBK”就行了。

下面是部分截图:

在这里插入图片描述
没改之前:

在这里插入图片描述
在这里插入图片描述

改成GBK之后:
在这里插入图片描述
在这里插入图片描述

下面是index.html的全部代码:

<!DOCTYPE html>
<!--这是登陆的页面-->
<html>
    <head>
        <meta charset="GBK">
        <title>注册页面</title>
    </head>
    <body bgcolor="#98FB98">
    <center><h1>欢迎来到登陆页面</h1></center>
    <center>
        <form action="Main" method="post">
            <table border="2">
                <tr>
                    <td><label for="username">用户名</label></td>
                    <td><input type="text" name="username" id="username" placeholder="请输入账号"></td>
                </tr>
                <tr>
                    <td><label for="password">密码</label></td>
                    <td><input type="password" name="password" id="password" placeholder="请输入密码"></td>
                </tr>
                <td  align="right"><input type="submit" value="注册" name="Register"></td>
                <td  align="right"><input type="submit" value="登陆" name="Login"></td>
                <h6>护眼模式</h6>
            </table>
        </form>
    </center>
</body>
<body align="center" >
    <h6 style="color: red">如果尚未注册,请点击注册按钮!</h6>
</body>
</html>

最后:

虽然我自己没能深入的弄明白其中的原理,各位若有同样的问题的话,不妨试试,如果这个方法行不通,欢迎共同探讨。

HTTP请求与响应:Web开发核心机制详解 HTTP协议作为Web开发的基石,其请求(Request)与响应(Response)机制构成了客户端与服务器通信的基础框架。从技术原理看,HTTP协议采用无状态的请求-响应模型,通过纯文本格式传输数据,这带来了灵活性的同时也产生了编码问题等常见挑战。在工程实践中,GET与POST方法的正确选择、表单数据的编码处理、AJAX异步请求等技术细节直接影响系统性能和安全性。特别是在中文处理场景下,统一使用UTF-8编码能有效避免乱码问题。理解HTTP报文结构(包含请求行/状态行、头部字段和消息体)和状态码语义,是开 阅读详情

相关推荐

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

html显示request,request.getRequestDispatcher("login.html");页面乱码

jsp页面设置好utf-8编码 然后 用到的java文件里面的 PrintWriter out = response.getWriter();注释掉这样在该Servlet生命周期方法,request.getRequestDispatcher1,request.getRequestDispatcher 方法全称javax.servlet.ServletRequest.getRequestDispat...

weixin_27240351的博客 534

5分钟快速搭建:使用ros1_bridge实现ROS2容器与ROS1主机的无缝通信

本文详细介绍了如何在5分钟内快速搭建基于ros1_bridge的通信方案,实现运行在Docker容器中的ROS2节点与宿主机ROS1系统的无缝数据交换。通过环境隔离、Docker容器化部署及选择性桥接配置,该方案能有效整合新旧系统,避免大规模代码重构,是机器人项目渐进式升级的实用策略。

weixin_29268637的博客 178

getRequestDispatcher乱码问题

resp.setCharacterEncoding("utf-8")要放在PrintWriter out = response.getWriter();的后面。 因为out对象初始化之后,再设置编码已经没有任何意义了!所以必须在out对象初始化之前进行编码的设置。

qq_53831173的博客 444

使用 NTLite 来定制专属的官方 windows 镜像

移除掉不想要的一些自带的应用,比如 Xbox,office 啥的,这个就根据自己的实际需求来选择,备注基本都是有解释这个应用的作用。win 11 的右键展示不喜欢,更喜欢 win10 的,但是需要修改注册表,这里直接把下面的命令写到后期任务里面。NTLite 的自动保存会话功能会保留操作过的配置,是一个 xml 文件,可以在下次升级镜像版本的时候,导入配置。关闭 windows defender,不关会有这个提示,点是,就会跳到对应的界面。勾选创建 iso,配置 iso 镜像的名字,然后点开始。

以梦为马|越骑越傻 3332

概率论—期末复习速成笔记(自用)

概率论期末复习

a200327的博客 2万+

使用request.getRequestDispatcher请求转发到一个页面中文乱码解决

一个JSP页面已经设置UTF-8编码,而且使用response.sendRedirect重定向到此JSP页面时,页面中文显示正常,并不会出现乱码。但是在Servlet中使用request.getRequestDispatcher请求转发到这个页面,页面显示时中文乱码方法:在Servlet的get或post方法中使用response.setCharacterEncoding("UTF-8");...

tao911110的博客 2415

高通camx进程ExtensionModule::TeardownOverrideSession类型crash问题分析之一:【死锁导致】

摘要:本文分析了一个在相机老化测试中出现的pthread_cond_wait持锁超时导致的ExtensionModule::TeardownOverrideSession崩溃问题。通过crash堆栈和日志分析,发现close阶段存在近1分钟的无响应期。进一步分析trace文件发现存在多线程死锁:ChiFeature2Graph::GenerateSmartErrorCode和ChiFeature2RequestObject::SetCurRequestState两个线程分别持有不同锁并互相等待对方释放。最终

1110

request.getRequestDispatcher跳转htm页面乱码

话不多说! request.getRequestDispatcher("/WEB-INF/html/login.html").forward(request,response); 解决方案: /WEB-INF/html/login.html页面设置 <meta charset="GBK"> 原本utf8 完美解决!

x_iao_s的博客 599

【人工智能之深度学习】23. 推荐系统升级实战:LightGCN重构协同过滤全流程(Amazon-Beauty数据集+完整代码)

摘要:传统协同过滤(如矩阵分解)在电商推荐中存在三大痛点:忽略用户-物品高阶关联、交互数据稀疏导致冷启动、特征工程依赖人工设计。本文基于Amazon-Beauty数据集(含20万+用户交互),用LightGCN图神经网络重构推荐系统:1)构建用户-物品二部图,通过3层图卷积捕捉“用户→物品→用户”的多跳关联;2)采用BPR负采样损失优化嵌入学习,缓解数据稀疏;3)端到端输出用户/物品嵌入,无需人工特征。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1492

10、使用Ray Serve实现微服务与模型部署

本文深入介绍了如何使用Ray Serve实现微服务与机器学习模型的高效部署。从基础的部署定义到复杂的模型服务场景,涵盖部署架构、HTTP与Python调用、资源配置、FastAPI集成、金丝雀发布策略及实际应用流程。文章还探讨了模型服务的关键需求如灵活性、批处理、硬件优化和可扩展性,并展示了Ray Serve如何满足这些要求。最后提供了常见问题解决方案与未来发展方向,帮助开发者构建高性能、易维护的模型服务平台。

blue42的博客 174

request、response 中文乱码问题与解决方式

request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码; response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码; 乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。以request乱码为例:浏览器向服务

Boone的博客 6380

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

该包可以显著提高NeRF训练速度,是和NeRFstudio等框架中,必须使用的。本文提供tiny-cuda-nn可以安装的完整包的下载链接,可以直接上传到项目中安装。附带笔者遇到的问题的解决方案。

zik的博客 7029

request.getRequestDispatcher("login.html");页面乱码

在使用 request.getRequestDispatcher("Login.html").include(request, response);时,中文显示出现了乱码,在dopost方法里也已经进行了设置,response.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");reque...

weixin_34192993的博客 506

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

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

forward到html乱码,servlet中通过request.getRequestDispatcher.forward跳转到html页面乱码问题...

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServle...

weixin_34137975的博客 927

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

request.getRequestDispatcher("").forward()中文乱码问题

即使jsp页面的编码已设为“gb2312”,有中文的地方还是会出现乱码,在浏览器中查看“编码”用的是“西欧”字体。但是用response.sendRedirect不会出现此问题。 解决方案一: 不使用PrintWriter out=response.getWriter();,把它注释掉。 解决方案二: 在使用PrintWriter out=response.getWriter();

anhuidelinger的专栏 2189

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

request.getRequestDispatcher()跳转+中文乱码

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection Conn=new db().getConn(); try { Statement stmt = Conn.createStatement()

qq_31431721的博客 2886

req.getRequestDispatcher(“xxx.html“).forward(req, resp);跳转后中文乱码问题

//下面这两个不要同时设置 将下面那条注释掉就能修复乱码 resp.setContentType("text/html;chatset=utf-8"); resp.setCharacterEncoding("utf-8");

qq_41611617的博客 635

关于RequestDispatcher dispatcher = request.getRequestDispatcher("XXX.html");dispatcher.forward(request

关于RequestDispatcher dispatcher = request.getRequestDispatcher(“XXX.html”);dispatcher.forward(request, response); 进行页面跳转的时候发生中文乱码首先确保你在的servlet中在使用 PrintWriter对象之前已经写了 “` response.setContentType(“text/

qq_34888927的博客 2154

6.22 JSP,解决中文乱码

解决中文乱码问题 1.setCharacterEncoding()作用于以post方法提交的表单数据 2.String name=request.getParameter("name");    name=new String(name.getBytes("ISO-8859-1"),"UTF-8");对于以post、get方法提交的表单数据都有效 3.找到Tomcat目录结构\conf\s

chi15733896278的博客 387

JavaWeb开发入门:Servlet、JSP与HTML5/CSS3实战指南

Web开发的核心在于理解浏览器与服务器如何协同工作。其基本原理基于HTTP协议,通过请求-响应模型实现数据交换。在技术实现上,后端负责业务逻辑与数据处理,前端则专注于用户界面的构建与交互。对于Java开发者而言,掌握JavaWeb技术栈是构建动态网站的关键。Servlet作为JavaWeb的基石,充当请求处理的枢纽;JSP则允许在HTML中嵌入Java代码,实现动态内容渲染。与此同时,现代前端开发离不开HTML5与CSS3。HTML5提供了语义化标签和更好的结构,而CSS3的Flexbox与Grid布局系统

weixin_33858485的博客 487

关于JAVAWEB一些细节问题

一、读取文件              在Web project下读取一些文件(比如配置文件)和java project下读取不太一样,在Java project下可以直接写文件的虚拟路径或者真实路径,而在web project下第一种方法是直接通过硬盘路径读取(此方法不适合web应用移植),第二种方法又分为两种情况:1,在servlet下 可以通过this.getServetContext.g

gavin_g_feng的博客 466

请求对象和响应对象学习

以开头表示当前 Web 应用的根目录。

xuhaoyu_cpp_java的博客 204

HttpServletRequest & HttpServletResponse

本文总结了Servlet核心知识点,主要包含: HttpServletRequest 获取客户端信息、请求头、URL参数 请求转发与包含的区别及实现 request域对象的作用范围 HttpServletResponse 常见状态码设置 响应头操作与输出流选择 重定向实现及与转发的核心区别 编码问题解决方案 响应/请求中文乱码处理(GET/POST差异) URL编解码规则 路径规范 区分服务器路径与客户端路径写法 开发建议使用带项目名的绝对路径 通过request/response对象可完整处理HTTP请求

py_1990_04_20的博客 337

Web文件上传安全实战:从Servlet基础到多层防御策略

文件上传是Web开发中的核心功能,它基于HTTP协议中的multipart/form-data编码格式,实现客户端与服务器之间的二进制数据传输。其技术价值在于为用户提供了丰富的内容交互能力,广泛应用于社交媒体的图片分享、企业系统的文档管理、电商平台的商品展示等场景。然而,该功能也是安全重灾区,攻击者常利用其进行WebShell上传、目录遍历等攻击。本文聚焦于文件上传漏洞的防御,通过构建一个基于Servlet的Java Web应用,系统性地讲解了如何实施MIME类型校验、文件大小限制、安全存储等关键安全策略,

weixin_34126557的博客 364

JavaWeb

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串…超文本:图片,音乐,视频,定位,地图…默认端口:80HTTPS:安全的协议默认端口:443(1).Servlet就是sun公司开发动态web的一门技术。(2).Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:一.编写一个类,实现Servlet接口;二.把开发好的Java类部署到web服务器中。

2301_76556912的博客 1007
上一篇: SQL server 2012 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 报错
下一篇: C语言I/O流 几个小例子
enjoy_code_
博客等级 码龄7年 1251粉丝 78原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值