Deployment Descriptor (web.xml) welcome-file-list :-


web.xml has an element named "welcome-file-list" that is used to define welcome page or default page for your project. It contains a sub element named "welcome-file", where you can define multiple welcome files for your project.

How it works? - If client make a request to server without specifying any file name, then server will invoked this "welcome-file-list" to send specified welcome file in response to client.
When a request comes in to server without any file request, server looks for the file to be send in response, in the following order -
1 - welcome-file-list in web.xml
2- index.html
3- index.htm
4- index.jsp
5- default.html
6- default.htm
7- default.jsp
If we our project have all the above files, then priority will be of welcome-file-list.
If welcome-file-list is not there then priority will be of index.html and so on.

Example -

In this example our default page will be test.html in place of index.html.
1 - index.html file within WEB-INF -
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>Welcome to index.html page</h1>
    </body>
</html>    

2- Create a "test.html" file within WEB-INF -
 <html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>Welcome to test.html page</h1>
    </body>
</html>  
3- In web.xml file enter the following code within web-app -
 <welcome-file-list>
        <welcome-file>test.html</welcome-file>
    </welcome-file-list>
   
4- Now run your project. And you will see that your default page will be now test.html in place of index.html.