一、Tomcat简介
我们下载好Tomcat后需要配置一下Java环境:如果打开出现闪退得情况,首先是jdk
同时配置JRE_HOME
Tomcat的一些关键目录:
- /bin:存放用于启动及关闭的文件,以及一些脚本。其中以
*.sh
结尾的是linux下运行的文件,window下是.bat
文件。 - /conf:配置文件及相关的信息。容器的主配置文件为
server.xml
。 - /log:日志记录文件。
- /webapps:存放Web应用的相关文件。
- /lib:存放以
.jar
文件,各种依赖 - /webapps:里面存放我们的应用,Tomcat会自动找到。我们会自动访问ROOT下面的index.jsp页面。
通过bin\startup.bat
来开启Tomcat
通过bin\shutdown.bat
关闭Tomcat
二、了解Tomcat运行机制
1.首先大家都知道Tomcat的访问可以是localhost或者127.0.0.1,但是并没有了解具体的由来,所以我们来查找一下本机的hosts文件:
我们可以通过修改hosts文件里面的配置,修改Tomcat的访问域名。
2.然后发起请求,去DNS服务器通过域名找到对应的ip地址,然后再找对应的服务器。
3.当然我们也可以直接使用ip地址去浏览器查找,这样就跳过了DNS阶段,但是ip地址不好记呀。🤷♂️
4.定位到了服务器以后,我们通过端口号8080找到Tomcat这个应用,然后通过Socket进行三次握手、长连接,
通过Connector连接器的处理
5.将传来的请求信息放入到Catalina请求处理容器中,处理完以后返回给Connector连接器,最后再次通过Socket传回给客户端。
三、Tomcat配置文件
3.1 logging.properties
这是一个日志信息的配置文件,我们可以通过设置这个参数来解决我们控制台的乱码问题。
将这里的UTF-8改成GBK即可。
因为我们电脑是GBK的编码。
通过这段话也可以明白:日志控制台编码 = GBK
同时我们也可以根据日志 进行debug
3.2 server.xml
server.xml是Tomcat服务器的核心配置文件,同时也包含了Tomcat的Servlet容器的所有配置文件。
一个server中有很多个service服务
Connector连接器和Engine启动引擎是同级别的
这里Connector连接器:
- port:连接的端口号
- protocol:处理协议
- connectionTimeout:连接超时
- redirectPort:重定向端口
这里的Engine下面的Host:
- appBase:是访问localhost下的默认资源路径 webapps,也是根路径。
- 我们可以在里面定义一个
<Context docBase="" path=""> </Context>
- docBase:更改默认资源路径文件夹
- path:设置访问路径
3.3 web.xml
首先你会看到这些东西,这些是一些定义的规范,不必过于了解,只是限制了你什么标签可以写、怎么写,需要按照他的规范来写,否则会报错。
这是一个默认的请求处理的servlet
`
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>`
通过这个servlet-name的名字,设置请求路径,找到上面的servlet配置信息,最后找到对应的处理类。
设置欢迎页面
当我们启动Tomcat的时候,我们可以看到这段信息,这也是为什么我们的C盘莫名其妙的就tm满了...
idea并没有用我们Tomcat的配置文件,而是把它复制了一份精简版放到了C盘这个目录下