- web站点的欢迎页面:当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候会默认访问你的欢迎页面。
- 对于一个webapp来说,我们是可以设置它的欢迎页面的。
"下面方式是指定了要访问的就是login.html资源。"
http://localhost:8080/servlet06/login.html
"访问的方式是访问站点,没有指定资源路径,默认会访问你设置的欢迎页面。"
http://localhost:8080/servlet06
- 欢迎页面可以是XXX.html静态网页,也可以是Servlet程序。因为欢迎页就是一个资源,既然是一个资源,那么可以是静态资源,也可以是动态资源。
- 一个webapp是可以设置多个欢迎页面的
注意:越靠上的优先级越高。找不到的继续向下找。
<welcome-file-list>
<welcome-file>page1/page2/page.html</welcome-file>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
静态网页欢迎页面
- 设置静态网页
- 在IDEA工具的web目录下新建了一个文件login.html
- 在web.xml文件中进行了以下的配置
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
注意:设置欢迎页面的时候,这个路径不需要以“/”开始。并且这个路径默认是从webapp的根下开始查找。
- 启动服务器,浏览器地址栏输入地址http://localhost:8080/“根”
- 考虑到程序默认是从根开始寻找的,如果在webapp的根下新建一个目录,目录中再给一个文件,那么这个欢迎页该如何设置
-
在webapp根下新建page1
-
在page1下新建page2目录
-
在page2目录下新建page.html页面
-
在web.xml文件中应该这样配置
-
<welcome-file-list>
<welcome-file>page1/page2/page.html</welcome-file>
</welcome-file-list>
注意:路径不需要以“/”开始,并且路径默认从webapp的根下开始找。
- 关于index.html
- 文件名设置为index.html的时候,不需要在web.xml文件中进行配置欢迎页面。且网页访问站点时,自动访问index.html。
- 因为Tomcat服务器已经提前配置好了。
- 实际上配置欢迎页面有两个地方可以配置:
- 一个是在webapp内部的web.xml文件中。(在这个地方配置的属于局部配置)
- 一个是在CATALINA_HOME/conf/web.xml文件中进行配置。(在这个地方配置的属于全局配置)
- Tomcat服务器的全局欢迎页面是:index.html index.htm index.jsp。如果你一个web站点没有设置局部的欢迎页面,Tomcat服务器就会以index.html index.htm index.jsp作为一个web站点的欢迎页面。
- 注意原则:
局部优先原则。(就近原则)
Servlet欢迎页面
第一步:写一个Servlet
public class WelcomeServlet extends HttpServlet {
@Override
//重写doGet方法
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<h1>welcome to bjpowernode!</h1>");
}
}
第二步:在web.xml文件中配置servlet
<servlet>
<servlet-name>welcomeServlet</servlet-name>
<servlet-class>com.bjpowernode.javaweb.servlet.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>welcomeServlet</servlet-name>
<url-pattern>/dadada</url-pattern>
</servlet-mapping>
第三步:在web.xml文件中配置欢迎页
<welcome-file-list>
<welcome-file>dadada</welcome-file>
</welcome-file-list>
- 浏览器访问
WEB-INF目录
- 上文谈到欢迎页面默认是从根开始查找的,那如果把欢迎页面建在WEB_INF里面呢?
- 在WEB-INF目录下新建了一个文件:welcome.html
- 打开浏览器访问:http://localhost:8080/servlet07/WEB-INF/welcome.html 出现了404错误。
注意:放在WEB-INF目录下的资源是受保护的。在浏览器上不能够通过路径直接访问。所以像HTML、CSS、JS、image等静态资源一定要放到WEB-INF目录之外。