• 关于 jsp java servlet 中文汉字乱码的解决方法


    在servlet类中的get,post最前面加上

    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");

    对接收到的汉字字符串转码

            String name = req.getParameter("name");
            String deptName = req.getParameter("deptName");
            name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
            deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8");

    完整样例:

    package servlet;
    
    import Dao.DeptDao;
    import Dao.EmpDao;
    import entity.Emp;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.UnsupportedEncodingException;
    
    public class EmpServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String action = req.getParameter("action");
            req.setCharacterEncoding("UTF-8");
            resp.setCharacterEncoding("UTF-8");
            if("listEmp".equals(action)){
                listEmp(req,resp);
            }
        }
    
        private void listEmp(HttpServletRequest req, HttpServletResponse resp){
            JSONArray result = EmpDao.listEmp();
            PrintWriter pw = null;
            try {
                pw = resp.getWriter();
                pw.println(result);
                pw.flush();
                pw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String action = req.getParameter("action");
            req.setCharacterEncoding("UTF-8");
            resp.setCharacterEncoding("UTF-8");
            if("addEmp".equals(action)){
                try {
                    addEmp(req,resp);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void addEmp(HttpServletRequest req, HttpServletResponse resp) throws JSONException, UnsupportedEncodingException {
            String name = req.getParameter("name");
            String deptName = req.getParameter("deptName");
            name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
            deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8");
    
            int deptId = DeptDao.reConvert(deptName);
            JSONObject result = EmpDao.addEmp(name,deptId);
            try {
                PrintWriter pw = resp.getWriter();
                pw.println(result);
                pw.flush();
                pw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
  • 相关阅读:
    HBase集群的安装部署
    HBase基础和伪分布式安装配置
    Zookeeper的集群安装和配置
    如何在不重启或重新格式化hadoop集群的情况下删除集群节点
    hadoop提交作业自定义排序和分组
    在hadoop作业中自定义分区和归约
    Spark Streaming揭秘 Day14 State状态管理
    Spark Streaming揭秘 Day13 数据安全容错(Driver篇)
    Spark Streaming揭秘 Day12 数据安全容错(Executor篇)
    Spark Streaming揭秘 Day11 Receiver Tracker的具体实现
  • 原文地址:https://www.cnblogs.com/zhangjiuding/p/8039875.html
Copyright © 2020-2023  润新知