虚拟路径和虚拟主机

Posted 离落想AC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟路径和虚拟主机相关的知识,希望对你有一定的参考价值。

以tomcat为例;

虚拟路径:将web项目配置到webapps以外的目录;

首先说明tomcat文件中的conf就是配置文件,大多数的配置都在这里面。

接下来我们在conf中打开server.xml

在里面我们可以看到这些代码

在这里插入图片描述

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

这里面的port:就是你自己的端口号。默认是8080;

tips:如果使用默认的端口号8080可能会出现常见错误,原因是端口号8080太火了,以至于如果电脑上有别的服务用的端口号也是8080的话那么就会与其他服务的端口号冲突;

所以我这个地方把tomcat的端口号改为了8888(吉利!!!);

示范一边:打开tomcat服务器;

在这里插入图片描述

在浏览器输入 http://localhost:8888/

在这里插入图片描述
出现此页面说明正常;

接下来我们要实现访问JspProject(可以自己先随便改,我自己写的一个测试项目)

第一种方式(需要重启tomcat):

首先还是先进入配置文件夹conf;
选择文件server打开;
下滑找到Host标签,即是虚拟路径;
在这里插入图片描述

<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" />
        -->

        <!-- 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>

Host标签里面 :
name=“localhost” 即为你们想访问的网址;
appBase=“webapps” 即为虚拟路径

那我们怎么操作改呢?

很简单,在Host标签里加入一个Context标签

<Context docBase="D:\\测试\\JspProject"   path="/aaa"/>

标签里面
docBase:写实际路径;
pth:虚拟路径(要么写绝对路径,要么写相对路径)

tips:
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。

相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中,"/“代表Web应用的跟目录。和物理路径的相对表示。例如:”./" 代表当前目录,"…/"代表上级目录。这种类似的表示,也是属于相对路径。
另外关于URI,URL,URN等内容,请参考RFC相关文档标准。

好!来试一下;
运行tomcat
在这里插入图片描述

打开浏览器访问localhost:8888/aaa
在这里插入图片描述
ok 成功实现!

第二种方式(不需要重启tomcat):

直接在conf文件中Catalina文件中localhost下建立一个项目名.xml文件 里面输入跟刚才一样的代码即可;

<Context docBase="D:\\测试\\JspProject"   path="/aaa"/>

在这里插入图片描述
效果实现:
在这里插入图片描述
**tips:**也可以创建root.xml 就不用写项目名了
访问时只需要访问http://localhost:8888/即可;

访问webapps文件外的项目我们已经会了

接下来访问www.test.com(这个也是可以随便改的,比如百度,京东。千万别拿去做不好的事情!)试试。

还是常规操作打开conf文件下的server;

加入标签Host

<Host appBase="D:\\测试\\JspProject" name="www.test.com">
	  
	       <Context docBase="D:\\测试\\JspProject"   path="/"/>
	  
	  </Host>

修改标签
在这里插入图片描述

标签里的defaulthost 为自己想访问的网址;

最后一步域名解析;

打开电脑的C:\\Windows\\System32\\drivers\\etc里的host文件;

tips:一定要用管理员模式打开host文件;
加一句如图所示的代码。

在这里插入图片描述
打开浏览器访问www.test.com:8888
即可进入;
在这里插入图片描述

**tips:**如果想要把www.test.com:8888后面的8888去掉,那我们就把8888改成默认80
原因www.test.com:80 跟www.test.com是一样的 都能用;

所以我们改下端口号 将8888改为80;

试一下
打开浏览器访问www.test.com

在这里插入图片描述
完美! 这样我们就可以通过www.test.com进入我们想进的网页了。

以上是关于虚拟路径和虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

显示 ActionBar 选项卡的两个片段

wamp配置虚拟路径(路径别名)

asp.net网站在IIS上获取虚拟路径的问题!

如何把物理路径转换成虚拟路径

详细解说Tomcat 设置虚拟路径的几种方法及为啥设置虚拟路径

使用Nginx配置资源虚拟路径