黑马程序员技术交流社区

标题: Servlet使用注意事项 [打印本页]

作者: lu774374302    时间: 2015-9-2 20:51
标题: Servlet使用注意事项
本帖最后由 lu774374302 于 2015-9-2 21:06 编辑

(1)由于客户端是通过URL地址访问web服务器的资源,所以Servlet程序要想被外界访问,必须把Servlet程序映射到一个URL地址上,这项工作是在web.xml文件中配置<servlet>元素和<servlet-mapping>元素来完成。<servlet>元素用于注册Servlet,它包含两个主要的子元素:<servlet-name><servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名。
<servlet-mapping>元素用于映射已注册的Servlet对外访问的路径,它包含两个子元素:<servlet-name><url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
(2)Servlet映射到的URL中可以使用“*”通配符,但是只能有两种固定的格式:一种格式是*.扩展名,另一种是以“/”开头并以“/*”结尾。
(3)针对客户端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说,Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其他请求服务,直至web服务器停止运行,Servlet实例对象才会被销毁。
(4)Servlet的整个生命周期内,Servletinit方法只被调用一次,而对一个Servlet的每次访问请求都会导致Servlet引擎调用一次Servletservice方法;对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servletservice方法,service方法再根据请求方法分别调用doGetdoPost方法。
(5)如果在<servlet>元素中配置了<load-on-startup>子元素,那么web应用程序在启动时,就会装载并创建Servlet的实例对象并调用init方法。
(6)如果某个Servlet的映射路径仅仅是一个“/”,那么这个Servlet就成为了当前web应用程序缺省的Servlet;凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省的Servlet来出来,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求;当访问Tomcat服务器中的某个静态html文件和图片时,实际上是在访问缺省Servlet





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2