虚拟路径和虚拟主机
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 "%r" %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进入我们想进的网页了。
以上是关于虚拟路径和虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章