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

 为什么要给 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 "%r" %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.jb51.net访问你的网站,该怎么做呢?

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

<Host name="www.jb51.net" 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.jb51.net ,因为 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>

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

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

(0)

相关推荐

  • 详解Tomcat服务器绑定多域名和虚拟目录的方法

    tomcat采用默认安装,要想tamcat直接绑定多个域名,这里我们需要修改配置文件:C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml server.xml 的修改方式如下: (一)多域名绑定 1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80 原始: <Connector port="8080" maxHttpHeaderSize="8192&quo

  • Windows系统下安装Tomcat服务器和配置虚拟目录的方法

    安装Tomcat和配置环境变量 安装jdk,这个我就不用说了 安装的时候指定安装路径,我指定的是: D:\Program Files\Java\jdk1.6.0_05 3.解压下载的apache-tomcat-5.5.23.zip,   我指定的是D:\Program Files\apache-tomcat-5.5.26 安装完成后,打开"我的电脑"->"系统属性"->"环境变量"在"用户变量" 新建"C

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

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

  • Maven项目部署到服务器设置访问路径以及配置虚拟目录的方法

    一.概念 Tomcat的虚拟目录即在服务器上另选择一个webapps之外的文件夹存放项目文件,通过配置Tomcat的属性,实现访问. 注:未配置虚拟目录,则只能访问webapps/ROOT范围内的文件 二.本机Tomcat配置实例 只需在Host配置项内加入 Context 配置,在 /Tomcat/conf/server.xml 文件加上如下Context配置: <Host name="localhost" appBase="webapps" unpackW

  • php 在windows下配置虚拟目录的方法介绍

    先打开Apache的conf目录下的httpd.conf文件,在末尾添加如下代码: 复制代码 代码如下: <VirtualHost *:80> ServerName www.mydemo.com DocumentRoot "D:/mydemo"<Directory "D:/mydemo">  Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html inde

  • C#实现创建,删除,查找,配置虚拟目录实例详解

    本文实例讲述了C#实现创建,删除,查找,配置虚拟目录的方法.分享给大家供大家参考.具体如下: #region<<虚拟目录>> /// <summary> /// 创建虚拟目录 /// </summary> /// <param >虚拟目录别名</param> /// <param >内容所在路径</param> public static bool CreateVirtualDirectory(string w

  • Eclipse中导入Maven Web项目并配置其在Tomcat中运行图文详解

    今天因为实习的关系需要讲公司已经开发的项目导入进Eclipse,而公司的项目是用Maven来构建的所以,需要将Maven项目导入进Eclipse下. 自己因为没有什么经验所以搞了得两个多小时,在这里和大家分享一下自己的经验已经在这之中遇到的一些问题. 首先我通过svn将公司的项目checkout到了本地. 因为Maven遵循的是规约比配置重要的原则,所以Maven项目的结构一般是进入目录后是一个pom.xml文件和一个src文件夹,当然可能还存在一些README之类的这些都不重要,最关键的就是p

  • IDEA2020.1.2创建web项目配置Tomcat的详细教程

    本文章是一篇IDEA创建web项目配置Tomcat的整合文章,并非原创,原文链接 https://blog.csdn.net/qq_45738810/article/details/107842532 https://www.cnblogs.com/shindo/p/7272646.html 作为初学者,先看了第一个链接里大佬的文章又看其他的文章表示很懵,为了避免各位和我一样,所以在此整合一下,希望能帮到各位! 第一步,先创建一个普通的Java项目 第二步,创建web项目.右键项目名–>Add

  • IDEA 配置Tomcat服务器和发布web项目的图文教程

    1.创建好web项目之后,现在需要配置服务器,以Tomcat为例 2.选择Run-Edit Configurations 3.点击右上角 + 号,选择2处展开剩下选项 4.找到Tomcat Server,然后选择Local Server 5.设置Tomcat服务器显示名,选择Configure 6.选择Tomcat在磁盘中的安装位置 7.确认之后会自动识别出Tomcat服务器 8.确定之后会自动识别出访问路径和端口 9.选择部署选项,然后点击右边的 + ,弹出的项目中选择Artfact 10.在

  • 教你在IDEA中使用Tomcat部署并启动Web项目

    首先在Idea中选择编辑运行配置,如下图 左上角的“+”号,选择Tomcat服务,如下图 自定义服务名称和项目在浏览器的访问路径 配置Tomcat服务器路径,如下图 然后在服务器中部署项目(下面的警告提示:Warning: No artifacts marked for deployment 警告:没有标记要部署的项目),点击Deplyment选项,点击“+”号,选择“Artifact”,选择“war exploded” war和war exploded的区别 war:将项目以war包的形式部署

  • IDEA2022创建Web项目配置Tomcat的详细图文说明

    下面是在idea上面配置一个Tomcat的项目环境. 1.首先创建普通的一个Java项目,不要选择JavaEE  2.创建完成后按照下图所示,依次选择 File -> Add Framework Support -> Web Application -> 在WEB-INF文件夹下创建classes和lib文件夹  3.下面配置环境: File-> Project Structure-> Modules-> Paths-> 选择第二个“Use”,修改两个路径均为cl

随机推荐