Servlet中doGet与doPost的区别..

黑芝麻怎么吃2023-02-01  17

doGet是处理客户端发来的Get请求,doPost是处理客户端发来的Post请求,它们的区别可以从以下7个方面来说明:

1、客户端(一般指浏览器)生成的方式

get:form中method属性为get时;或者直接在URL地址栏中输入URL,需要传递参数时,直接在URL后面拼接“?name=张三&age=18”这样的查询参数字符串;

post:form中method属性为post。

2、客户端数据传送方式

get:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体;

post:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。

3、服务器获取数据方式

get:服务器采用Servlet中的doGet来获取变量的值;

post:服务器采用Servlet中的doPost来获取数据。

4、传输的数据量

get:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制;

post:适合大规模的数据传送。因为是以实体的方式传送的。

5、安全性

get:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低;

post:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。

参考资料来源:百度百科-servlet

每个Servlet一般都需要重写doGet方法,因为父类的HttpServlet的doGet方法是空的,没有实现任何代码,子类需要重写此方法。

doGet方法的定义代码如下:

public void doGet(HttpServletRequest request,HttpServletResponse response )throws

ServletException,IOException{

}

1、传输速度上的差别:doget传输速度高于dopost传输速度。

2、传输数据上的差别:doget1、3k多余的传输数据部分会被截取,dopost传输数据不会被截取。

3、安全性上的差别:通过doGet方式提交的数据安全性低,通过doGet方式提交的数据安全性高。

doGet是处理客户端发来的Get请求,doPost是处理客户端发来的Post请求,它们的区别可以从以下几个方面来说明:

1、客户端(一般指浏览器)生成的方式

get:form中method属性为get时;或者直接在URL地址栏中输入URL,需要传递参数时,直接在URL后面拼接“?name=张三&age=18”这样的查询参数字符串;

post:form中method属性为post。

2、客户端数据传送方式

get:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体;

post:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。

3、服务器获取数据方式

get:服务器采用Servlet中的doGet来获取变量的值;

post:服务器采用Servlet中的doPost来获取数据。

4、传输的数据量

get:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制;

post:适合大规模的数据传送。因为是以实体的方式传送的。

5、安全性

get:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低;

post:安全性高。因为post方式提交数据时是采用的HTTPpost机制,是将表单中的字段与值放置在HTTPHEADER内一起传送到ACTION所指的URL中,用户是看不见的。


转载请注明原文地址:https://juke.outofmemory.cn/read/2856154.html

最新回复(0)