• J2EE请求和响应—Servlet


        一、什么是Servlet?

        Servlet是执行Webserver上的一个特殊Java类。其特殊用途是响应client请求并做出处理。使得client与server端进行交互。


        二、生命周期    

        Servlet生命周期是通过Web容器控制。主要分为下面几个阶段:



      1. 创建servlet的实例
      2. 初始化阶段,调用init()方法
      3. 响应请求。调用service()方法
      4. 销毁实例,调用destroy()方法
      5. 实例垃圾回收,调用finalize()方法

        三、Servlet中几个重要的方法:

       在Servlet生命周期中。servlet的初始化(init())和销毁阶段(destroy())仅仅运行一次。Servic()方法是servlet的核心,主要是用来接收client请求并返回结果给client,每次client请求过来都被调用Service()方法,而且传递个这种方法一个“请求(servletRequest)对象和一个响应(servletResponse)对象做为參数”。


        doGet()方法

        当接收到Get请求时,Servlet的doGet()方法被调用。与GET 请求相关的參数加入到URL的后面,并与这个请求一起发送。

    当不会改动server端的数据时,应该使用doGet()方法。


        doPost()方法

        当接收到Post请求时,Servlet的doPost()方法被调用。与POST请求相关的參数作为一个单独的HTTP 请求从浏览器发送到server。当须要改动server端的数据时。应该使用doPost()方法。


        四、Servlet中的类:

        ServletRequestServletReponse在client请求过来的时候,调用Servlet时传递过来的。

    其实,我们在创建Servlet类时通常使用的是HttpServletRequest和HttpServletReponse。他们分别代表从client而来的Http请求和处理请求的响应结果

     

        ServletConfig:从图上能够看出,当初始化一个Servlet对象时,就会为这个对象创建一个ServletConfig对象,在ServletConfig对象中包括了Servlet初始化參数信息。此外,Servlet容器在调用servlet对象的init(servletconfig)方法时,会把servletConfig对象当做參数进行传递给Servlet。

        ServletConfig接口提供方法,该方法返回:servlet名、Servlet上下文。初始化參数

      

        ServletContextServlet和Servlet容器之间进行通信的接口,其原理看下图:



        ServletContext存在于Web应用其中,当启动一个Web应用时,会自己主动创建一个ServletContext对象。

    每个Web应用相应一个ServletContext对象。在Web应用其中能够存放Servlet或JSP。ServletContext提供全局訪问。即全部的对象能够共享一个ServletContext。Servlet对象能够通过getServletContext()方法訪问和操作容器中的各种资源。
     

        ServletConfig 与 ServletContext的差别

        1.作用范围:ServletContext作用于整个Web应用(相当于全局变量)ServletConfig作用于某个特定的Servlet对象。其它的Servlet不能訪问。(相当于局部变量)


        2.參数的訪问:ServletContext包括在ServletConfig中,在訪问ServletContext时先调用ServletConfig中的getServletConfig()方法,得到里面的getServletContext()方法。然后再调用getInitParameter()方法就能够获取它的參数。

         訪问ServletConfig參数,仅仅须要调用getServletConfig()方法。然后调用getInitParameter()方法就可以。

     

       

       总结Servlet技术是JSP技术的基础。都是一种server端技术,是一种client与server反映的端部之间的相互作用。Servlet其核心是Service()方法。Service()调度请求的方法doGest(),doPost()处理。


  • 相关阅读:
    牛客 小a与星际探索 bfs
    gear gym 思维题
    dp Surf
    P1280 尼克的任务
    Codeforces Round #539 (Div. 2) C. Sasha and a Bit of Relax
    Codeforces Round #542 C. Connect 搜索
    Layui 文件上传 附带data数据
    Layui 隐藏左侧菜单
    Layui 关闭当前标签页
    Layui Iframe页面间 方法的相互调用
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5041728.html
Copyright © 2020-2023  润新知