200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > request方式请求post中文乱码处理

request方式请求post中文乱码处理

时间:2021-12-23 14:12:14

相关推荐

request方式请求post中文乱码处理

1.详解

Request接收参数时有get和post两种请求方式,但是处理中文的编码却不一样,我们在做项目时会全站都采用统一的编码,最常用的就是UTF-8,在UTF-8编码的项目中当我们使用post请求时:

处理post编码问题,请求信息中,只有POST存在正文,所谓POST参数编码就是请求正文的编码。

默认情况下,使用getParameter()获取POST请求参数时,使用的是ISO-8859-1编码。

每个请求在开头只需要调用request的setCharacterEncoding()一次,便可所有的编码都会以这种方式来解读,但要注意,只对请求正文有效(POST参数)。

2.演示

第一种方式:

import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class test01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}/** post方式请求处理中文乱码* */@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String name = req.getParameter("name");String introduce = req.getParameter("introduce");// 第一种方式name = new String(name.getBytes("ISO-8859-1"), "UTF-8");System.out.println(name);}}

第二种方式:

import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class test02 extends HttpServlet {/** post方式请求处理中文乱码* */@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 第二种方式 给request设置编码为:UTF-8(必须在getParameter之前使用)req.setCharacterEncoding("UTF-8");String name = req.getParameter("name");String introduce = req.getParameter("introduce");System.out.println(name);System.out.println(introduce);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。