zoukankan      html  css  js  c++  java
  • servlet

    servlet调用过程:

         

    1.浏览器访问login.html

    2.用表单form提交数据到/login这个路径

    3.根据配置文件web.xml,找到/login对应的类LoginServlet

    <servlet>
        <servlet-name>LoginServlet<servlet-name>
        <servlet-class>LoginServlet<servlet-class>
    <servlet>
    
    <servlet-mapping>
        <servlet-name>LoginServlet<servlet-name>
        <url-pattern>/login<url-pattern>
    <servlet-mapping>
    
    //先通过servlet-mapping找到/login请求对应的servlet名字,再通过对应的servlet
    //找到对应的类
    

    4.实例化servlet对象

      Tomcat 定位到了LoginServlet后,发现并没有LoginServlet的实例存在,于是就调用LoginServlet的public无参的构造方法LoginServlet()实例化一个LoginServlet对象以备后续使用

    5.初始化  

      LoginServlet 继承了HttpServlet,同时也继承了init(ServletConfig) 方法,init 方法是一个实例方法,所以会在构造方法执行后执行。无论访问多少次LoginServlet ,初始化只会执行一次。单例模式,以免频繁的创建、销毁对象

    6.提供服务

      service(HttpServletRequest request, HttpServletResponse response)会通过浏览器传递过来的信息进行判断,是调用doGet()还是doPost()方法

    7.处理

      doGet()还是doPost()方法进行处理,通过response返回信息

    8.tomcat把html传递给浏览器

       在Servlet完成工作之后,tomcat拿到被Servlet修改过的response,根据这个response生成html 字符串,然后再通过HTTP协议,这个html字符串,回发给浏览器,浏览器再根据HTTP协议获取这个html字符串,并渲染在界面上。

  • 相关阅读:
    Nginx 配置请求响应时间
    数论筛法小结
    梅田湖种田划水摸鱼记
    好题
    奇技淫巧 (不定期更新)
    随机化算法小结(Miller Rabin,Pollard Rho, 模拟退火, 随机化贪心)
    题解 P6918 [ICPC2016 WF]Branch Assignment
    P2605 [ZJOI2010]基站选址解题思路
    题解 BZOJ 3156 防御准备
    Flutter大坑 Your Xcode project requires migration 报错大坑
  • 原文地址:https://www.cnblogs.com/youayou/p/11484940.html
Copyright © 2011-2022 走看看