JSP、Servlet中get请求和post请求的区别总结

在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法。前两天看《Head First Servlets & JSP》看到其中讲关于Servlet中get请求和post请求的区别,现总结如下:

1:请求数据的大小不同。

因为get请求的数据是要追加到URL中,而URL的数据量一般不能超过2K,所以用get请求的方法对数据的大小有限制。而post请求方法是把数据放在消息体中,所以理论上对数据量没有限制。(但是实际操作中也不能能太大)

2:安全性不一样

因为get请求的数据是追加在URL中,外部用户能很方便的看到,从这个角度上来讲不安全。而post方法因为是讲请求放在消息体中,不会直接在URL中显示所以从这个角度来说数据会比较安全。

3:书签建立

get请求可以建立书签;post请求则不能。例如:假设你有一个页面允许用户指定搜索规则。用户可能一个星期之后才回来,想要得到原来的数据,但此时服务器上已经有新的数据了。

4:方法的使用

get用于得到某些东西,只是简单的获取,不会对服务器做任何的改变。post则用户发送数据来进行处理,可以修改服务器上的数据。

5:请求是否幂等

get请求是幂等的,它只是要得到一些东西,不会修改服务器上的内容。它能执行多次,而且不会产生任何不好的副作用。而post不是幂等的,post体中的提交的数据可能用于不可逆转的事务。所以从这个角度上来看的话要慎重使用doPost()功能。

若表单中未指出method=“POST”,就会默认为HTTPGET请求。即缺省状态是调用get请求。

 在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法。

(1)doGet方法:主要是处理Http中的Get请求
(2)doPost方法:主要是处理Http中的Post请求

那么Get请求和Post请求到底有什么样的区别

(1)get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串
例如,http://localhost:8888/javaweb/getServlet?name=123
(2)post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。

什么时候使用doGet和doPost方法 :

1.通过表单提交到的servlet,看form的method是get还是post  
2.通过链接<a  href…>访问的servlet,doGet  
3.直接在ie地址栏中键入的servlet地址,doGet

转载于:https://www.cnblogs.com/wujinsen/p/4460280.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用java解决约瑟夫循环问题_Java采用循环链表结构求解约瑟夫问题

本文实例讲述了Java采用循环链表结构求解约瑟夫问题的方法。分享给大家供大家参考。具体分析如下&#xff1a;这是第一次java考试的试题&#xff0c;对于没看过链表的同学来说就不会做&#xff0c;现在回头看看&#xff0c;还真不难。约瑟夫问题&#xff1a;有n个人&#xff0c…

在ubuntu上搭建开发环境9---Ubuntu删除ibus出现的问题及解决

删除 ibus输入法&#xff1a;  sudo apt-get install ibus 我们会遇到下面的问题 Ubuntu 14.04 系统设置很多选项消失。 其实遇到这个问题的一个最主要的原因是之前执行过卸载ibus输入法的操作&#xff0c;所以为了避免这个问题请不要卸载ibus输入法&#xff0c;大家依然可以…

java制作图形界面数据库_java图形界面以及链接数据库

import java、awt、*;import java、awt、event、*;import javax、swing、*;import java、sql、*;public class NoteTextArea extends JFrame implements ActionListener{private JPanel jpnew JPanel();private JButton[] jb new JButton[4];private JComboBox box;private JT…

HDU 3951 (博弈) Coin Game

先考虑两种简单的情况&#xff1a; 如果先手能一次把硬币拿完&#xff0c;即 k > n &#xff0c;那么先手胜如果每次只能拿一个硬币&#xff0c; 即 k 1 &#xff0c;那么如果有奇数个硬币先手胜&#xff0c;如果有偶数个硬币后手胜。剩下的情况就是先手一次拿不完&#xf…

顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)

实现顺序表的插入&#xff0c;删除&#xff0c;查找&#xff0c;输出操作在C语言中经常用到。下面小编给大家整理实现代码&#xff0c;一起看下吧代码如下所示&#xff1a;#includeusing namespace std;#define MAXSIZE 15typedef int DataType;typedef struct{DataType data[M…

Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态

一、目标 1、根据service是否在后台运行情况来确定CheckBox的选中状态&#xff1b; 2、解决"设置中心"的“开启来电号码显示归属地”功能在退出程序再进入时选中状态消失&#xff0c;在任务管理器中关闭“来显”服务时&#xff0c;功能仍为选中状态 二、代码实现 1、…

把java复制到e_编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下...

package cn.io.file.demo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.IOException;/*** 编写一个程序&#xff0c;将e:\java目录下…

HTTP - PUT 上传文件/Shell

今天遇到几个PUT上传的点&#xff0c;但是都没利用起来。一怒之下&#xff0c;在自己本地试了一下。步骤如下&#xff1a; 一、环境&#xff1a; 首先&#xff0c;根据 配置Apache服务器支持向目录PUT文件 更新一下httpd.conf文件&#xff0c;重启所有服务。 二、HTTP - PUT PU…

Pro Android学习笔记(三三):Menu(4):Alternative菜单

什么是Alternative menu&#xff08;替代菜单&#xff09; 举个例子&#xff0c;Activity显示一个文本文件。如果用户想对文本文件进行编辑&#xff0c;Activity不提供编辑能力&#xff0c;但可由其他activity或者其他应用提供。我们将相关信息存储在一个intent中&#xff0c;例…

java实现手机开关机_Android 系统重启与关机:Java 代码实现

粘贴一篇关于权限的文章&#xff1a;最近在做个东西&#xff0c;巧合碰到了sharedUserId 的问题&#xff0c;所以收集了一些资料&#xff0c;存存档备份。安装在设备中的每一个apk文件&#xff0c;Android 给每个 APK 进程分配一个单独的用户空间,其 manifest 中的 userid 就是…

C# 泛型的协变和逆变

1. 可变性的类型&#xff1a;协变性和逆变性 可变性是以一种类型安全的方式&#xff0c;将一个对象当做另一个对象来使用。如果不能将一个类型替换为另一个类型&#xff0c;那么这个类型就称之为&#xff1a;不变量。协变和逆变是两个相互对立的概念&#xff1a; 如果某个返回的…

java数据类型的站位_Java 数据类型在实际开发中应用

在前边的文章中&#xff0c;我已经介绍了Java核心的容器IO等&#xff0c;现在我来说一下java中的数据类型。在java中&#xff0c;一切东西皆为对象(这句话意思是java中绝大数情况都用对象)&#xff0c;极少数不是对象的&#xff0c;也存在与之对应的对象(比如基本数据类型存在与…

块状元素的居中,首先设置宽度,再设 margin: 0 auto

块状元素的居中&#xff0c;首先设置宽度 width"10px"&#xff0c;再设 margin: 0 auto; 。转载于:https://www.cnblogs.com/npk19195global/p/4475576.html

java amf3_Java AMF3 反序列化漏洞分析

写在前面的话AMF(Action Message Format)是一种二进制序列化格式&#xff0c;之前主要是Flash应用程序在使用这种格式。近期&#xff0c;Code White发现有多个Java AMF库中存在目前&#xff0c;漏洞相关信息已上报至美国CERT(详情请参考美国CERT VU#307983)概述目前&#xff0c…

typecho除了首页其他大部分网页404怎么办?

server {listen 80;server_name blog.localhost; #绑定域名index index.htm index.html index.php; #默认文件root /data/webroot/blog; #网站根目录location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi_params;}if (-f $request_filenam…

java能写复杂的查询么_spring-data-jpa 复杂查询的写法(包含or的查询)

场景如下&#xff1a;很简单的CMS常用查询&#xff0c;栏目下有多个子栏目&#xff0c;子栏目有包含内容。public class Channel{....private String parentIds;//所有的父节点&#xff0c;简化查询策略 例如 0,1,11,private List channels Lists.newArrayList(); //所有的儿子…

在Ubuntu上安装misterhouse

配置Ubuntu 您将对Ubuntu的配置做某些微小更改以便远程管理MH BOX和安装Misterhouse正常运行所需的必要的软件模块。首先要进行系统升级。因为系统提供的欧洲源更新实在是太慢了&#xff01;更换源是为了节省时间&#xff0c;尽快得将系统更新一遍。安装完系统后这是重要的一个…

java+路径拦截实现_SpringBoot实现拦截器

首先&#xff0c;你的项目要能跑起来&#xff0c;且基于springboot的boot的拦截器不用配置web.xml&#xff0c;按照特定名字书写(后缀注解)&#xff0c;它会自动识别(位置随便放&#xff0c;只要在代码目录下就可以)1.拦截器 SessionInterceptor.javapackage com.hfanss.blog.u…

Codeforces 524C Idempotent functions

题目链接&#xff1a;http://codeforces.com/problemset/problem/542/C 题目大意&#xff1a;给定一种运算f&#xff0c;对于输入的数组来说&#xff0c;一步操作&#xff0c;f(x) a[x]&#xff0c;两步操作&#xff0c;f^2(x) a[a[x]]....倘若每次进行k步操作之后&#xff0…

c 获取mysql安装路径_linux查看mysql安装路径

Linux下查看mysql、apache是否安装,并卸载。指令 ps -ef|grep mysql 得出结果root 17659 1 0 2011 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir/var/lib/mysql --socket/var/lib/mysql/mysql.sock --log-error/var/log/mysqld.log --pid-file/var/run/mysqld/mysqld.p…