tomcat这个磨人的小登西

最近在实习,刚刚上班那几天要手动部署项目,我一直被这个小登西搞得团团转,最近一直想剖析一下tomcat的内心想法,以便下次它折磨我的时候我能想到应对办法。但是最近的工作和学校的事务占据了大部分闲暇时间,时间是海绵里的水,我挤一挤。

首先我们应该认识了解一下这个小登西它是什么?
其次我们应该看看它包含什么?
然后我们康康它要做什么?

  • 那它是什么呢?
    在装tomcat的时候,我们能看到tomcat的目录名字叫做,apache-tomcat,也就是说,tomcat本身并不单纯是汤姆猫的作用,还有apache的功能。apache存在的作用是为我们提供http服务以及相关配置(e.g.虚拟主机、url等),它支持静态页面;tomcat则是在符合J2EE和servlet标准下开发的JSP服务器,它来为我们解释动态页面请求(e.g.asp,jsp,cgi,php)。

  • 知道了是什么我们看看它到底有没有心
    它有bin目录,这个目录里是它开始工作和结束工作的开关,也就是存着tomcat启动和结束的所有文件
    他还有conf(configuration 配置)文件,这个文件里存放着它的服务器的各种默认配置文件,也就是它工作的规章制度,它要按照这里的文档创造进程(不知是否恰当)。所以如果你想让它按照你的想法工作,那么你就可以自己改动这个目录中的文档,下文会提到相关配置文件。
    lib见字如面,library,都是库文件,一般情况下我们不需要改动这里的文件,因为这里都是服务器和web程序要访问的代码(jar程序),依靠这里的包tomcat才能识别我们写的程序。
    它还有个temp文件,这里存放的是它每天的临时工作日志,你不记得它做了什么就在这个文件中查找,看它有没有背着你红杏出墙。
    webapps也完全如它名字一样很好理解,就是web的项目,发布或者说部署在这里,tomcat默认访问运行。
    最后一个文件夹叫work,单从意思上理解不太准确,tomcat会将jsp生成的servlet文件和字节码文件(.class)存在这个目录下。

安全起见,我们不能让它完全访问到计算机本地磁盘,所以我们要把本机的项目部署目录给它访问,这个目录就是虚拟目录,虚拟目录的原理是把本机部署项目的目录映射到tomcat的服务器上,这样方便它工作,计算机的安全也得到了一定程度上的保障。

建立虚拟目录有三种方法:

  1. tomcat在安装时就给了我们一个默认的虚拟目录–>webapps,在这个虚拟目录中,如果不使用任何开发软件,比如测试人员,我们可以直接拿着开发好的rar包或者war包部署项目,tomcat在运行时默认访问这个目录来访问我们的代码项目,需要注意的是,rar包需要解压,war包会被tomcat自动识别解压不用我们动手。
  2. 手动配置,这种方法要麻烦一些,因为要每个项目分别配置。这个配置方法要涉及到我很好奇的另一个东西————Catalina,它存在于很多个文件下,这个方法里我们只用到其中一个,是tomcat文件下conf中的那一个。在这个Catalina目录下存放着一个叫localhost的文件夹,它的目录下有.xml文件,这个文件的文件名字就是我们配置web应用的上下文路径,相当于方法3中标签里的path元素。
  3. 自己手动配置tomcat的虚拟目录,前面说到tomcat的配置文件都在conf里面,其中,service.xml这个文件就是tomcat虚拟目录的存放地点。在这个文件里,如果想要自己配置虚拟目录,那么我们需要在这个文件里添加一组标签,来标识这个虚拟目录。这组标签长这样<Context path="/项目名" docBase="项目存储" ></Context>,俗称上下文环境,意思就是,项目部署的路径就在这里了。你能看到这组标签里有两个元素,一个是path,它的作用是指向最终访问的工程名称+文件名字,docBase指向项目存在的物理地址。用人话讲就是,docBase设置的地址就是浏览器最后访问的localhost:端口号所在本机地址,path的名字就是localhost后面跟着的项目名字

以上三种方法在优先级上并不是并列的,不然tomcat会在配置上乱套,它们的优先级排列为3>2>1

综上所述,它有长了不少东西,就是没有心。

关于idea的tomcat配置参考这个博主的文章:
https://blog.csdn.net/qq_22627687/article/details/76555886

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值