get和post的区别
来源:互联网 发布:图数据库之王 neo4j 编辑:程序博客网 时间:2024/04/28 00:37
地址栏里面呈现的结果,localhost:8080/test/LoginServlet?username=123&password=123。客户端如果像服务器端发出的请求格式都是这样的name=value,请求方式分为get和post,通过浏览器来访问服务器的方式都是get方式。表单默认的method方式就是get,如果使用post方式,会报错,因为没有重写dopost方式
重写dopost方法,使其实现和doget相同的方法。我们将两个方法相同的代码重构一个新的方法proess,在doget和dopost方法都调用process。
不能单纯的复制,粘贴,选择该代码,然后右键, 这是方法的重构,然后在doget和dopost方法中都调用此方法
package firstservlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doget invoked"); process(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("dopost invaked"); process(req, resp); } private void process(HttpServletRequest req, HttpServletResponse resp) throws IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("<html><head><title>Login result</title></head>"); out.println("<body>username:" + username + "<br>"); out.println("password:" + password + "</body></html>"); out.flush(); }}
然后使用get方法时,地址栏会显示输入的信息,使用post方式没有
get和post的区别
最本质的区别是http协议的不同
在get方法中,http协议的实现方式是GET/test/LoginServlet?username=hello&password=world HTTP/1.1
对于post,http协议的实现方式是
POST/test/LoginServlet HTTP/1.1
….(一系类常规的请求)
Connection:Keep-Alive
username=hello&password=world
1、浏览器地址栏呈现的结果不同(表象)
2、 真正的原因在于向服务器端发送请求时的形式是不同的
3、get的请求格式GET/test/LoginServlet?username=hello&password=world HTTP/1.1
查询字符串作为url的一部分发给服务器
4、post的请求格式
POST/test/LoginServlet HTTP/1.1
….(一系类常规的请求)
Connection:Keep-Alive
username=hello&password=world
查询字符串作为请求体发送给服务器
5、浏览器对于url的长度是有限制的,所以使用浏览器文件上传是必须用post方式,不能用get方式
6、通过浏览器地址栏输入网址的方式来访问服务器资源,全部都是使用get方法请求的
- get 和post 的区别
- get和post的区别
- get和post的区别
- post和get的区别
- Get和Post的区别
- get和post的区别
- post和get的区别
- post和get的区别
- Post和Get的区别
- Get和Post的区别
- get和post的区别
- Post和Get的区别
- get和post的区别
- POST和GET的区别
- post和get的区别
- GET和POST的区别
- post和get的区别
- post和get的区别
- windows7 下配置Django1.5.12
- cocos2d-x中关于touch事件的响应
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
- 使用.bat文件或者是cmd里面运行.jar文件
- 2015063005 - 王美人家族
- get和post的区别
- JS页面跳转使地址后面不显示参数
- [CodeForces555B]Case of Fugitive[贪心][优先队列]
- myeclipse10调节默认字体大小的方法
- java 反射
- 动态链接库Cocoa Touch Framework
- 关于渗透演练系统的一些资料分享
- 包络检波概要
- 2015063006 - 东方企业家读书笔记(1)