http://www.iteye.com/topic/766418

1 .首先,什么是Servlet? 
       Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。 
   2.Servlet是做什么的? 
       Servlet是处理客户端的请求并将其发送到客户端。 
    3.Servlet API

1>Servlet框架的组成 
        Servlet框架是由2个Java包组成:(1)javax.servlet和(2)javax.servlet.http

(1)javax.servlet包中定义了所有Servlet类都必须实现的接口和类。 
          javax.servlet包的接口为: 
                            ServletConfig接口  ---- 在初始化过程中由Servlet容器使用 
                            ServletContext接口  ---- 定义Servlet用于获取容器信息的方法 
                            ServletRequest接口 ---- 向服务器请求信息 
                            ServletResponse接口 ----  响应客户端请求 
                             Servlet接口  ---- 定义所有Servlet必须实现的方法 
          javax.servlet包中的类为: 
                              ServletInputStream类  ---- 用于从客户端读取二进制数据 
                              ServletOutputStream类  ---- 用于将二进制数据发送到客户端 
                               GenericServlet类  ---- 抽象类,定义一个通用的,独立于地层协议的Servlet。

(2)javax.servlet.http包中定义了采用HTTP通信的HttpServlet类。 
          javax.servlet.http包的接口为: 
                         HttpServletRequest接口  ---- 提供http请求 
                         HttpServletResponse接口  ---- 提供http响应 
                         HttpSession接口  ---- 用于标识客户端并存储有关客户信息 
                         HttpSessionAttributeListener接口  ----实现这个侦听接口用户获取会话的属性列表的改变的通知 
          javax.servlet.http包中的类: 
                         HttpServlet类 ---- 扩展了 GenericServlet的抽象类,用于扩展创建Http Servlet 
                          Cookie类  ---- 创建一个Cookie,用于存储Servlet发送给客户端的信息 
                                                      
   2>Servlet框架的核心 
        Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。

4.Http Servlet 
       HttpServlet是一个抽象类,用来创建用户自己的 HTTP Servlet。HttpServlet类的子类必须至少重写一下方法中的一个:doGet()和doPost()。

HttpServlet类提供doGet()方法来处理GET请求 
        public void doGet(HttpServletRequest req,HttpServletResponse res) 
              提供doPost()方法处理POST请求  
        public void doPost(HttpServletRequest req,HttpServletResponse res) 
        其中有2个参数:HttpServletRequset和HttpServlerResponse 
         这2个类实现了ServlerRequset接口和ServletResponse接口 
        ServletRequest接口中封装了客户请求信息<客户请求方式,参数名,参数值等> 
        ServletResponse接口 为 Servlet提供了返回相应结果的方法。

5.Servlet体系结构 
          Servlet-->GenericServlet-->HttpServlet-->用户自定义的Servlet

6.Servlet的生命周期 
         Servlet的生命周期由Servlet容器控制,该容器创建Servlet的实例。 
         Servlet生命周期就是指创建Servlet实例后响应客户请求直至销毁的全过程。 
         1>Serlvet生命周期的三个方法:init()-->service()-->destroy() 
         2>生命周期的各个阶段: 
            实例化:Servlet容器创建Servlet类的实例对象 
            初始化:Servlet容器调用Servlet的init()方法 
            服务:如果请求Servlet,则容器调用service()方法 
            销毁:销毁实例之前调用destroy()方法 
            不可用:销毁实例并标记为垃圾处理

最新文章

  1. OC宏和常量
  2. 第二篇:SOUI源码的获取及编译
  3. Android_Layout (一)
  4. decimalFormat(小数格式)
  5. Eclipse 一直提示 loading descriptor for 的解决方法(转)
  6. JQuery获取append后的动态元素
  7. 【C语言】中的版本规范(C89 C99等)
  8. Node.js中的URL
  9. centos6.7配置git服务器
  10. BZOJ 1212: [HNOI2004]L语言( dp + trie )
  11. UVA - 12230 Crossing Rivers (期望)
  12. eclipse 默认jdk 的设置 eclipse.ini -vm 参数
  13. 再说Java EE
  14. Linux PCI/PCI-E设备配置空间读取与修改
  15. react入门(一)
  16. 解决ASP.NET Core MVC调试慢的问题
  17. FileZilla-01
  18. childNodes遍历DOM节点树
  19. Python RabbitMQ消息队列
  20. 原创:vsphere概念深入系列二:vSphere交换机命令行查看排错

热门文章

  1. PAT甲级——A1038 Recover the Smallest Number
  2. java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails
  3. 修改CentOS6.5主机名引起MySQL5.6.35服务问题
  4. Codeforces 360A(找性质)
  5. Win7+AMD+VS2013+opencl1.x安装与测试
  6. Django项目:CRM(客户关系管理系统)--48--39PerfectCRM实现登录+验证码+过期时间+页面保留账号
  7. 移动端适配(rem单位定义方法)
  8. chrome屏蔽https广告
  9. float示例
  10. 20190902+0903合集-NOIP模拟