一、Servlet简介与体系结构
Servlet是使用Java语言编写的服务器端程序。Servlet主要运行在服务器端,s并由服务器调用。
Servlet是单实例的,所以应该尽量少使用全局变量。
Servlet运行流程如下图所示:
简单说下我对Servlet运行流程的理解:
首先客户端向服务器(通过url)发送请求,请求成功后,Web插件会处理并判断客户端的请求,如果是静态请求(如请求网页、图片等),那么服务器就会从自己的资源中找到这些静态资源并返回给客户端;如果是动态请求(即需要服务器处理从客户端传来的信息)那么服务器会将这部分请求交给Web容器处理,Web容器中主要是Servlet发挥作用,对客户端请求进行响应,反馈给服务器之后再发给客户端。
二、Servlet的体系结构
由Servlet的实现方式说明Servlet的实现方式有三种:
方式一:实现Servlet接口,覆写其中的所有方法;
方式二:继承GenericServlet类,覆写service方法;
方式三:根据需求可以覆写doGet()(处理客户端的get请求)、doPost()(处理客户端的post请求)、service()方法,如果覆写了service()方法,则执行service()方法,而不执行doGet()或doPost()方法;
注:一般在使用Servlet时通常使用方式三实现Servlet,第一种方法在实现起来有点麻烦罢了。。不过这里实现一下Servlet接口,并用传统的部署描述符进行配置。