在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生命周期: