就我对JVM的了解而言,它搜索main()方法以开始执行程序。现在类似Servlet也是java文件(我相信),它们不包含main方法。 Tomcat如何访问它们,Tomcat是否有一些内置功能的主要方法。容器(即Tomcat)通过哪种方法进入servlet?他们是通过web.xml还是其他方式完成的。
答案 0 :(得分:2)
Tomcat使用web.xml来了解要实例化的servlet(类)。
然后Tomcat调用Servlet接口的init
方法方法(http://docs.oracle.com/javaee/6/api/javax/servlet/Servlet.html)。
当servlet实例准备就绪时,对于每个请求,都会调用service
。 service
方法在HTTPServlet
(http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServlet.html)中实现,然后调用DoPost,DoGet,DoHead,...方法。
当不再需要servlet实例时,将调用destroy
方法。
有关servlet生命周期的完整描述,请参阅http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html作为一般说明,特别是http://docs.oracle.com/javaee/6/tutorial/doc/bnafi.html。