zoukankan      html  css  js  c++  java
  • Servlet详解

    servlet:

    1. servlet的运行流程

    ①    客户端(浏览器)在地址栏输入一个URL发起HTTP请求

    ②    服务器根据URL指定要执行的Servlet

    ③    servlet运行service方法,并给服务器作出相应

    ④    服务器接收到了servlet的响应数据,将数据返回给请求者

    ⑤    客户端接受响应数据,作出展示

    图示:

    1. servlet的生命周期

    ①    初始化(载入并实例化,执行init方法,仅一次)

                                     i.            在第一次访问该servlet时,初始化

                                   ii.            在服务器加载过程中,初始化

    ②    运行(每当有请求时,创建一个线程执行子类servlet的service方法à父类的service方法àdoGet方法或doPost方法)

                                     i.            不要在servlet中设计成员变量

                                   ii.            父类的doGet方法或doPost方法会报错:在子类中重写doGet或doPost方法即可

    ③    销毁(当服务器关闭的时候,调用servlet的destroy方法,仅一次)

    servlet的请求消息(HttpServletRequest)和响应消息(HttpServletResponse)

    1. servlet之间的跳转:请求转发、重定向

    请求转发

    重定向

    浏览器地址栏

    地址不会发生变化

    地址栏发生变化

    浏览器发了几次请求

    总共1次

    至少2次

    是否可以请求外部资源

    不可以

    可以

    后面追加其他代码

    可以,但没必要

    请求转发图示:

    重定向图示:

  • 相关阅读:
    Tornado @tornado.gen.coroutine 与 yield
    ThreadPoolExecutor执行任务,异常日志缺失问题
    Mybatis关联查询<association> 和 <collection>
    Spring整合mybatis
    Jedis操作Redis--Key操作
    Jedis操作Redis--SortedSet类型
    Jedis操作Redis--Set类型
    同义词 “stop from”,“keep from”和“prevent from”的区别
    test
    Python win32gui调用窗口到最前面
  • 原文地址:https://www.cnblogs.com/zang1998/p/10981724.html
Copyright © 2011-2022 走看看