[javaEE] Servlet的调用过程和生命周期
在http协议的请求头中获取到要访问的资源,查找web.xml文件找到对应的servelet Sevlet的生命周期 ? Servlet在第一次被访问的时候,服务器创建出Servlet对象,创建出对象以后会直接调用init方法做初始化操作,创建出的对象会一直驻留在内存中为对这个Servlet的访问服务,每次对这个Servlet的访问都会导致service方法执行,当web应用被移除出容器时或者服务器被关闭时,随着web应用的销毁Servlet会被销毁,在销毁之前,服务器会调用Servlet的destroy方法做一些善后的工作 ? 每次调用service()方法的时候,会传递进来两个参数:Request对象,Response对象 Request对象里面包含 http请求头和实体内容 Response对象是空的 调用Response对象的getWriter().write()方法,往Response对象中写入内容 服务器把Response对象中的内容组织成Http协议返回给浏览器 ? ? Servlet的继承结构 ? Servlet——接口定义了Servlet应该具有的基本方法 |——GenericServlet 通用基本Servlet实现,把service方法设计为抽象方法,需要子类去实现 |——HttpServlet实现了父类中的service方法,判断当前的请求方式,调用对应的doXXX方法,需要子类去继承并覆盖对应的doGet()或者doPost()方法 ? Servlet的细节 ? 一个<servlet>可以对应多个<servlet-mapping> <url-partten>中可以使用*匹配符,由于*的引入,有可能一个路径被多个url-partten匹配,优先级:哪个最像找哪个,*.后缀 的优先级最低 在<servlet>下面可以配置<load-on-start-up>可以用来指定启动顺序 ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |