深入浅析Servlet在Java中的运行原理

  介绍

深入浅析Servlet在Java中的运行原理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强> 1 Servlet基本执行过程

Web容器(如Tomcat)判断当前请求是否第一次请求Servlet程序。

如果是第一次,则Web容器执行以下任务:

    <李>加载Servlet类。 <李>实例化Servlet类。 <李>调用初始化方法并传入ServletConfig对象李

如果不第一次执行,则:

    <李>调用服务方法,并传入请求和响应对象李

Web容器在需要删除Servlet时(例如,在停止服务器或重新部署项目时)将调用摧毁方法。

<强> 2 Web容器如何处理Servlet请求

Web容器负责处理请求。让我们看看它如何处理请求。

    <李>将用户请求与Web . xml文件中的Servlet进行映射。李 <>李创建请求和响应对象李 <>李创建新的线程,并在该线程上调用Servlet的服务方法李 <>李在公共的服务方法内部调用保护的服务方法 <李>保护的服务方法根据请求的类型调用doGet方法。 <李> doGet方法生成响应并将其传递给客户端。 <李>发送响应后,Web容器将删除请求和响应对象。该线程是继续留在线程池中还是被删除取决于服务器实现。
      李,

<强> 3公共的服务方法部分源码

公共的服务方法将ServletRequest对象转换为HttpServletRequest类型,而ServletResponse对象转换为HttpServletResponse类型。然后,调用传递这些对象的服务方法。让我们看一下内部代码:

公共空间服务(ServletRequest点播,ServletResponse res)
  抛出ServletException, IOException
  {
  HttpServletRequest请求;
  HttpServletResponse反应;
  试一试
  {
  请求=(HttpServletRequest)要求;
  响应=(HttpServletResponse)物;
  }
  抓住(ClassCastException e)
  {
  把新ServletException(“非http请求或response");
  }
  服务(请求、响应);
  }

<强> 4保护的服务方法部分源码

保护的服务方法判断请求的类型,如果请求类型为,则调用doGet方法,如果请求类型为,则调用doPost方法,依此类推。让我们看一下内部代码:

保护无效服务(HttpServletRequest点播,HttpServletResponse职责)
  抛出ServletException, IOException
  {
  字符串方法=req.getMethod ();
  如果(method.equals (“GET"))
  {
  长lastModified=getLastModified(要求的);
  如果(lastModified==1升)
  {
  doGet(要求、职责);
  }
  …//其他代码
  }
  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

深入浅析Servlet在Java中的运行原理