会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132376个问题
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 676楼

老师,我把一个input的name从‘userName’改成了‘学习’,然后再servlet中使用getParameter(“学习”)方法去获取值,但是为什么是获取的值是null,但是遍历的时候又出现了'userName'作为key?

image.png

package com.bjsxt.servlet;

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.util.*;

/**
 * 问题引入:请求的数据包基于字节在网络上传输,Tomcat 接收到请求的数据包后会将数据包中的
 *      字节转换为字符。在 Tomcat 中使用的是 ISO-8859-1 的单字节编码完成字节与字符的转换,
 *      所以数据中含有中文就会出现乱码;
 * 解决方式一:
 *      String xx=new String(xx.getBytes("iso-8859-1"),"utf-8")
 * 解决方式二:
 *       req.setCharacterEncoding("utf-8")
 *
 * @author 小羊
 */
public class C_CharacterSet3 extends HttpServlet {
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //方式二:
        req.setCharacterEncoding("utf-8");
        String userName = req.getParameter("学习");
        //方式一:
      //  String s1 = new String(userName.getBytes("iso-8859-1"), "utf-8");
        System.out.println(userName);
        String pwd = req.getParameter("pwd");

        String[] favors = req.getParameterValues("favor");
        List<String> strings = Arrays.asList(favors);

        Enumeration<String> parameterNames = req.getParameterNames();
        ArrayList<String> arr = new ArrayList<>();
        while (parameterNames.hasMoreElements()){
            String s = parameterNames.nextElement();
            arr.add(s);
        }
        Map<String, String[]> pm = req.getParameterMap();
        PrintWriter out = resp.getWriter();
        out.println("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>");
        out.println("<HTML>");
        out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
        out.println("<BODY>");
        out.println("UserName:  "+userName+"<br/>");
        out.println("Password:  "+pwd+"<br/>");
        out.println("favor:  "+strings+"<br/>");
        out.println("Keys :  "+arr +"<br/>");

        Iterator<Map.Entry<String, String[]>> iterator = pm.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<String, String[]> next = iterator.next();
            out.println("Keys :  "+next.getKey()+"  "+"Values"+ Arrays.asList(next.getValue()) +"<br/>");
        }
        out.println("</BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }
}



    
    Title


JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 677楼
JAVA 全系列/第五阶段:JavaWeb开发/JSP技术详解(旧) 678楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 682楼
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 683楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 685楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 687楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 688楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 689楼
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 690楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637