1、 Servlet 是 JavaEE 规范之一。规范就是接口
2、 Servlet 就 lavaWeb 三大组件之一。三大组件分别是: Servet 程序、 Fiter 过滤器、 Listener 监听器。
3、 Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户。
二、Servlet配置很多地方也说Servlet是一个容器,本质上其实大同小异,说白了,Servlet就是从客户端接收到请求,并在Servlet中进行相应的操作,之后响应客户端。
这里我觉得理解为容器会更好一点,Servlet容器里含有接收请求和响应请求的对象,我们可以通过该容器接受到请求,并响应该请求。(像一个黑盒)
HelloServlet untitled.servlet.HelloServlet HelloServlet /hello
1、
2、
3、
4、
简单来说,就是当我客户端要访问hello时,由HelloServlet来响应客户端的请求。
三、Servlet执行流程我们以上面配置的Servlet以及下面的访问路径为例
http://localhost:8080/servlet/hello
我们来分解该访问路径
1、http:表示请求协议
2、localhost表示的是服务器的ip地址,即客户端用来锁定是哪个服务器来帮助我们完成请求的响应
3、:8080是端口号,通过端口号,定位到Tomcat
4、/servlet是工程路径,通过工程路径来确定访问那个工程
5、/hello表示资源路径,即我们通过/hello来确定我们用哪个servlet来响应我们的程序
四、Servlet生命周期上面呢个例子来说,我们的/hello路径通过一个叫HelloServlet程序来响应请求,HelloServlet又来找到我们的HelloServlet类,找到该类以后,通过该类(实现了servlet接口)中的service方法,我们来通过具体的方法响应请求。
1、执行 Servlet 构造器方法
2、执行 init 初始化方法
第一、二步,是在第一次访问的时候创建 Servlet 程序会调用。
3、执行 service 方法
第三步,每次访问都会调用。
4、执行 destroy 销线方法
第四步,在 web 工程停止时候调用。
我们如果想自己实现自己的Servlet程序,只需要实现servlet接口即可
servlet中最重要的一个方法就是service方法,service用来在每一次请求访问servlet程序时对请求进行进行响应。
public class MyFirstServlrt implements Servlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//提供服务
}
}
我们可以通过调用servletRequest方法获取到请求方式(GET,POST等),通过if语句来分别编写不同的方法响应不同的请求。
Servlet接口中其他的两个方法(此处借用大佬讲的)
getServletInfo( ),这个方法会返回Servlet的一段描述,可以返回一段字符串。
getServletConfig( ),这个方法会返回由Servlet容器传给init( )方法的ServletConfig对象。



