原课程链接:https://www.bilibili.com/video/av50351111?p=224
方式一:直接把项目拷贝到webapps目录下
比如:在本地有个hello项目,其中有个hello.html文件
把这个项目直接放到webapps目录下
启动tomcat
然后可以通过 localhost:8080/hello/hello.html访问到这个静态资源
概念:虚拟目录:就是项目访问路径,比如/hello
在方式一中,项目的存放路径和访问路径是一样的
简化部署:
把整个项目打包为war,在需要的时候把war包直接拷贝到webapps中即可,war包会自动地解压缩。不需要的时候就只需要把war包删掉,解压缩之后的原来包也会被自动删掉。这个操作可以在服务器运行的时候进行,变化会动态地反映出来。好处:压缩包体积小,拷贝传输效率高
缺点:不管怎样都需要拷贝
方式二:不拷贝了,直接配置资源路径
配置文件是conf中的server.xml
在<Host> </Host>标签体中找个位置插入:
<Context docBase="D:\hello" path="/hehe" />
docBase是项目存放的路径;path是项目访问路径,也就是虚拟目录。这两个是不一样的了!
然后可以启动tomcat了,这时webapps中是没有hello这个项目的,只能通过 localhost:8080/hehe/hello.html来访问
缺点:server.xml是tomcat的核心配置文件。改这个不安全!也对其他项目不好
方式三:在conf/Catalina/localhost下创建一个某名称.xml文件,在其中加入
<Context docBase="D:\hello" />
此时的虚拟目录变为这个xml文件的名称了,也就是要通过 localhost:8080/某名称/hello.html访问
好处:热部署
意思为:之前方式二修改了server.xml文件后需要重启服务器才能生效,这种方式可以在服务器运行的时候动态地反应变化。比如,不想要这个资源了,直接把这个xml文件的后缀改为xml_bak就行了,浏览器就访问不到了
网友评论