当前位置:主页 > 软件编程 > JAVA代码 >

java web学习_浅谈request对象中get和post的差异

时间:2020-11-01 14:09:20 | 栏目:JAVA代码 | 点击:

阅读目录(Content)

•1.get与post的区别

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

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

•2.运行结果

•2.1 输入数据

•2.2 打印出数据

•3.post方法

•4.对比

•4.1 在输出页面按下F12查看

•5.分析

1.get与post的区别

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

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

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

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

protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=gbk");//设置响应正文的mime类型
  request.setCharacterEncoding("gbk");//设置请求的编码格式
  response.setCharacterEncoding("gbk"); 

  String username = request.getParameter("userName");//
  String password = request.getParameter("password");
  String sex = request.getParameter("sex");
  String classes = request.getParameter("class");
  String hobby[] = request.getParameterValues("hobby");// 获取checkbox的数据保存到hobby数组中

  PrintWriter out = response.getWriter();
  
  if (hobby != null) {
   for (String x: hobby) {
    out.println("doGet被调用");
    out.println("name:"+username+"password:"+password+"sex"+sex+"classes"+classes);
    out.println("hobby:" + x);  
   }
  }else{
   out.println("此人没爱好!"); 
  }
 }

注意: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文件中

您可能感兴趣的文章:

相关文章