吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:request对象-获取GET请求里的中文字符

<%-- 
    Document   : form
    Created on : 2020-4-11, 23:10:56
    Author     : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> 收集参数的表单页 </title>
    </head>
    <body>
        <form id="form1" method="get" action="request3.jsp">
            用户名:<br/>
            <input type="text" name="name"><hr/>
            性别:<br/>
            男:<input type="radio" name="gender" value="男">
            女:<input type="radio" name="gender" value="女"><hr/>
            喜欢的颜色:<br/>
            红:<input type="checkbox" name="color" value="红">
            绿:<input type="checkbox" name="color" value="绿">
            蓝:<input type="checkbox" name="color" value="蓝"><hr/>
            来自的国家:<br/>
            <select name="country">
                <option value="中国">中国</option>
                <option value="美国">美国</option>
                <option value="俄罗斯">俄罗斯</option>
            </select><hr/>
            <input type="submit" value="提交">
            <input type="reset" value="重置">
        </form>
    </body>
</html>

<%-- 
    Document   : request3
    Created on : 2020-4-11, 23:39:55
    Author     : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> 获取包含非西欧字符的GET请求参数 </title>
    </head>
    <body>
        <%
// 获取请求里包含的查询字符串
            String rawQueryStr = request.getQueryString();
            out.println("原始查询字符串为:" + rawQueryStr + "<hr/>");
// 使用URLDecoder解码字符串
            String queryStr = java.net.URLDecoder.decode(
                    rawQueryStr, "UTF-8");
            out.println("解码后的查询字符串为:" + queryStr + "<hr/>");
//&符号分解查询字符串
            String[] paramPairs = queryStr.split("&");
            for (String paramPair : paramPairs) {
                out.println("每个请求参数名、值对为:" + paramPair + "<br/>");
                //=来分解请求参数名和值
                String[] nameValue = paramPair.split("=");
                out.println(nameValue[0] + "参数的值是:"
                        + nameValue[1] + "<hr/>");
            }
        %>
    </body>
</html>

原文地址:https://www.cnblogs.com/tszr/p/12683158.html