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文件中

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

java_web学习(六) request对象中的get和post差异的更多相关文章

  1. C#多线程学习(六) 互斥对象

    如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类. 我们可以把Mutex看作一个出租车,乘客看作线程.乘客首先 ...

  2. 关于从request对象中获取路径的问题

    从request对象中获取路径的问题:例如: 项目名为:tmall_web     请求的servlet名为:loginServlet 示例代码如下: @Override protected void ...

  3. 重温Servlet学习笔记--request对象

    request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...

  4. django 修改 request 对象中的请求参数, 并重新赋值给 request 对象

    直接上代码, 实现流程看代码及注释 def your_view(self, request): method = request.method if method == "GET" ...

  5. Scala学习(六)---Scala对象

    Scala中的对象 摘要: 在本篇中,你将会学到何时使用Scala的object语法结构.在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它.本篇的要点包括: 1. ...

  6. java_web学习(十) 显示mysql中的数据

    一.建立数据库 create database animal; create table animal( sno int, name varchar(20), weight varcahr(20), ...

  7. 如何将Request对象中的参数列表打印出来

    Map<String, String[]> map = request.getParameterMap(); Set<Map.Entry<String, String[]> ...

  8. request对象学习

    import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletException; imp ...

  9. JSP内置对象之request对象【学习笔记】

    request对象是JSP中重要的对象,每个request对象封装着一次用户的请求,并且所有的请求参数都被封装在request对象中,因此request对象是获取请求参数的重要途径. 一.获取请求头与 ...

随机推荐

  1. 大数据学习(5)MapReduce切片(Split)和分区(Partitioner)

    MapReduce中,分片.分区.排序和分组(Group)的关系图: 分片大小 对于HDFS中存储的一个文件,要进行Map处理前,需要将它切分成多个块,才能分配给不同的MapTask去执行. 分片的数 ...

  2. springboot(十三):springboot小技巧

    一些springboot小技巧.小知识点 初始化数据 我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用Jpa,另外一种是Spring JDBC.两种方式各有区别下面 ...

  3. Linux: curl

    [user@localhost ~]$ curl -h Usage: curl [options...] <url> Options: (H) means HTTP/HTTPS only, ...

  4. 《认知与设计:理解UI设计准则》【PDF】下载

    <认知与设计:理解UI设计准则>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382276 内容介绍 <图灵交互设计丛书·认 ...

  5. 文件系统常用命令df、du、fsck、dumpe2fs

    df 查看文件系统 [root@localhost ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda5 16558080 1337676 15220404 9% / de ...

  6. ES6函数的拓展

    ES里面现在支持在函数的参数直接给参数赋一个默认值,ES6支持拓展运算符(...)三个英文的点,这个形式如function(...a)这个里面...a可以接受若干的值,这个拓展运算符也可以把若干的值转 ...

  7. CPP--关于long的争议和思考

    先普及一下VS开发Linux的知识点 VS2017的安装:https://www.cnblogs.com/dunitian/p/8051985.html 创建项目在这 第一次运行的时候会让输入服务器信 ...

  8. Linux(CentOS7.1)修改默认yum源为国内的阿里云yum源

    官方的yum源在国内访问效果不佳. 需要改为国内比较好的阿里云或者网易的yum源 修改方式: 下载wget yum install wget -y echo 备份当前的yum源 mv /etc/yum ...

  9. 编译Twitter的Heron时一直报错“heron/bazel_configure.py", line 25, in <module> import semver ImportError: No module named semver”如何处理。

    今天编译heron的时候,从官方git到的源码bazel_configure的时候一直报错如下: Traceback (most recent call last): File , in <mo ...

  10. ASP.NET如何通过后台数据库提供的链接播放视频(不使用外置插件)

    1.后台视频数据库: 2.aspx中的关键代码: <asp:DataList ID="DataList2" runat="server" DataKeyF ...