web站点的欢迎页面

JavaWeb系列教程
JavaWeb—Servlet
模拟Servlet本质
使用IDEA开发Servlet程序
Servlet对象的生命周期
适配器(GenericServlet)改造Servlet
ServletConfig
Servlet–ServletContext
HttpServlet源码分析
web站点欢迎页
一篇学会HttpServletRequest
如果大家觉得有帮助的话,不妨动动小手,点赞收藏一波,也方便后面的复习哈
在这里插入图片描述

欢迎页面

  • 什么是一个web站点的欢迎页面?

    • 对于一个webapp来说,我们是可以设置它的欢迎页面的。
    • 设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候会默认访问你的欢迎页面。
    • 我们一般的访问方式是:
      • http://localhost:8080/servlet06/login.html 这种方式是指定了要访问的就是login.html资源。
    • 如果我们访问的方式是:
      • http://localhost:8080/servlet06 如果我们访问的就是这个站点,没有指定具体的资源路径。它默认会访问谁呢?
      • 默认会访问你设置的欢迎页面。
  • 怎么设置欢迎页面呢?

    • 第一步:我在IDEA工具的web目录下新建了一个文件login.html

    • 第二步:在web.xml文件中进行了以下的配置

<welcome-file-list>
        <welcome-file>login.htmlwelcome-file>
    welcome-file-list>
      • 注意:设置欢迎页面的时候,这个路径不需要以“/”开始。并且这个路径默认是从webapp的根下开始查找。
    • 第三步:启动服务器,浏览器地址栏输入地址

      • http://localhost:8080/servlet07
  • 如果在webapp的根下新建一个目录,目录中再给一个文件,那么这个欢迎页该如何设置呢?

    • 在webapp根下新建page1

    • 在page1下新建page2目录

    • 在page2目录下新建page.html页面

    • 在web.xml文件中应该这样配置

<welcome-file-list>
    <welcome-file>page1/page2/page.htmlwelcome-file>
welcome-file-list>
    • 注意:越靠上的优先级越高。找不到的继续向下找。
  • 你有没有注意一件事:当我的文件名设置为index.html的时候,不需要在web.xml文件中进行配置欢迎页面。这是为什么?

    • 这是因为小猫咪Tomcat服务器已经提前配置好了。

    • 实际上配置欢迎页面有两个地方可以配置:

      • 一个是在webapp内部的web.xml文件中。(在这个地方配置的属于局部配置)

      • 一个是在CATALINA_HOME/conf/web.xml文件中进行配置。(在这个地方配置的属于全局配置)

        • <welcome-file-list>
              <welcome-file>index.htmlwelcome-file>
              <welcome-file>index.htmwelcome-file>
              <welcome-file>index.jspwelcome-file>
          welcome-file-list>
          
          • Tomcat服务器的全局欢迎页面是:index.html index.htm index.jsp。如果你一个web站点没有设置局部的欢迎页面,Tomcat服务器就会以index.html index.htm index.jsp作为一个web站点的欢迎页面。
      • 注意原则:局部优先原则。(就近原则)

  • 欢迎页可以是一个Servlet吗?

    • 当然可以。

    • 你不要多想,欢迎页就是一个资源,既然是一个资源,那么可以是静态资源,也可以是动态资源。

    • 静态资源:index.html welcome.html …

    • 动态资源:Servlet类。

    • 步骤:

      • 第一步:写一个Servlet
public class WelcomeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.print("

welcome to bjpowernode!

"
); } }

第二步:在web.xml文件中配置servlet

  <servlet>
        <servlet-name>welcomeServletservlet-name>
        <servlet-class>com.bjpowernode.javaweb.servlet.WelcomeServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>welcomeServletservlet-name>
        <url-pattern>/fdsa/fds/a/fds/af/ds/af/dsafdsafdsaurl-pattern>
    servlet-mapping>

第三步:在web.xml文件中配置欢迎页

  •     <welcome-file-list>
            <welcome-file>fdsa/fds/a/fds/af/ds/af/dsafdsafdsawelcome-file>
        welcome-file-list>
    

    web站点的欢迎页面_第1张图片

关于WEB-INF目录

  • 在WEB-INF目录下新建了一个文件:welcome.html
  • 打开浏览器访问:http://localhost:8080/servlet07/WEB-INF/welcome.html 出现了404错误。
  • 注意:放在WEB-INF目录下的资源是受保护的。在浏览器上不能够通过路径直接访问。所以像HTML、CSS、JS、image等静态资源一定要放到WEB-INF目录之外。

你可能感兴趣的:(JavaWeb,前端,tomcat,服务器)