Servlet笔记8--乱码解决方案

Posted 拉夫德尔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet笔记8--乱码解决方案相关的知识,希望对你有一定的参考价值。

乱码解决方案:

   代码详解:

 1 package com.bjpowernode.javaweb.servlet;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 public class SaveDeptServlet extends HttpServlet {
11 
12     private static final long serialVersionUID = 1L;
13 
14     
15     
16     @Override
17     protected void doGet(HttpServletRequest request, HttpServletResponse response)
18             throws ServletException, IOException {
19         //Tomcat配置文件中的URIEncoding修改后,doGet方法就已经解决了编码问题
20         String dname = request.getParameter("dname");
21         System.out.println(dname);
22     }
23 
24     @Override
25     protected void doPost(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         
28         /*
29         String dname = request.getParameter("dname");
30         
31         //第一种解决方式:万能解决方案,post和get都可以使用
32         byte[] bytes = dname.getBytes("ISO-8859-1");  //解码
33         dname = new String(bytes, "UTF-8");  //编码方式需要同浏览器的的编码方式一致
34         System.out.println(dname);
35         */
36         
37         //第二种解决方案:调用request的setCharacterEncoding方法,但是这种方式只适合POST请求,只对请求体编码
38         //告诉Tomcat服务器,请求体中的数据采用UTF-8的方式进行编码
39         request.setCharacterEncoding("UTF-8");
40         String dname = request.getParameter("dname");
41         System.out.println(dname);
42     }
43 }

 

以上是关于Servlet笔记8--乱码解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Servlet中直接response.getWriter().write() 输出乱码解决!

servlet乱码

简单粗暴 每个servlet之前都插入一段代码解决 乱码问题

Servlet中文乱码问题解决办法

Servlet乱码问题解决

解决Servlet中GET请求参数为中文时出现乱码