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字符串,并渲染在界面上。

  • 相关阅读:
    [转载]从零开始学习OpenGL ES之一 – 基本概念
    ios中陀螺仪CoreMotion的使用
    如何在IOS中使用3D UI – CALayer的透视投影
    cocos3d加载3Dmax模型到ios中
    cocos2d 坐标系统参考
    PAT 1029 Median
    PAT 1028 List Sorting
    Linux中的进程调度(二)
    LaTeX学习(一)
    搬家
  • 原文地址:https://www.cnblogs.com/youayou/p/11484940.html
Copyright © 2011-2022 走看看