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

发布时间:2021-02-20 16:30:20 作者:小新
来源:亿速云 阅读:282

这篇文章给大家分享的是有关为什么要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 &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.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>

感谢各位的阅读!关于“为什么要web项目配置虚拟目录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. Nginx 配置二级虚拟目录访问 Laravel 后台重写
  2. php 虚拟主机和虚拟目录的配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

web 虚拟目录

上一篇:将本地JAR包添加到本地Maven仓库中的方法

下一篇:使用webpack+es6开发angular1.x的案例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》