HTML表单提交方式 get和post 前后端联系与区别。

在HTML中,我们经常会用表单

进行用户信息的一些收集,然后提交给服务器进行处理。提交方式有get和post两种。


    用户名:
密 码: 

前端:

get和post两种提交方式的区别:

  • 安全性。 get

                         

      GET提交: 

      POST提交:

  •   可提交内容大小限制。 

     GET的内容写在URL中,所以对提交信息的长度有限制,最多不能超多8KB个字符,如果信息太长,将被截去,从而导致意想不到的结果。

     POST的内容被打包了,理论上编辑的内容是不受限制的,但建议不要超过64KB。

  • 请求响应的速度。

    GET的速度要快于POST,GET要求服务器立即请求处理,POST因携带东西较多,需形成一个队列请求。

  • 支持的字符集不同 

    GET限制Form表单的数据集的值必须为ASCII字符; 
    POST支持整个ISO10646字符集,默认是用ISO-8859-1编码

  • 数据传递形式不同

    GET若果多个变量之间&符号链接,用?符号起到连接和清除缓存的作用。

    POST在数据体中按键值对一一罗列。

默认情况下是使用GET提交方式,当然一些无关紧要的少量数据的提交,GET是比较效率高的方法;但是如果涉及到隐私,以及信息安全的数据,比如银行账户之类的私人数据,需使用POST提交。(个人建议用POST,其实所谓的速度慢也慢不到哪里去)

后端:

 表单通过action="提交路径"把数据交给后台进行处理,Servlet是专门用来处理业务逻辑的。

package com.test.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Servlet11") //配置Servlet路径
public class Servlet11 extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //这里用来接收GET提交方式的处理
        String username=request.getParameter("username");//获取到表单输入的信息
        System.out.println("username"+username);
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//这里用来接收POST提交方式的处理
        String username=request.getParameter("username");//获取到表单输入的信息
        System.out.println("username"+username);
		doGet(request, response);
	}

}

实际上,在Servlet中调用doGet()和doPost()底层都是调用了service()方法。这是Servlet生命周期的第二个阶段,用于响应客户请求的阶段,也是最核心的一个阶段。

Servlet生命周期:

HTML表单提交方式 get和post 前后端联系与区别。_第1张图片

 

你可能感兴趣的:(HTML表单提交方式 get和post 前后端联系与区别。)