首先来看一下tomcat的目录结构,一个刚解压出来的tomcat打包文件应该有以下几个目录
bin | 主要存放脚本文件,例如比较常用的windows和linux系统中启动和关闭脚本 |
conf | 主要存放配置文件,其中最重要的两个配置文件是server.xml和web.xml |
lib | 主要存放tomcat运行所依赖的包 |
logs | 主要存放运行时产生的日志文件,例如catalina.{date}.log等 |
temp | 存放tomcat运行时产生的临时文件,例如开启了hibernate缓存的应用程序,会在该目录下生成一些文件 |
webapps | 部署web应用程序的默认目录 |
work | 主要存放由JSP文件生成的servlet(java文件以及最终编译生成的class文件) |
再介绍两个tomcat中比较重要的概念(通常也是两个系统变量)——CATALINA_HOME和CATALINA_BASE:
- CATALINA_HOME:即指向Tomcat安装路径的系统变量
- CATALINA_BASE:即指向活跃配置路径的系统变量
一、tomcat保存图片文件
使用Tomcat作为服务器的时候,如果不配置图片保存路径,将图片保存在项目路径下,那么再次打war包发布项目可能会造成图片的丢失,每次重启前将图片先保存再copy到服务器明显不方便,这时可以配置图片保存位置,将图片保存到项目外的地方,方法如下:
打开tomcat - conf下的server.xml文件,在Host节点下添加
<Context docBase="G:/upload/images" path="/images" />
docBase为图片保存的位置,path为图片的访问路径。
访问路径是 http://localhost/images/test.jpg
这样不仅解决了图片保存问题,同时还能保证服务器的安全。
二、tomcat部署项目到服务器(将必要的jar文件拷贝到tomcat目录lib下,默认会把打好的war包放在在target目录下)
方法一、最简单,常见的部署方法,直接将war包放到tomcat的wabapp目录下,运行tomcat就行。
方法二、将项目打包到本地随便一个目录位置,然后用tomcat部署该项目,位置sever.xml文件夹下
<Context path ="/Pet" reloadable ="false" docBase ="F:/PetWeb" workDir ="d:/Mywebapps/emp" />
path:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:http://localhost:8080/Pet/
reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable="false"表示当应用程序 中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。
docbase:表示应用程序的路径,注意斜杠的方向“/”。 docBase可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。
workdir:表示缓存文件的放置地址
方法三、1、进入到 apache-tomcat-7.0.52\conf\Catalina\localhost 目录,新建一个 项目名.xml 文件
2、<Context docBase="D:/WebProject" reloadable="true" />
3、在浏览器输入路径:localhost:8080/xml文件名/访问的文件名
总结:
①、第一种方法比较普通,但是我们需要将编译好的项目重新 copy 到 webapps 目录下,多出了两步操作
②、第二种方法直接在 server.xml 文件中配置,但是从 tomcat5.0版本开始后,server.xml 文件作为 tomcat 启动的主要配置文件,一旦 tomcat 启动后,便不会再读取这个文件,因此无法再 tomcat 服务启动后发布 web 项目
③、第三种方法是最好的,每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。
四、Tomcat部署html静态文件
第一步:在tomcat的安装目录下的webapps文件夹下创建文件夹,用于存放项目
如:在D:\server\Tomcat8.0\webapps 下创建 test 文件夹
第二步:修改tomcat目录下的conf中的service.xml文件,修改配置
注:修改配置前最好备份原始文件
如:打开文件 D:\server\Tomcat8.0\conf\service.xml
在<Host>标签中,添加 <Context docBase="test" path="/test" reloadable="true"/>
其中:docBase的值test即刚才创建的文件夹名,path的值'/test' 为访问这个项目的URL的虚拟目录
修改后:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
......(其他配置)
<Context docBase="test" path="/test" reloadable="true"/>
</Host>
第三步:启动tomcat
如:D:\server\Tomcat8.0\bin\startup.bat
访问:
浏览器中输入访问地址,如:192.168.0.5:8080/test/index.html
访问不到可能原因:
1.tomcat启动失败
2.另外的设备连接 -- 不在同一个网段。
(手机只要在同一个wifi环境下也是可以访问的,可以用这种方式来测试网页在手机上显示的效果。。。)
参考一springboot的tomcat的部署:https://mp.weixin.qq.com/s/7hJZhfGygdFS2P8SqwAccw
参考二:https://www.jianshu.com/p/b0fd92231173
参考地址三:https://www.jianshu.com/p/cd6223d5d0ed