servlet
定义:Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序。
servlet体系
Servlet接口定义了Servlet与servlet容器之间的契约。这个契约是:Servlet容器将Servlet类载入内存,并产生Servlet实例和调用它具体的方法。
-
对于每一个应用程序,Servlet容器还会创建一个ServletContext对象。这个对象中封装了上下文(应用程序)的环境详情。
-
如果我们想使用servlet,那么我们可以实现servlet接口,如果实现此接口的话,那么必须重写servlet中的所有方法,init,getServletConfig,service,destroy…方法,比较麻烦,而且我们必须自己管理每个Servlet对象都有的一个封装Servlet配置的ServletConfig对象。所以,我们一般不实现servlet接口,而是继承它的实现类(GenericServlet,HttpServlet)在HttpServlet中对service方法进行重写,判断我们是使用doGet还是doPost等方式,然后调用相应的方法。所以我们只需重写doGet等方法即可。
-
servletConfig:在创建每一个servlet时,servlet容器都会将servletConfig对象传入init()中,这个对象包含了servlet初始化和启动参数。
-
servletContext:每个web程序只有一个servletContext对象,我觉得通过这个servletContext,多个servlet之间可以进行共享数据。通过在ServletConfig中调用getServletContext方法,也可以获得ServletContext对象。
servlet与Tomcat
那么servlet容器是如何找到对应的servlet呢?(找到对应的service方法):首先通过配置的映射路径找到名为xxx的servlet,通过名字去匹配对应servlet类。
- 关于Tomcat服务器加载servlet
- Tomcat帮我们做了什么
- 通信支持
利用容器提供的方法,你可以简单的实现servlet与web服务器的对话。否则你就要自己建立server搜创可贴,监听端口,创建新的流等等一系列复杂的操作。而容器的存在就帮我们封装这一系列复杂的操作。使我们能够专注于servlet中的业务逻辑的实现。