在servlet中设置的字符编码集为什么还会出现乱码(亲测)
首先我们拿个简单的登录看一下
代码实例如下:
我们先看一下错误的代码
1.LoginServlet.java
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/*** 登录验证控制模块* @author 演示**/public class LoginServlet extends BaseServlet {private static final Logger logger = LogManager.getLogger(LoginServlet.class);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {login(request, response);}private void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {PrintWriter out = response.getWriter();response.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String username = request.getParameter("userid");String pwd = request.getParameter("pwd");String path="welcome.jsp";try{if(username.equals("niuniu") && pwd.equals("0516")) {process(request, response, path);}else {out.println("用户名或者密码错误!");}}catch(Exception e){e.printStackTrace();path="error/500.jsp";}}}
页面显示乱码
当我们改变代码的顺序再看
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/*** 登录验证控制模块* @author 演示**/public class LoginServlet extends BaseServlet {private static final Logger logger = LogManager.getLogger(LoginServlet.class);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {login(request, response);}private void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//设置编码集,防止乱码,这两行必须放在最前面,即放在输出流的前面response.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();String username = request.getParameter("userid");String pwd = request.getParameter("pwd");String path="welcome.jsp";try{if(username.equals("niuniu") && pwd.equals("0516")) {process(request, response, path);}else {out.println("用户名或者密码错误!");}}catch(Exception e){e.printStackTrace();path="error/500.jsp";}}}
问题解决了
在servlet中设置的字符编码集为什么还会出现乱码(亲测)相关推荐
- Mysql中各种与字符编码集(character_set)有关的变量含义
mysql涉及到各种字符集,在此做一个总结. 字符集的设置是通过环境变量来设置的,环境变量和linux中的环境变量是一个意思.mysql的环境变量分为两种:session和global.session ...
- 查询数据库的字符编码集
查询数据库的字符编码集 在命令提示符里输入:mysql -uroot -p 之后会提示输入密码,之后输入下面这条命令:查询字符编码 show variables like 'character_set ...
- 默认访问首页 || 国际化||设置全局字符编码的默认设置
默认访问首页 国际化 在spring中是这样配置的 1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用 fmt:messa ...
- [转载]Java web应用中的常见字符编码问题的解决方法
以下是 Java web应用的常见编码问题 1. html页面的编码 在web应用中,通常浏览器会根据http header: Content-type的值来决定用什么encoding, 比如遇到Co ...
- 解决Python3中的中文字符编码的问题-亲测有效
解决Python3中的中文字符编码的问题 一.原理篇: Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等.这篇文章主要介绍了Python3中的解决中文字符编 ...
- python3中默认的字符编码和文件编码_python3 unicod,utf-8,gbk的编码和解码中文显示问题...
目的: 清楚了解为什么在python3不同的编码,解码,windows,linux操作系统下,字符是否能够正确显示. 前提: 了解不同编码用不同的二级制编码和长度来表示字符. 在python3中,各种 ...
- 1、代码中设置编码、编辑器中设置Python的编码
1Python中文编码 1.1代码中设置编码 Python中默认的编码格式是ASCII格式,在没有修改编码格式时无法正确打印汉字,所以在读取中文的时候会报错. 解决办法为只要在文件开头加入 # -- ...
- 【解决方案 二】---设置mysql5.7编码集为utf8mb4
[解决方案 二]---设置mysql5.7编码集为utf8mb4 参考文章: (1)[解决方案 二]---设置mysql5.7编码集为utf8mb4 (2)https://www.cnblogs.co ...
- html实体编码 在线,HTML实体字符编码集(10页)-原创力文档
\o "HTML实体字符编码集" HTML实体字符编码集 经常我们会使用到一些特殊字符在WEB页面上的引用方式,比如空格我们通常使用" ",其实所有的字符都具有 ...
最新文章
- 吴恩达神经网络和深度学习——第二周笔记
- word2003计算机应用考试,2017职称计算机考试Word2003操作练习题
- 单片机中存储器扩展位地址线怎么算_小白学单片机 :AT89S51单片机基本硬件结构认识(2)...
- 集成学习模型(xgboost、lightgbm、catboost)进行回归预测构建实战:异常数据处理、缺失值处理、数据重采样resample、独热编码、预测特征检查、特征可视化、预测结构可视化、模型
- ubuntu 安装opencl失败笔记
- 深入浅出理解神经网络召回模型的优势
- 微信分享踩坑:config:invalid signature错误的解决方法
- JAVA程序员面试总结,高手整理加强版
- Web前端开发初学者十问集锦(4)
- 记redis的一个测试
- MATLAB 比较好入门书籍有哪些推荐
- kaldi_源码笔记 thchs-30_data_prep
- 三类医疗器械进销存软件-医药供应链系统
- html5 手机剪切板,H5页面在手机端如何实现复制粘贴板功能
- 根号3136用计算机,根号1·100的平方根和立方根是多少
- arduino定时器控制舵机_用 Arduino 控制舵机
- 苹果(APPLE)开发者账号说明及注册流程(99美元公司版/个人版及299美元企业版)
- 电商设计的文字的选择与排版
- keil uvision4 调试教程
- 基于离散小波变换 (DWT)的图像信息隐藏算法