Tomcat 中如何给 web 项目配置虚拟目录的方法

发布时间 - 2026-01-11 02:42:13    点击率:

 为什么要给 web 项目配置虚拟目录?

初学 JavaWeb 时,会发现只要我们把 web 项目放到 Tomcat 的 webapps 目录下,再通过 http://localhost:8080/项目名称/某个页面 就可以访问该网站了。可是这样并不符合规范,最好还是把 web 项目文件和 Tomcat 的安装文件分开。那如何实现这个要求呢?当然是给 web 项目配置虚拟目录啦。

如何给 web 项目配置虚拟目录?

前面已经说了,我们要把项目文件和 Tomcat 安装文件分离开。假设我们这里把 test 项目放在 D 盘的根目录下。配置虚拟目录的方法官方提供了五种,这里只介绍两种。

方法一

在 conf 目录下的 server.xml 文件的 Host 标签下添加 Context 标签<Context path="/test" docBase="D:\test"/>,改完后的如下所示,这样只需要在地址栏输入:http://localhost:8080/test/index.html 就可以访问 test 项目的 index 页面了。但是这种方式的缺点是需要重启服务器才能生效。

<Host name="localhost" appBase="webapps"
      unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
       Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <Context path="/test" docBase="D:\test"/>
    <!-- Access log processes all example.
       Documentation at: /docs/config/valve.html
       Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="localhost_access_log" suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />

   </Host>

方法二

在 conf\Catalina\localhost 目录下新建一个名为 test1 的 XML 文件,内容写上<Context docBase="D:\test1"/> 就可以了。这种方法可以不用重启 Tomcat ,就能立即生效。在地址栏输入:http://localhost:8080/test1/index.html 就可以访问 web 项目的 index.html 文件了。虚拟目录的路径名可以任意,并不一定要和项目名称相同。

为什么这两种方法都是通过修改这种 XML 文件就起作用了呢?这是因为 Tomcat 程序将这种需要改变的内容写在 XML 配置文件中,然后在程序运行的时候来寻找这种信息,以达到不用修改程序源码就能够改变程序运行的目的。以后的学习中经常会遇到配置文件的哦!

如何将网站进行云部署,能够让别人也能访问这个网站呢?

现在你已经购买了云服务器和域名,并做好了解析。你想要通过你的域名www.访问你的网站,该怎么做呢?

你需要在 server.xml 文件的 <Engine>标签下新建一个<Host>标签,内容如下:

<Host name="www." appBase="webapps"
      unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="D:\test"/> 
</Host>

再将 server.xml 中的第一个<Connector>标签改为如下所示,也就是把 8080 端口改为 80

<Connector port="80" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />

总结一下,就是新建了一个主机(Host) ,主机名为 www. ,因为 http 协议默认采用 80 端口,所以不用指定端口号了,在不给出任何路径时,就默认访问 D 盘下的 test 项目,至于该访问 test 项目的那个页面这还需要指定。

一般是需要在对应 web 项目的 web.xml 文件中添加如下代码,就会默认访问 index.html 的页面,但是 Tomcat 的 web.xml 文件已经写好了,所以并不需要另外指定。

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

原来需要通过https://www.:8080/项目名/首页名访问首页的,现在只需要通过www. 就能访问了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Tomcat  # 配置虚拟目录  # tomcat8.5配置虚拟目录  # IDEA部署JavaWeb项目到Tomcat服务器的方法  # Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案  # 使用Maven tomcat:run命令启动web项目时修改默认端口的方法  # Eclipse中导入Maven Web项目并配置其在Tomcat中运行图文详解  # 在Tomcat中部署Web项目的操作方法(必看篇)  # tomcat组件图解 一个web服务器的架构演化史  # 就可以  # 好了  # 就能  # 所示  # 重启  # 首页  # 目录下  # 配置文件  # 新建一个  # 都是  # 就会  # 放在  # 第一个  # 说了  # 也能  # 两种  # 只需  # 要在  # 要把  # 只需要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用已有域名快速搭建网站?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  个人摄影网站制作流程,摄影爱好者都去什么网站?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  高防服务器如何保障网站安全无虞?  EditPlus中的正则表达式 实战(1)  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel如何实现文件上传和存储?(本地与S3配置)  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  香港服务器建站指南:免备案优势与SEO优化技巧全解析  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Java类加载基本过程详细介绍  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  深入理解Android中的xmlns:tools属性  如何破解联通资金短缺导致的基站建设难题?  如何在 React 中条件性地遍历数组并渲染元素  详解jQuery中基本的动画方法  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  如何在万网自助建站中设置域名及备案?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Bootstrap CSS布局之列表  Laravel如何自定义错误页面(404, 500)?(代码示例)  Python结构化数据采集_字段抽取解析【教程】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  详解Huffman编码算法之Java实现  java ZXing生成二维码及条码实例分享  如何在Tomcat中配置并部署网站项目?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何用虚拟主机快速搭建网站?详细步骤解析  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  C#如何调用原生C++ COM对象详解  深圳网站制作培训,深圳哪些招聘网站比较好?  文字头像制作网站推荐软件,醒图能自动配文字吗?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  如何快速生成橙子建站落地页链接?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  高防服务器租用首荐平台,企业级优惠套餐快速部署  Laravel如何实现API资源集合?(Resource Collection教程)