1 Servlet基本执行过程
Web容器(如Tomcat)判断当前请求是否第一次请求Servlet程序 。
如果是第一次,则Web容器执行以下任务:
如果不第一次执行,则:
Web容器在需要删除Servlet时(例如,在停止服务器或重新部署项目时)将调用destroy方法。
2 Web容器如何处理Servlet请求
Web容器负责处理请求。让我们看看它如何处理请求。
3 public的service方法部分源码
public的service方法将ServletRequest对象转换为HttpServletRequest类型,而ServletResponse对象转换为HttpServletResponse类型。然后,调用传递这些对象的服务方法。让我们看一下内部代码:
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { HttpServletRequest request; HttpServletResponse response; try { request = (HttpServletRequest)req; respOnse= (HttpServletResponse)res; } catch(ClassCastException e) { throw new ServletException("non-HTTP request or response"); } service(request, response); }
4 protected的service方法部分源码
protected的service方法判断请求的类型,如果请求类型为GET,则调用doGet方法,如果请求类型为POST,则调用doPost方法,依此类推。让我们看一下内部代码:
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getMethod(); if(method.equals("GET")) { long lastModified = getLastModified(req); if(lastModified == -1L) { doGet(req, resp); } .... //rest of the code } }
以上就是Java Servlet 运行原理分析的详细内容,更多关于Java Servlet 运行原理的资料请关注其它相关文章!