Web资源访问路径问题
要想让一个web工程被外界访问到就要在服务器中配置相应的路径,这个过程还是挺容易混淆的。
方案一
场景我的web工程在不在tomcat相关的目录下。
Ex:有一个在桌面的文件夹
绝对路径为:C:\Users\Administrator\Desktop\myapp
现在我想让外界访问到这个web资源,我可以在tomcat的conf文件夹下的server.xml中的当前主机我现在用的是localhost虚拟主机下配置Context标签
<Context path="/news1" docBase="C:\Users\Administrator\Desktop\myapp">
</Context>
最后我是通过以下的方式来访问的:
http://localhost:8080/news1/first.html
缺点:需要重启服务器。
缺省配置:如果将path属性置为空则为默认web应用。
方案二
我要访问桌面上的另一个资源:
这次采用的方案是直接在当前虚拟主机的路径下进行配置:
在这里我任然使用的是localhost的虚拟主机,所以我会在
D:\tomcat\apache-tomcat-8.5.20\conf\Catalina\localhost路径下进行配置。
在这个目录下新建一个xml文件,名字是我们在访问的时候所映射的路径名,例如我想要在浏览器中以http://localhost:8080/news2/first.html来访问那么我的xml文件就起名为news2.xml。如下图所示:
并且在new2.xml中写上如下内容:
最后我通过http://localhost:8080/news2/first.html来访问该资源。
无需重启服务器。
缺省配置:将xml文件改名为ROOT.xml则为默认web应用。
方案三
直接将资源放到虚拟主机所管理的文件夹下
注意:这里是虚拟主机所管理的文件夹,它在server.xml中已经配置了。
所以localhost所管理的文件夹是webapps,所以我们把web应用放到webapps下面就能够生效。
当我们将当前web应用的文件夹的名称改为ROOT的时候,也就成为了当前虚拟主机的默认web应用。
而在D:\tomcat\apache-tomcat-8.5.20\conf\web.xml中可以配置默认欢迎页面。
小结
补充虚拟主机的配置
在tomcat/conf/server.xml-><Engine><Host name="虚拟主机的名称" appBase="虚拟主机管理的文件夹的路径">,希望虚拟主机生效,还需要修改本机的hosts文件。