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

原文地址:https://www.cnblogs.com/youayou/p/11484940.html