📅  最后修改于: 2021-01-09 12:31:53             🧑  作者: Mango
重要的是要了解servlet的工作原理,以更好地理解servlet。在这里,我们将获得有关第一个servlet程序的内部细节。
服务器检查第一次是否请求servlet。
如果是,则Web容器执行以下任务:
其他
Web容器在需要删除Servlet时(例如在停止服务器或取消部署项目时)将调用destroy方法。
Web容器负责处理请求。让我们看看它如何处理请求。
公共服务方法将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);
}
受保护的服务方法检查请求的类型,如果请求类型为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
}
}