【JavaWeb】Servlet系列 --- 关于一个web站点的欢迎页面

news2024/11/24 19:53:45

web站点的欢迎页面

  • 1. 什么是一个web站点的欢迎页面?
  • 2. 怎么访问欢迎页面?
    • 静态资源
      • 进行变换
    • 动态资源
  • 3. (易错)关于WEB-INF目录

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

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

2. 怎么访问欢迎页面?

静态资源

  1. 第一步:我在IDEA工具的web目录下新建了一个文件login.html
  2. 第二步:在web.xml文件中进行了以下的配置
<welcome-file-list>
  <welcome-file>login.html</welcome-file>
</welcome-file-list>

注意:设置欢迎页面的时候,这个路径不需要以“/”开始。并且这个路径默认是从webapp的根下开始查找。
在这里插入图片描述

  1. 第三步:启动服务器,浏览器地址栏输入地址:http://127.0.0.1:8088/servlet07

在这里插入图片描述

进行变换

  1. 如果在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的根下开始找。

  1. 一个webapp是可以设置多个欢迎页面的
<welcome-file-list>
    <welcome-file>page1/page2/page.html</welcome-file>
    <welcome-file>login.html</welcome-file>
</welcome-file-list>

注意:越靠上的优先级越高。找不到的继续向下找。

  1. 你有没有注意一件事:当我的文件名设置为index.html的时候,不需要在web.xml文件中进行配置欢迎页面。这是为什么?
    ○ 这是因为小猫咪Tomcat服务器已经提前配置好了。
    ○ 实际上配置欢迎页面有两个地方可以配置:
    ■ 一个是在webapp内部的web.xml文件中。(在这个地方配置的属于局部配置)
    ■ 一个是在CATALINA_HOME/conf/web.xml文件中进行配置。(在这个地方配置的属于全局配置)

CATALINA_HOME/conf/web.xml:

<welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

Tomcat服务器的全局欢迎页面是:index.html index.htm index.jsp。如果你一个web站点没有设置局部的欢迎页面,Tomcat服务器就会以index.html index.htm index.jsp作为一个web站点的欢迎页面。

注意原则:局部优先原则。(就近原则)

动态资源

  1. 欢迎页可以是一个Servlet吗?
    ○ 当然可以。
    ○ 你不要多想,欢迎页就是一个资源,既然是一个资源,那么可以是静态资源,也可以是动态资源。
    ○ 静态资源:index.html、welcome.html …【上面介绍的】
    ○ 动态资源:Servlet类。【下面介绍】
  2. 步骤:
  • 第一步:写一个Servlet
/**
* @Author: 爱摸鱼的TT~
* @Description:
* @Date Created in 2022-11-20 22:12
* @Modified By:
*/
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("<h1>welcome to aimoyudett!</h1>");
    }
}
  • 第二步:在web.xml文件中配置servlet
<servlet>
  <servlet-name>welcomeServlet</servlet-name>
  <servlet-class>com.aimoyudett.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>welcomeServlet</servlet-name>
  <url-pattern>/welcome</url-pattern>
</servlet-mapping>
  • 第三步:在web.xml文件中配置欢迎页
<welcome-file-list>
  <welcome-file>welcome</welcome-file>
</welcome-file-list>

在这里插入图片描述
运行结果:
在这里插入图片描述

3. (易错)关于WEB-INF目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/50910.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java的I/O框架

目录 一、流的概念 二、流的分类 1.按方向 2.按单位&#xff1a; 3.按功能&#xff1a; 三、字节流 1、文件字节流 &#xff08;1&#xff09; FileInputStream&#xff1a; &#xff08;2&#xff09;FileOutputStream&#xff1a; &#xff08;3&#xff09;完成复…

c++基础(自用)

C基础入门 1 C初识 1.1 第一个C程序 编写一个C程序总共分为4个步骤 创建项目创建文件编写代码运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写C程序的主要工具&#xff0c;我们先将它打开 1.1.2 创建文件 右键源文件&#xff0c;选择添加->新建项 给C文件起…

Windows8系统下DOSBox编译、链接、执行汇编语言步骤

下载安装好DOSBox后&#xff0c;同时下载debug、link、masm程序。 &#xff08;1&#xff09;建立工作目录&#xff0c;编写汇编语言源文件&#xff0c;并将debug、link、masm程序放在同一目录下。&#xff08;下图中ass.asm是汇编语言源文件&#xff09; &#xff08;2&#x…

2022年第四届大数据与计算国际研讨会(WBDC 2022)

2022年第四届大数据与计算国际研讨会&#xff08;WBDC 2022&#xff09; 重要信息 会议网址&#xff1a;www.iwbdc.org 会议时间&#xff1a;2022年12月16-18日 召开地点&#xff1a;中国北京 截稿时间&#xff1a;2022年10月31日 录用通知&#xff1a;投稿后2周内 收录检…

MPI 快速入门

浅学 MPI。 MPI 分布式内存多处理器&#xff1a; 处理器 辅助组件 > 节点一堆节点 > 高性能计算系统 节点 > 进程 节点之间&#xff1a;消息传递 MPI&#xff1a;消息传递接口 安装 还是用 Docker 方便。 宿主机&#xff1a; sudo docker run -idt --name op…

移动WEB开发之流式布局--移动WEB开发之flex布局--携程网首页案例制作

案例&#xff1a;携程网移动端首页 访问地址&#xff1a;携程旅行-酒店预订,机票预订查询,旅游度假,商旅管理-携程无线官网 (ctrip.com) 1. 技术选型 方案&#xff1a;我们采取单独制作移动页面方案 技术&#xff1a;布局采取flex布局 2. 搭建相关文件夹结构 3. 设置视口标…

三、【react-redux】数据共享

文章目录1、优化项目结构2、添加一个新容器组件2.1、新项目结构2.2、CODE2.2.1、reduc/constant.js2.2.2、redux/actions/person.js2.2.3、redux/reducers/person.js2.2.4、redux/store.js2.2.5、Count.jsx2.2.6、Person.jsx2.3、Result3、总结本示例修改自 上一章 求和Demo 1、…

SVN版本控制软件

尚硅谷SVN版本控制软件教程&#xff08;一套掌握svn操作&#xff09; 学习网址&#xff1a;https://www.bilibili.com/video/BV1mW411M7yR/?spm_id_from333.999.0.0&vd_source461545ff50a35eaeaa8218ecdc5f7152 学习时长&#xff1a;1小时46分钟 未学习 5.启动服务器 6.…

维视智造明星产品推荐(一) 环外侧工业镜头

维视智造明星产品推荐&#xff08;一&#xff09;环外侧工业镜头 市场洞察 产品外观质量检测及标签检测&#xff0c;是工业制造中常见的两个质检场景。根据产品特点及产线环境&#xff0c;往往可以做多种检测方案的选择。在圆柱状产品如药瓶、瓶盖、齿轮、螺母等的生产检测中&a…

11.30排序

目录 一.排序 1.概念 1.1排序 1.2稳定性 2.七大基于比较的排序 二.插入排序 3.1 直接插入排序-原理 2.折半插入排序 3.分析 二.每日一题订正 1.选择题 2.不要二 三.希尔排序 1 原理 2.代码实现 3.分析 四.选择排序 1.原理 2.代码 3.优化版 4.分析 五.测量…

使用Cpolar内网穿透开启群晖WebDAV

文章目录1.前言2.群晖组件安装2.1.软件安装&#xff08;1&#xff09;WebDav server套件下载安装&#xff08;2&#xff09;cpolar套件下载安装&#xff08;3&#xff09;RaiDrive的下载安装2.2.群晖NAS端软件的设置2.3.Cpolar云端设置2.4.Cpolar本地设置3.访问端软件设置4.公网…

Pytorch的入门操作(三)

2.7 使用Pytorch实现手写数字识别 2.7.1 目标 知道如何使用Pytorch完成神经网络的构建知道Pytorch中激活函数的使用方法知道Pytorch中torchvision.transforms 中常见图形处理函数的使用知道如何训练模型和如何评估模型 2.7.2 思路和流程分析 流程: 准备数据&#xff0c;这…

推荐系统-召回-概述(五):一切为了业务

在前面几篇文章里&#xff0c;我们介绍了主流的召回模型和算法。但算法更多地是从个性化推荐的角度来解决问题。许多业务上的问题&#xff0c;如安全问题、商业价值、用户体验、流量扶持等种种业务需求&#xff0c;仅仅基于模型&#xff0c;是无法得到完美解决的&#xff0c;它…

成长的旅途,未知的邂逅

成长的旅途&#xff0c;未知的邂逅兰舟千帆纷繁复杂&#xff0c;斑驳陆离的岁月邂逅&#xff1f;出发&#xff01;兰舟千帆 我是兰舟千帆&#xff0c;从2020年加入csdn写博客到现在差不多就是两年了。马上也就三年了。这样的时间段&#xff0c;也同样记录着我的成长。哎嘿。我现…

构建基于 Ingress 的全链路灰度能力

作者&#xff1a;涂鸦 背景 随着云原生技术不断普及&#xff0c;越来越多的业务应用开始向云原生架构转变&#xff0c;借助容器管理平台 Kubernetes 的不可变基础设施、弹性扩缩容和高扩展性&#xff0c;助力业务迅速完成数字化转型。其中&#xff0c;集群入口流量管理方式在…

清朝盛衰的六个时间点!

清朝盛衰的整个过程经历了六个时间节点&#xff1a; 一六六一年﹙顺治十八年﹚是第一个时间节点。 正月初六夜半时分&#xff0c;顺治帝预感生命垂危&#xff0c;急命太监传呼麻勒吉与王熙两人赶赴养心殿。帝对王熙说&#xff1a;“朕出痘&#xff0c;势将不起&#xff0c;尔…

[附源码]Python计算机毕业设计Django高校流浪动物领养网站

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

PCB信号仿真之为什么DDR走线要同组同层?

作者&#xff1a;一博科技高速先生成员 刘春 随着信号速率的不断提高&#xff0c;对信号时序的要求也越来越严格。在PCB设计中&#xff0c;我们等长的最终目的都是为了等时&#xff0c;以满足信号的时序要求。因此&#xff0c;需要我们对信号在传输线上的时延有一定的了解&…

python之文件操作相关知识

python之文件操作相关知识 一、文件的打开与关闭 1、打开文件 在Python中&#xff0c;使用 open() 函数&#xff0c;可以打开一个已经存在的文件&#xff0c;或创建一个新文件 语法如下&#xff1a; open(文件名, 访问模式) 说明&#xff1a; 访问模式决定了打开文件的模式&…

【自然语言处理(NLP)】基于SQuAD的机器阅读理解

【自然语言处理&#xff08;NLP&#xff09;】基于SQuAD的机器阅读理解 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等学…