论坛首页 Java企业应用论坛

学习Servlet小结-kaidi

浏览 17649 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (10) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-15   最后修改:2009-02-08
Java Web学习了快半个月了,毕业设计也开始进行了,回头看看自己学习的情况让人很不爽快,所以从昨天起就速度做起了复习和总结的工作,做了一晚上发现工作量巨大啊,不过为了把毕业设计做好,并且掌握好Jsp技术,我忍了....好了,言归正传今天我就来把Servlet这块捋一捋。
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()方法
            不可用:销毁实例并标记为垃圾处理

   发表时间:2007-05-15  
  学习半个月掌握就可以掌握一些,很不错呀
  servlet是服务端的组件,servlet运行在servlet容器中,比如tomcat,在收到客户端请求的时候,容器把请求信息封装为Request对象,并创建Response对象,传给serlet的service()方法,真正要实现的功能可以在service()调用java代码。
  说到这些,就不能不提一下几个内建对象的作用范围。
  Request和Response对象:时间上再一次请求中,在这次请求中把Request中的信息传给别的资源,空间上只能是发送请求的客户端有效
   HttpSession:一次连接直到客户端关闭,时间上比上面的对象长一些,空间上一致
   ServletCofig:是在一个servlet实例化,对任何客户端任何时间都有效,但是只对本servlet有效。
   ServletContext:对任何客户端任何时间任何sevlet有效,是真正的全局变量。
    ServletCofig和ServletContext是我们的程序更加灵活,避免了硬编码,就是配置文件啦
    可以通过getInitParameter()方法访问
    呵呵,就补充这些吧
0 请登录后投票
   发表时间:2007-05-16  
谢谢LS的补充哦,你说的内建对象今天老师才给我们讲,不过在这先谢谢你。
0 请登录后投票
   发表时间:2007-06-15  
多做实例才会印象深刻
很多东西,似乎懂了,记住了,真正去做,又傻 了
0 请登录后投票
   发表时间:2007-06-15  
给LZ推荐篇文章,应该对你有用
http://www.jdon.com/artichect/state.htm
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics