servlet究竟是什么,servlet及子类源码分析

servlet是什么

好像在使用了SpringBoot后,或者说Spring后,程序员好像越来越难接触到servlet这个东西了,很多人以为隐藏在重重框架后的servlet是个超级复杂的洪水猛兽,但是并不是这样的。事实上,servlet就是一个Java接口,interface! 打开idea,ctrl + shift + n,搜索servlet,就可以看到是一个只有5个方法的interface!

public interface Servlet {
void init(ServletConfig var1) throws ServletException;

ServletConfig getServletConfig();

void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

String getServletInfo();

void destroy();
}

所谓接口,无非是为了规范。那么对于那些实现了servlet接口的类来说呢?他们就可以处理网络请求的吗?当然是不可以的!servlet并不与客户端直接打交道,真正和客户端打交道的东西是tomcat容器,tomcat监听了端口,每过来一个http请求,tomcat根据http请求的url,将请求转发到tomcat中的对应的servlet容器中,然后servlet处理业务逻辑后返回一个response对象,tomcat再将这个response返回给客户端。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×