文章结论为博主原创,经过一定的测试,才写下这篇博客,其中只涉及了部分对象的创建,目的是复习并借此机会与网友分享,如果有错,请在下方评论处提醒博主,好让博主及时更改。
①Servlet:若设置了loadOnStartup=0 或者为大于0的数,则在服务器启动是会创建该Servlet对象,并调用init方法,否则只有当有访问该Servlet时才会创建。(注:只创建一次)创建时间可通过在init方法中添加语句证明。
②ServletConfig:在初始化Servlet之前,会创建唯一一个与之对应的ServletConfig对象,作为Servlet的init方法中的参数,相当于JSP中的config内置对象。
③ServletContext:在服务器启动时,会为每个web应用创建唯一的一个ServletContext对象,这个ServletContext是Web应用中各Servlet共享的,可以通过ServletConfig对象调用getServletContext()方法获得,在JSP中相当于application对象,创建时间可通过ServletContextListener证明。
④ServletContextConfig:服务器启动时,会创建一个ServletContextConfig对象,只能通过web.xml编写
⑤ServletRequest:服务器接收到用户请求后会创建一个ServletRequest对象,相当于JSP中的request内置对象,创建时间可同通过ServletRequestListener证明
⑥SerlvetResponse:服务器接收到用户请求后会创建一个ServletResponse对象,相当于JSP中的response内置对象
⑦HttpSession:当执行request.getSession()方法时,HttpSession对象被创建,(在JSP中通过pageContext.getSession()方法创建),相当于JSP中的session内置对象。创建时间可以通过HttpSessionListener证明
⑧Filter:在服务器启动时会创建,并调用init方法,可在init方法添加语句证明其创建时间
⑨FilterConfig:在服务器启动时会创建,也会创建一个与Filter唯一对应的FilterConfig对象,并作为Filter的init中的参数。