请求中文乱码问题
Posted dream2060
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求中文乱码问题相关的知识,希望对你有一定的参考价值。
package com.bjsxt.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.bjsxt.pojo.User; import com.bjsxt.service.LoginService; import com.bjsxt.service.impl.LoginServicelmpl; /** * 请求中文乱码的解决方式 * 1使用String进行重新编码 * uname = new String(uname.getBytes("iso8859-1"),"utf-8"); * 2使用公共配置 * get方式 * 步骤一:req.setCharacterEbcoding("utf-8"); * 步骤二: * 在Tomact目录下的conf目录中修改server.xml文件:在Connector标签中增加属性 userBodyenCodingforURI="ture" * * post方式 * req.setCharacterEbcoding("utf-8"); * Servlet流程总结: * 浏览器发起请求到服务器 (请求) * 服务器接收请求进行解析,创建request对象进行存储请求数据 * 服务器调用对应的servlet进行请求处理,并且将request对象作为实参传送给servlet方法 * servlet方法执行进行请求处理 * //设置请求编码格式 * //设置响应编码格式 * //获取请求信息 * //处理请求信息 * //创建业务层对象 * //调用业务层对象的方法 * //响应处理结果 * 数据流转 * 浏览器----->服务器------>数据库 * 浏览器<------服务器<------数据库 * * * * * * @author Administrator * */ public class LoginServlet extends HttpServlet @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException //设置响应编码格式 resp.setContentType("text/html;charset=utf-8"); //获取请求信息 String uname=req.getParameter("uname"); //中文 重新进行了一次编码 uname = new String(uname.getBytes("iso8859-1"),"utf-8"); //请求乱码问题的解决 //用于String进行重新编码 String pwd=req.getParameter("pwd"); System.out.println(uname+":"+pwd); //处理请求信息 //获取业务层信息 LoginService ls=new LoginServicelmpl(); User u=ls.checkLoginService(uname, pwd); System.out.println(u); //响应处理结果 if(u!=null) resp.getWriter().write("登录成功"); else resp.getWriter().write("登录失败");
以上是关于请求中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章