在本小节中,我们来学习Servlet中的web.xml文件,了解一些常用的配置项。
1. welcome-file-list元素
Web应用程序的welcome-file-list
元素用于定义欢迎文件列表。它的子元素是welcome-file
,用于定义欢迎文件。
如果未指定任何文件名,则欢迎文件是服务器自动调用的文件。默认情况下,服务器按以下顺序查找欢迎文件:
index.html
index.html
index.jsp
如果找不到这些文件,则服务器呈现404错误。
如果在web.xml中指定了欢迎文件,并且所有文件:index.html
,index.html
和index.jsp
都存在,则优先级是放在welcome-file
中的文件。
如果web.xml文件中不存在welcome-file-list
元素,则优先级依次为index.html
,index.html
和index.jsp
文件。
让我们看看一个已定义欢迎文件的web.xml文件。
<web-app> .... <welcome-file-list> <welcome-file>home.html</welcome-file> <welcome-file>default.html</welcome-file> </welcome-file-list> </web-app>
在上面web.xml文件中,home.html
和default.html
成为欢迎文件。如果有上面的欢迎文件,则可以按如下所示目录调用项目:
如上面所见,在项目之后没有指定任何文件名。但是仍然显示home.html
或default.html
的内容。
2. 在web.xml中启动时加载
如果值为正数,则web-app
启动时加载元素会在部署或服务器启动时加载servlet。也称为servlet的预初始化。
可以为Servlet传递正值和负值。
启动时加载元素的优势
众所周知,servlet是在第一次请求时加载的。因此在第一次请求时会消耗更多时间。 如果在web.xml
中指定启动时加载,则servlet将在项目部署时或服务器启动时加载。这样响应第一个请求将花费更少的时间。
传递正值
如果传递正值,则将在较大整数值的servlet之前加载较小整数值的servlet。 换句话说,容器以递增的整数值加载servlet。先加载0
值,然后再加载1
、2
、3
,依此类推。
让我们通过以下示例理解它,web.xml配置内容如下:
<web-app> .... <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>com.xntutor.FirstServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet> <servlet-name>servlet2</servlet-name> <servlet-class>com.xntutor.SecondServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> ... </web-app>
定义了2个servlet,这两个servlet将在项目部署或服务器启动时加载。 但是,将首先加载servlet1
,然后再加载servlet2
。
传递负值
如果传递负值,则将在请求时(第一个请求)加载servlet。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/264054.html