servlet学习笔记01基本概念

1.什么是servlet?
答:servlet是一个按照Servlet规范编写的java程序,基于http协议,在服务器端运行(如:tomcat),要编写一个servlet,需要实现javax.servlet.Servlet接口,jsp是servlet的扩展,jsp第一次运行时,需要先被翻译成JAVA代码,再编译.class文件,其中的JAVA代码就是servlet。
2.servlet作用
答:用于处理客户端的请求
3.servlet生命周期
答:servlet的生命周期是由servlet的容器来控制的,主要包括:初始化->运行->销毁
初始化阶段:1.servlet容器加载servlet类,并把servlet类的.class文件中的数据读入到内存中。
                 2.servlet容器创建一个servletconfig对象,该对象包含了servlet的初始化配置信息。
                 3.servlet容器创建一个servlet对象
                 4.servlet容器调用servlet对象的init方法进行初始化
运行阶段:当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象,然后调用service方法,并将这两个参数传递给service方法。service方法通过servletRequest对象获得请求的信息,并处理该请求,再通过servletResponse对象生成响应结果,然后销毁servletRequest和servletResponse对象。
销毁阶段:当web应用被终止时,servlet容器会先调用servlet对象的destroy方法,在销毁servlet对象,同时销毁与servlet对象相关联的servletConfig对象。
tips:在生命周期中,初始化和销毁只会发生一次,而执行次数则取决于被客户端访问的次数。
4.servlet容器
答:servlet容器,即servlet引擎,是web服务器或应用程序服务器的一部分,用于为发送的请求和响应提供网络服务,解码基于MIME的请求,格式化基于MIME的响应,在servlet的生命周期内包含和管理servlet。
根据servlet容器工作模式的不同,将其分为3类:
(1)独立的servlet容器,即基于java的web服务器,大多数是非基于java的web服务器,又可以分为下面两种。
(2)进程内的servlet容器:servlet容器由web服务器插件和java容器两部分组成,web服务器插件在某个web服务器内部地址空间中打开一个JVM,使得java容器可以在jvm中加载并运行servlet。当客户端调用的servlet请求到来时,web服务器插件取得对请求的控制并将它传递(使用JNI技术)给java容器,java容器将此请求交由servlet进行处理。进程内的servlet容器对于单进程、多线程的服务器非常适合,有较高的运行速度,但伸缩性有所不足。
(3)进程外的servlet容器:servlet容器由web服务器插件和java容器两部分组成,运行于web服务器之外的地址空间,在外部JVM中运行,使用IPC机制(通常是TCP/IP)进行通信,当一个调用servlet的请求到达时,插件对此请求的控制并将其传递(使用IPC机制)给java容器,响应速度较慢,但有更好的伸缩性和稳定性。
总而言之,servlet容器就相当于web服务器,比如tomcat。

posted on 2015-12-10 10:18  y_n_y_x_y  阅读(142)  评论(0编辑  收藏  举报

导航