浅浅聊一下tomcat

        学过javaWeb的朋友应该都认识tomcat,今天就浅谈一下这个叫做tomcat的东西。
        tomcat是Apache基金会下的一款开源的轻量级的WEB服务器软件,不是这只叫汤姆的猫咪。

它还有一个名字叫做catalina,据说是因为作者在一个名叫catalina的美丽小岛上创造了它,因此给它取名catalina。至于为什么说它是轻量级WEB服务器,这是相对于实现了JavaEE中所有规范的应用服务器(比如JBOSS)来讲的,tomcat只实现了servlet和JSP两个规范,开发者给他猫咪的logo也是因为它如猫咪一样轻盈。

        tomcat呢是由Java语言写的,也就是说它和其他java程序一样,运行时需要有Jre(java运行时环境),那么我们就需要先安装jdk。jdk的安装和配置一定是我们学习java的第一步,也就是把jdk的安装目录配置为JAVA_HOME让我们的计算机知道它在哪里。但是一般我们都不会去想为啥要配,只是跟着做了。我起始处一直认为配置环境变量就只是为了方便,不需要到安装目录下再用javac之类的命令,这是一个配置后的好处,但是肯定不是单纯为了这个目的。比如tomcat的启动!就需要用到JAVA_HOME!以下分几种不同的情况来表述环境变量的作用,上操作!

        在我们下载好tomcat之后,此时我们的环境变量中没有配置JAVA_HOME,也没有配置CATALINA_HOME(tomcat的安装目录)。这个时候我们在cmd中直接执行startup.bat(.bat文件就是一个批处理文件,里面写的都是windows下可执行的脚本)是这个结果,大家应该都预料的到。

这是因为计算机不认识这条命令或这个文件。好,那我们就到tomcat的bin目录下去执行,计算机一定能够识别。然而,还是不行,信息中表示运行这个程序需要至少定义JAVA_HOME或者JRE_HOME中其中一个,可以理解,java程序运行当然需要jre。在正确配置完JAVA_HOME后就可以正常启动tomcat。

        到这里为止,我们只配置JAVA_HOME,没有CATALINA_HOME,可以启动tomcat。

        然后我们再考虑一种情况,现在我觉得一定要安装目录下启动tomcat太过麻烦,我想要随地调用startup.bat来启动,所以我将tomcat的安装路径加入环境变量,暂时命名为TOMCAT_HOME。

这种情况下,是不是可以顺利启动Tomcat。答案是不行,如下图:

 信息表示这个环境变量定义的不正确。可是为什么呢,明明靠TOMCAT_HOME找到了startup.bat的位置的,为什么还启动不了。答案就在startup.bat里面,用记事本打开这个startup.bat瞧瞧。

两个echo后面的语句是不是非常眼熟,没错就是刚刚cmd中的报错信息。现在知道了,虽然我们找到了startup.bat,但它会去调用catalina.bat,找catalina.bat需要用到CATALINA_HOME,而我们压根没有配置CATALINA_HOME,它会把当前目录设置为CATALINA_HOME,也就是我们调用startup.bat的所在位置,当然找不到catalina.bat。

        让我们再打开catalina.bat看看,能看到%JAVA_HOME%,想必要启动tomcat配置%JAVA_HOME%也是必不可少的。其中还有这么一段,MAINCLASS=org.apache.catalina.startup.Bootstrap,这个类就是main方法的所在类。既然tomcat是java写的程序,启动tomcat的本质也就是执行某类中的main方法。

        最后说一下tomcat的目录结构:

bin:tomcat命令文件的存放目录,都是一些bat和sh文件

conf:配置文件的存放目录,比如server.xml中可以配置端口号

lib:tomcat的核心程序目录

logs:日志目录,启动信息,访问信息等等

temp:临时目录

webapps:这个目录就是用来存放部署到tomcat上的web应用程序的,这个目录下一个文件夹就是一个项目

work:存放JSP文件翻译之后的java文件和编译后的class文件

over                

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值