get和post是http协议的两种方法
这两种方法有着本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。Post的参数是通过另外的流传递,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
- doGet
GET调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。GET调用在URL里显示正传送给Servlet的数据,这在系统的安全方面可能带来一些问题。比如用户登录,表单里的用户名和密码需要发送到服务器端,若使用Get调用,就会在浏览器的URL中显示用户名和密码。
- doPost
POST的作用与GET一样,都是获取服务器信息,并作为响应返回给客户端,好处就是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。(但是也有弊端)
方法:
就是将doPost方法的调用写在doGet中,这样无论浏览器发送的是GET请求或者是POST请求,都能被响应到。举个栗子
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException {
response.getWriter().write("hello world!");
}