1.官网上各种安装包的区别
- installer版本:是一个安装程序,执行exe文件就可以安装啦。
- source版本:这是一个源代码包,需要经过计算机编译才能执行安装。
- binary 和 archive 一样:这是二进制包,已编译好的可直接使用的程序,这里需要解压缩,解压缩后,点击bin目录下的.sh或者.bat执行文件即可使用。
- Source Code Distributions:源代码版本
- Binary Distributions:二进制版本
- Core:是Tomcat正式的二进制发布版本,一般大家做开发或者学习的时候应该下载Core下的。
- Deployer:是基于Tomcat的web应用的发布器,就是在把写好的JavaEE应用发布到Tomcat的时候可以使用Deployer来动态的发布。所以它不是真正的Tomcat二进制版本,它只是一个用以发布基于Tomcat的Web应用的发布工具而已。
- Tomcat中的Web应用发布:
- 发布:指的是把一个Web应用安装到Tomcat服务器中的过程。在Tomcat中发布Web应用可以有两种方式:
- 静态发布:指的是在Tomcat未启动的时候,把做好的Web应用直接复制到Tomcat服务器中。
- 动态发布:有两种情况
- 指的是在Tomcat已经启动运行的情况下,通过Tomcat的自动部署功能动态操作已经发布的Web应用.
- 指的是通过Tomcat Manager这个Web应用通过远程把做好的Web应用发布到正在运行的Tomcat中去。
- Deployer的作用就在动态发布Web应用到Tomcat中去的时候体现出来的。Deployer是一个命令行的工具,它可以编译、验证Web应用,还可以把Web应用的全部资源打包到War文件中。
- Tomcat中的Web应用发布:
tomcat的安装
1.从官网下载:Apache Tomcat® - Welcome!
2.一路next,安装时全选(会包括webapps)
3.自动读取JDK路径,要提前安装
4.浏览器输入localhost:8080(可以在安装时就修改端口号)
2、tomcat各目录的作用
- bin:存放各种不同平台开启与关闭Tomcat的脚本文件。
-
bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置JDK路径、TOMCAT路径
-
startup 用来启动tomcat
-
shutdown 用来关闭tomcat
-
修改catalina可以设置tomcat的内存
-
-
- lib:存tomcat与web应用的Jar包
-
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。(基于zip文件格式将许多文件合成一个压缩文件.jar)
-
JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。
以客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样
-
jar包是对写好的类进行了打包。我们可以通过将jar包放到lib目录下来使用这些jar包中的类、属性和方法
-
作用:JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求Web服务器,以便下载完构成一个“程序片”(Applet)的所有文件;但在将所有这些文件合并到一个JAR文件里以后,只需向远程服务器发出一次请求即可。除此以外,每个文件都是未经压缩的,由于采用了压缩技术,所以可在更短的时间里获得全部数据。
-
各类jar包的作用:Java常用jar包作用_guaoran的博客-CSDN博客
-
- conf:存放tomcat的配置文件
-
server.xml:server.xml是Tomcat的主配置文件.完成两个目标:
-
提供Tomcat组件的初始配置.
-
说明Tomcat的结构,含义,使得Tomcat通过实例化组件完成起动及构建自身, 如在server.xml所指定的server.xml种的重要元素:元素及其描述
-
-
web.xml
-
Tomcat可以让用户通过将缺省的web.xml放入conf目录中来定义所有关系环境的web.xml的缺省值.建立一个新的关系环境时,Tomcat使用缺省的web.xml文件作为基本设置和应用项目特定的web.xml(放在应用项目的WEB-INF/web.xml文件)来覆盖这些缺省值.
-
-
tomcat-users.xml:配置tomcat的用户信息。
-
context.xml:用来配置环境、开发项目的时候一般都是配置这个文件,也可以配置JNDI。
-
- webapps:web应用的发布目录
-
webapps目录用来存放应用程序。
当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。当然,也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。
-
webapps目录下的ROOT目录介绍:
webapps目录下有个默认的ROOT目录,也可以把项目war包解压开放入ROOT目录,同样可以运行项目。但放在ROOT目录下之后访问项目方式就会变为:ip+端口号。
-
项目放在webapps目录和放在ROOT目录的区别是webapps不需要解压,ROOT需要解压;webapps访问项目需要加项目名,ROOT不需要加项目名。
tomcat默认看到的cat页面的文件就是在ROOT文件夹下的,如果ROOT目录删除后,tomcat启动后还是会生成的。
-
webapps是特别要注意的地方。webapps文件夹是部署项目的地方,tomcat启动时,加载webapps文件夹下的项目。但有时候我们在Tomcat的目录下找不到webapps,发现所有的项目在一个叫wtpwebapps的文件夹中,wtpwebapps跟webapps差不多,都是存放编译后的项目。eclipse默认路径是wtpwebapps,因为一些项目需求,可能需要改到webapps下面。
-
修改eclipse下tomcat部署路径:eclipse修改web项目部署路径_yuan16423276的博客-CSDN博客
-
- work:tomcat把由各种jsp生成的servlet文件存放的地方
- logs:tomcat存放日志文件的地方【Tomcat】tomcat logs 目录下各日志文件的含义 - QiaoZhi - 博客园 (cnblogs.com)
-
catalina.日期.log
这个主要是记录tomcat启动时候的信息,类似于我们在eclipse中启动服务的时候在控制台看到的信息。在里面可以看到启动的JVM参数以及操作系统等日志信息。如果没有使用log4j等日志机制,系统的的错误信息与打印语句也在这个日志文件中记录。(linux下所有的日志都在catalina.out中)
-
commons-daemon.日期.log
这个日期放的估计是利用服务方式启动tomcat作为守护进程的日志记录,因为我的tomcat启动方式是以服务的方式启动的,索引产生这个日志文件记录了服务的启动状态。
-
host-manager.日期.log
这个估计是放tomcat的自带的manager项目的日志信息的,也没有看到有什么重要的日志信息
-
localhost.日期.log
这个类似于第一种日志,可是信息没有第一种全
-
localhost_access_log.日期.txt
这个是存放访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息(重要)
-
manager.日志.log
这个估计也是manager项目专有的日志文件,看不出有什么重要的信息
-
tomcat7-stderr.日期.log
这个是log4j的错误日志,因此在程序中要合理的捕捉异常。
-
tomcat7-stdout.日期.log (类似于eclipse的控制台的信息)
这个是程序中的System语句打印的日志(包括系统抛出的异常),也终于明白了为什么一再强调不能用打印语句进行系统调试
-
- temp:tomcat存放临时文件的地方
- temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)但是,千万不能删除该目录,要不然就会带来未知的错误;用到一些图片处理库时系统会报这个错误。 重新创建后,正常了。
3、怎么设置虚拟路径
方法1(修改配置文件):
在Tomcat的安装目录下,找到server.xml文件
【Tomcat】——【conf】——【server.xml】
进入该文件找到HOST标签
添加以下字段:
<Context path="/newway" docBase="D:\ComApplications\newfolders" debug="0" reloadable="true" crossContext="true">
/>
说明:
path:指定访问该 Web 应用的 URL 入口。
docBase:指定 Web 应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase 属性的相对路径,如果 Web 应用采用开放目录结构,则指定 Web 应用的根目录,如果 Web 应用是个 war 文件,则指定 war 文件的路径。(指定项目所在地址)
reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。
crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。
Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。
这个方法在设置后重启服务器即生效
方法二:不需要重启服务器
在Tomcat根目录下的/conf/Catalina/localhost/ 路径下新建一个filename.xml,并在该xml中编写语句
<Context docBase=" D:\ComApplications\newfolders "/>
即可创建虚拟站点,虚拟站点名为filename。
4、怎么修改Tomcat的服务端口
到安装目录(或者解压目录)下找到conf文件夹,在里面找到server.xml的文件,并且进行修改
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9552" />
将port="8080"改为其它的就可以了。
5、tomcat的三个端口含义
关于tomcat中的三个端口的作用及其相关细节 - zhangcscc - 博客园 (cnblogs.com)
- Tomcat admin port——管理端口,允许你远程配置tomcat
- HTTP——正常的http协议
- AJP——Apache JServ Protocol,用来传输二进制的