• 获取GET/POST提交的数据,并处理中文问题


    1、获取input标签中的值,用request.getParameter("User")(User为input的name值)

    2、 获取checkbox的值,由于是多选的,所以不能通过getParameter,因为getParameter只能获取一个,通过string[] str[ request.getParameterValues("love")获取数组,然后通过Arrays.toString(str)就获取到了checkbox选择的value是值;

    3、关于提交的中文内容的处理

    在Get方式提交的内容中含有中文时:(只能一个数据进行处理)

    1 String say=request.getParameter("say");//获取值say=%E4%E8
    2         String str=new String(say.getBytes("ISO-8859-1"),"UTF-8");//转码,http 传输使用的是ISO-8859-1编码,我们要转成UTF-8编码
    3         System.out.println(str);

    在post方式提交的内容中含有中文时:

    直接在获取之前设置编码(设置所有的编码,一劳永逸【推荐】)

        
    request.setCharacterEncoding("UTF-8");

    Demo

    1 System.out.println("Get");
    2         System.out.println(request.getParameter("User"));
    3         System.out.println(request.getParameter("Pwd"));
    4         System.out.println(request.getParameter("sex"));
    5         System.out.println(Arrays.toString(request.getParameterValues("love")));
    6           
    7         String say=request.getParameter("say");
    8         String str=new String(say.getBytes("ISO-8859-1"),"UTF-8");
    9         System.out.println(str);
    1 System.out.println("post");
    2          
    3         request.setCharacterEncoding("UTF-8");
    4          
    5         System.out.println(request.getParameter("User"));
    6         System.out.println(request.getParameter("Pwd"));
    7         System.out.println(request.getParameter("sex"));
    8         System.out.println(Arrays.toString(request.getParameterValues("love")));   
    9         System.out.println(request.getParameter("say"));
     1 <form action="getDataServlet" method="get">
     2      用户名:<input type="text" name="User"/>
     3      <br/>
     4   密码:<input type="password" name="Pwd"/>
     5   <br/>
     6   性别:<input type="radio" name="sex" checked="checked" value="01"/> 7     <input type="radio" name="sex" value="02"/><br/>
     8   爱好:<input type="checkbox" name="love" value="o1"/>看书
     9         <input type="checkbox" name="love" value="o2"/>游泳
    10         <input type="checkbox" name="love" value="o3"/>打游戏
    11         <input type="checkbox" name="love" value="o4"/>编程
    12         <input type="checkbox" name="love" value="o5"/>看电影
    13  <br/>
    14  自我评价:<textarea rows="5" cols="30" name="say"></textarea>
    15  <br/>
    16  <input type="submit" value="提交"/>
    17  </form>
  • 相关阅读:
    理解和学习qml
    (离线)英语词典软件推荐
    Ubuntu:安装deb文件包以及deb卸载
    mac man汉化方法
    Linux中文件和目录的权限(r, w, x)
    解决mac休眠掉电的解决方法
    线程池之ThreadPool与ForkJoinPool
    程序员的知识焦虑
    回顾2018,展望2019
    NIO基础学习——缓冲区
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4079467.html
Copyright © 2020-2023  润新知