• java_web学习(六) request对象中的get和post差异


    1.get与post的区别

         Get和Post方法都是对服务器的请求方式,只是他们传输表单的方式不一样。

        下面我们就以传输一个表单的数据为例,来分析get与Post的区别

    1.1 get方法  jsp中的代码form表单代码

         

    1.2 action包中servlet的doGet方法中的代码

     1 protected void doGet(HttpServletRequest request, HttpServletResponse response)
     2             throws ServletException, IOException {
     3         response.setContentType("text/html;charset=gbk");//设置响应正文的mime类型
     4         request.setCharacterEncoding("gbk");//设置请求的编码格式
     5         response.setCharacterEncoding("gbk"); 
     6 
     7         String username = request.getParameter("userName");//
     8         String password = request.getParameter("password");
     9         String sex = request.getParameter("sex");
    10         String classes = request.getParameter("class");
    11         String hobby[] = request.getParameterValues("hobby");// 获取checkbox的数据保存到hobby数组中
    12 
    13         PrintWriter out = response.getWriter();
    14         
    15         if (hobby != null) {
    16             for (String x: hobby) {
    17                 out.println("doGet被调用");
    18                 out.println("name:"+username+"password:"+password+"sex"+sex+"classes"+classes);
    19                 out.println("hobby:" + x);        
    20             }
    21         }else{
    22             out.println("此人没爱好!");    
    23         }
    24     }

     注意:action包中servlet命名与form表单action的名字相同:

    2.运行结果

      2.1 输入数据

      2.2 打印出数据

       

    3.post方法

       只需要将table表单中method改为post:

    servlet中有这样的一行代码:

    同样能打印出:只是出现了乱码

    4.对比

       4.1 在输出页面按下F12查看

       

       

       post跟get的差异,优先选post

        post的缺点:

        

      更新web版本可以避免错误

    servlet代码分析

    5.分析

         servlet作为控制器是不应该输出内容的,我们应该把要打印的内容放到jsp文件中

    本人还是初学者,高手大神请指教,

        

        

  • 相关阅读:
    1065 01字符串
    poj 1321 棋盘问题
    0608模拟算法试题
    唯一的雪花
    2969 角谷猜想
    0607枚举算法试题
    3162 抄书问题(划分dp)
    8782:乘积最大(划分dp)
    2985:数字组合
    3531:判断整除
  • 原文地址:https://www.cnblogs.com/Crezy/p/6909397.html
Copyright © 2020-2023  润新知