`

Servlet总结

阅读更多
Servlet工作原理
Servlet是服务端的组件,servlet运行在servlet容器中,比如tomcat,
在收到客户端请求的时候,容器把请求信息封装为Request对象,并创建Response对象,
传给serlet的service()方法,真正要实现的功能可以在service()调用java代码。

说到这些,就不能不提一下几个内建对象的作用范围。

Request和Response对象:时间上再一次请求中,在这次请求中把Request中的信息传给别的资源,空间上只能是发送请求的客户端有效

HttpSession:一次连接直到客户端关闭,时间上比上面的对象长一些,空间上一致

ServletCofig:是在一个servlet实例化,对任何客户端任何时间都有效,但是只对本servlet有效。

ServletContext:对任何客户端任何时间任何sevlet有效,是真正的全局变量。

ServletCofig和ServletContext是我们的程序更加灵活,避免了硬编码,就是配置文件啦

可以通过getInitParameter()方法访问,获得配制文件信息,如getInitParameter("paramvalue")

request.getHeaderNames();//获取头信息

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()方法
            不可用:销毁实例并标记为垃圾处理
http://www.jdon.com/artichect/state.htm
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics