`
gekaidi
  • 浏览: 25604 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习Servlet小结-kaidi

阅读更多
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()方法
            不可用:销毁实例并标记为垃圾处理

分享到:
评论
5 楼 zq5143 2007-06-26  
servlets中的过滤器是干嘛用的~~?
4 楼 whistler 2007-06-15  
给LZ推荐篇文章,应该对你有用
http://www.jdon.com/artichect/state.htm
3 楼 Neoman 2007-06-15  
多做实例才会印象深刻
很多东西,似乎懂了,记住了,真正去做,又傻 了
2 楼 gekaidi 2007-05-16  
谢谢LS的补充哦,你说的内建对象今天老师才给我们讲,不过在这先谢谢你。
1 楼 pippo25 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()方法访问
    呵呵,就补充这些吧

相关推荐

    comet:[ICLR 2021]少量学习的概念学习者

    凯迪(Kaidi Cao)*,玛丽亚(MariaBrbić)*,尤里(Jure Leskovec) 此存储库包含COMET算法的PyTorch中的参考源代码。 COMET是一种元学习方法,可沿人类可理解的概念维度学习可概括的表示形式。 有关更多详细信息...

    SQL注入攻击实操

    例如,在 http://www.sz-kaidi.com/product_show.asp?id=997 中,攻击者可以 inject 恶意 SQL 代码 and 1=1 和 and 1=2 来判断是否存在 SQL 注入漏洞。如果存在漏洞,攻击者可以继续进行下一步操作。 ### 步骤 2:...

    凯迪拉克HTML5轻应用

    在文件"kaidi0415"中,可能包含了该轻应用的源代码、样式文件、图片资源、配置文件等,开发者可以通过分析这些文件来学习和理解如何构建一个完整的HTML5轻应用。为了进一步了解凯迪拉克HTML5轻应用的实现细节,需要...

    GCN_ADV_Train:图神经网络的对抗训练

    基于优化的GNN攻防在这项...(*平等贡献) @inproceedings{xu2019topology, title={Topology Attack and Defense for Graph Neural Networks: An Optimization Perspective}, author={Xu, Kaidi and Chen, Hongge and

    全球及中国混凝土外加剂行业市场份额调研报告.docx

    此外,报告中还提到了一些其他重要的市场参与者,如Liaoning Kelong、Takemoto、Huangteng Chemical、Kao Chemicals、Arkema、Shanxi Kaidi等,它们在不同地区和细分市场中发挥着重要作用。这些企业的存在和表现,...

    电动升降柱,全球市场总体规模.docx

    报告中提到的主要生产商包括Linak、Phoenix Mecano、Jiecang、Loctek Motion、Timotion、Thomson Industries、Suspa、Kaidi、Progressive Automations、RICHMAT等。2021年,这五家公司在全球市场的份额总计约50.0%,...

    输灰仓泵检修文件包.doc

    【输灰仓泵检修文件包】是针对XX凯迪绿色能源开发运营XXWuhan KaiDi Green Energy Development And Operation Co., LTD旗下的12MW机组锅炉检修的重要文档,旨在规范和指导输灰仓泵的维护和检修工作,确保设备的正常...

    node_tasted:Node.js 浅尝辄止——分享至我仍未知道名字的十楼公司

    By Kaidi, ZHU, R&D Engineer of and . 正确打开姿势 预备工作:请确保已安装 Node.js 在你的电脑。 安装 依赖。执行 $ npm install。 启动它,执行 $ npm start 。 在弹出的浏览器窗口中点击 tasted.md 即可。 若非...

Global site tag (gtag.js) - Google Analytics