一、简述
Servlet,服务器端的小程序 ,Servlet,是接受来自网络的请求(form表单,以及其他的请求),并对不同请求作出不同的响应
Servlet,是基于Http协议的,是运行在web服务器中的程序。这里要提出一个容器的概念。
servlet是运行在web容器中 ,这个web容器可以控制Servlet对象的生命周期,控制请求由Servlet对象处理。

2、web服务器,这里的服务器不是硬件概念,而是软件,常用的web服务器有 Tomcat,Jboss等,我们所用到的Tomcat是一个开源的服务器,

二、servlet接口
servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它那五个方法,其中最主要的是两个生命周期方法 init()和destroy(),还有一个处理请求的service(),也就是说,所有实现servlet接口的类,或者说,所有想要处理网络请求的类,都需要回答这三个问题:
你初始化时要做什么
你销毁时要做什么
你接受到请求时要做什么

实现servlet 接口
#如果1个类要实现servlet接口.则要重写如下所有方法:

void destroy()

ServletConfig getServletConfig()

String getServletInfo()

void init(ServletConfig config)

void service(ServletRequest req, ServletResponse res)

其中service方法是关键, 它决定了这个Servlet类获得http请求req的信息后做些什么, 返回什么信息到res对象中)

继承HttpServlet抽象类
HttpSerlvet也是1个实现了Servlet接口的抽象类.
继承抽象类HttpServlet的Servlet类要重写分别两个方法.

分别是

doGet(HttpServletRequest request, HttpServletResponse response)

doPost(HttpServletRequest request, HttpServletResponse response)

上面两个方法都可以处理http请求和返回信息给webserver. ,它们实际上最终都是重写并调用了Servlet接口的service方法.

其中doGet是用于处理浏览器的Get请求的. 也就是如果1个浏览器向webserver发起1个Get请求, webserver就会交由队对应servlet类的doGet()方法来处理

相对地, Post请求就会交由doPost()来处理.

三 、两种 HTTP 请求方法:GET 和 POST
GET - 从指定的资源请求数据。
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据

POST - 向指定的资源提交要被处理的数据
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求