首先我们拿个简单的登录看一下

代码实例如下:
我们先看一下错误的代码
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中设置的字符编码集为什么还会出现乱码(亲测)相关推荐

  1. Mysql中各种与字符编码集(character_set)有关的变量含义

    mysql涉及到各种字符集,在此做一个总结. 字符集的设置是通过环境变量来设置的,环境变量和linux中的环境变量是一个意思.mysql的环境变量分为两种:session和global.session ...

  2. 查询数据库的字符编码集

    查询数据库的字符编码集 在命令提示符里输入:mysql -uroot -p 之后会提示输入密码,之后输入下面这条命令:查询字符编码 show variables like 'character_set ...

  3. 默认访问首页 || 国际化||设置全局字符编码的默认设置

    默认访问首页 国际化 在spring中是这样配置的 1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用 fmt:messa ...

  4. [转载]Java web应用中的常见字符编码问题的解决方法

    以下是 Java web应用的常见编码问题 1. html页面的编码 在web应用中,通常浏览器会根据http header: Content-type的值来决定用什么encoding, 比如遇到Co ...

  5. 解决Python3中的中文字符编码的问题-亲测有效

    解决Python3中的中文字符编码的问题 一.原理篇: Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等.这篇文章主要介绍了Python3中的解决中文字符编 ...

  6. python3中默认的字符编码和文件编码_python3 unicod,utf-8,gbk的编码和解码中文显示问题...

    目的: 清楚了解为什么在python3不同的编码,解码,windows,linux操作系统下,字符是否能够正确显示. 前提: 了解不同编码用不同的二级制编码和长度来表示字符. 在python3中,各种 ...

  7. 1、代码中设置编码、编辑器中设置Python的编码

    1Python中文编码 1.1代码中设置编码 Python中默认的编码格式是ASCII格式,在没有修改编码格式时无法正确打印汉字,所以在读取中文的时候会报错. 解决办法为只要在文件开头加入 # -- ...

  8. 【解决方案 二】---设置mysql5.7编码集为utf8mb4

    [解决方案 二]---设置mysql5.7编码集为utf8mb4 参考文章: (1)[解决方案 二]---设置mysql5.7编码集为utf8mb4 (2)https://www.cnblogs.co ...

  9. html实体编码 在线,HTML实体字符编码集(10页)-原创力文档

    \o "HTML实体字符编码集" HTML实体字符编码集 经常我们会使用到一些特殊字符在WEB页面上的引用方式,比如空格我们通常使用" ",其实所有的字符都具有 ...

最新文章

  1. 吴恩达神经网络和深度学习——第二周笔记
  2. word2003计算机应用考试,2017职称计算机考试Word2003操作练习题
  3. 单片机中存储器扩展位地址线怎么算_小白学单片机 :AT89S51单片机基本硬件结构认识(2)...
  4. 集成学习模型(xgboost、lightgbm、catboost)进行回归预测构建实战:异常数据处理、缺失值处理、数据重采样resample、独热编码、预测特征检查、特征可视化、预测结构可视化、模型
  5. ubuntu 安装opencl失败笔记
  6. 深入浅出理解神经网络召回模型的优势
  7. 微信分享踩坑:config:invalid signature错误的解决方法
  8. JAVA程序员面试总结,高手整理加强版
  9. Web前端开发初学者十问集锦(4)
  10. 记redis的一个测试
  11. MATLAB 比较好入门书籍有哪些推荐
  12. kaldi_源码笔记 thchs-30_data_prep
  13. 三类医疗器械进销存软件-医药供应链系统
  14. html5 手机剪切板,H5页面在手机端如何实现复制粘贴板功能
  15. 根号3136用计算机,根号1·100的平方根和立方根是多少
  16. arduino定时器控制舵机_用 Arduino 控制舵机
  17. 苹果(APPLE)开发者账号说明及注册流程(99美元公司版/个人版及299美元企业版)
  18. 电商设计的文字的选择与排版
  19. keil uvision4 调试教程
  20. 基于离散小波变换 (DWT)的图像信息隐藏算法

热门文章

  1. windows下PXE+TFTP+HTTP自动安装ubuntu server
  2. Windows Server 2003显示中文为乱码(方框)的问题
  3. 浅谈腾讯微博与新浪微博的优劣
  4. 6种编写程序代码的方法
  5. ELS多种方式集群部署
  6. OpenGL开发学习指南二(glfw+glad)
  7. UNIX环境高级编程》笔记--getrlimit和setrlimit函数
  8. 基于Yolov5的烟火检测——模型训练与C++实现部署
  9. Zedboard学习(五):MIO与EMIO操作
  10. 小程序 实名信息_【小程序】实名认证流程