Servlet开发的一些细节问题

一、由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成。

<servlet>元素用于注册Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名(java)。

一个<servlet-mapping>元素用于映射一个已注册的Servlet的对外访问路径,它包含两个元素;<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径。

二、

1、同一个Servlet可以被映射到多个URL上,具体反映在<Servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。

在Servlet映射到URL中也可以使用*通配符,但是只能有两个固定的格式:(1)“*.扩展名”(2)/正斜杠开头,并以“/*”结尾。


三、通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet一旦创建,它就会驻留在内存中,为后续的其他请求服务,直到web容器退出,servlet实例对象才会销毁。

在servlet的整个生命周期,init方法只被调用一次,每次调用都导致Serfvlet引擎调用servlet的service方法;每次访问创建一个reques或者response响应对象,将这两个对象作为一个参数传递给service方法,sevice方法调用相应的Doxxx方法。

四、

如果在<servlet>元素中配置了一个<load-on-startup>元素,web应用程序会在启动时,装载并创建Servlet的实例对象。

五、

1、servlet映射路径为一个斜杠,这个servlet就成为当前web应用程序的缺省servlet。

2、如果在web.xml中找不到匹配的元素url,他们的访问都交给缺省Servlet处理。

3、tomcat的sevlet.xml配置了缺省Servlet




猜你喜欢

转载自blog.csdn.net/qq_36636519/article/details/53401916
今日推荐