其他分享
首页 > 其他分享> > Tomcat

Tomcat

作者:互联网

------------恢复内容开始------------

简介

Tomcat服务器是Apache的一个开源免费的Web容器,源免费的Web容器。实现了 JavaEE平台下部分技术规范,属于轻量级应用服务器。

作用

可以在Tomcat中运行编写的Servlet、JSP。

 

下载

官网地址:https://tomcat.apache.org/

 

 

 

 安装:

Tomcat是绿色软件,解压完即可使用,在安装前要先配置jdk和jre环境变量

Tomcat目录结构:

 

 

 

Tomcat的启动与关闭:

启动:

方式一:运行bin目录下的startup.bat文件

方式二:在命令行窗口进入bin目录,输入catlina.bat start,catlina.bat为命令文件,start为参数

关闭:

方式一:运行bin目录下的shutdown.bat文件

方式二:在命令行窗口进入bin目录,输入catlina.bat stop,catlina.bat为命令文件,stop为参数

方式三:直接关闭Tomcat控制台窗口

如何访问Tomcat:

访问本机Tomcat的URL

 http://localhost:端口

访问Tomcat的URL

 http://ip:端口

Tomcat的配置文件

    context.xml(唯一一个修改后不用重启服务器的配置文件,其他若修改都得重启服务器才能生效)

  Tomcat 公用的环境配置。 Tomcat 服务器会定时 去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自 动重新加载这个文件,而不需要重启服务器 。

  web.xml

  Web应用程序描述文件,都是关于是Web应用程序的配置文件。所 有Web应用的 web.xml 文件的父文件。

  server.xml

  是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对 应了 tomcat中的一个组件,通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。

  tomcat-users.xml

  配置访问Tomcat的用户以及角色的配置文件。

如何解决启动Tomcat时控制台的乱码问题

  产生乱码的原因:

  Tomcat在输出日志中使用的是UTF-8编码,而中文Window操作系统使用的是GBK编码,由于编码格式不同导致乱码。

  修改方法:

  修改conf目录中的logging.properties文件重新指定的编码方式

java.util.logging.ConsoleHandler.encoding = GBK

 

 

 

 

 如何修改Tomcat监听端口

Tomca默认监听端口为8080,通过conf目录中的server.xml文件来改变Tomcat监听端口

 

 

 Tomcat Manager

 

 

 

 

 

 在conf目录下的tomcat-users.xml文件中进行角色 配置、用户名及密码配置

  角色分类:

   配置用户及角色:

  修改conf目录下的tomcat-users.xml,将下列代码添加进配置文件

<role rolename ="manager-gui"/>
<user username ="tomcat" password ="tomcat" roles="manager-gui" />

 

 

 

 

 

 

 

 

 

 通过解除访问限制实现远程访问

  修改webapps\manager\META-INF目录下的context.xml文件 

 

 

 Tomcat架构

Tomcat工作原理

一个能处理请求与响应的web容器,实现JavaEE平台下Servlet,JSP等技术规范

 

 

 

 

 

Tomcat架构分析:

通过conf/server.xml配置文件对组件进行修改

 

 

 Tomcat组件

 Server组件

一个server实例就是一个Tomcat,启动一个server实例就等同于启动一个Tomcat(即一个JVM进程,由于Tomcat的大部分的代码是用java编写的,而java代码运行在JVM当中,因此启动一个Tomcat就意味着启动JVM)

server实例监听在8005端口,等待接收shutdown指令,关闭tomcat的端口,(8080等着处理请求的端口,8005等着接收关闭的端口)

Server的定义不能使用同一个端口,这意味着 如果在同一个物理机上启动了多个Server实例,必须配置它们使用 不同的端口

1 <Server port="8005" shutdown="SHUTDOWN">

port: 接收shutdown指令的端口,默认为8005;

shutdown:发往此Server用于实现关闭tomcat实例的命令字符 串,默认为SHUTDOWN;

 Service组件

解决链接器与请求之间的对应关系,一个或多个Connector可以与一个Engine相对应(Service组件可以包含一个引擎,一个或多个连接器)

每个连接器通过一个特定的端口和协议接收请求并将其转发至关联的引擎进行处理

 

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

<Service name="Catalina">

name:此服务的名称,默认为Catalina;

 

Connector组件

支持处理不同请求的组件,一个引擎可以有一个或多个连接器,以 适应多种请求方式。默认只开启了处理Http协议的连接器。如果需 要使用其他协议,需要在Tomcat中配置该协议的连接器。

在Tomcat中连接器类型通常有4种:

<Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Engine组件

Engine是Servlet处理器的一个实例,即servlet引擎,定义在 server.xml中的Service标签中。

Engine需要defaultHost属性来为其定义一个接收所有发往非明确定义虚拟主机的请求的Host组件。(一个host组件对应一个虚拟主机)

 

 

 

<Engine name="Catalina" defaultHost="localhost">
<!--name是组件的名称-->

Host组件

用于在Tomcat中配置虚拟主机

虚拟主机(英语:virtual hosting)或称共享主机(shared web hosting),又称虚拟服务器,是一种在单一主机或主机群上,实现 多网域服务的方法,可以运行多个网站或服务的技术。

Host组件位于Engine容器中,用于接收请求并进行相应处理的虚拟主机。

通过该容器可以运行Servlet或者JSP来处理请求。

Context组件

Context是Host的子组件,代表指定一个Web应用,它运行在某个 指定的虚拟主机(Host)上;每个Web应用都是一个WAR文件,或 文件的目录。

 

 

<Context path="/test" docBase="D:\bjsxt\itbaizhan.war" />

 如何配置虚拟主机

什么是虚拟主机:在一个物理机中,通过特定的软件去虚拟化出多个主机

创建页面

webapps1/a/index.html

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<HTML>
<HEAD>
  <TITLE> BJSXT </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>
<BODY>
 Welcome to BJSXT
</BODY>
</HTML>

 

 webapps2/a/index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<HTML>
<HEAD>
  <TITLE> ITBZ </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>
<BODY>
 Welcome to ITBZ
</BODY>
</HTML>

修改server.xml添加Host配置

 

<Host name="bjsxt.com"  appBase="webapps"
            unpackWARs="true"
autoDeploy="true">
        <Valve
className="org.apache.catalina.valves.Access
LogValve" directory="logs"
               prefix="localhost_access_log"
suffix=".txt"
               pattern="%h %l %u %t
&quot;%r&quot; %s %b" />
      </Host>
   <Host name="itbz.com"
appBase="webapps2"
            unpackWARs="true"
autoDeploy="true">
        <Valve
className="org.apache.catalina.valves.Access
LogValve" directory="logs"
               prefix="localhost_access_log"
suffix=".txt"
               pattern="%h %l %u %t
&quot;%r&quot; %s %b" />
      </Host>

修改windows的Host文件

 完成IP与域名的绑定

Host文件的位置

C:\Windows\System32\drivers\etc

修改内容

127.0.0.1 itbz.com
127.0.0.1 bjsxt.com
以上部分图片来源: https://www.itbaizhan.com/

标签:xml,文件,Tomcat,端口,连接器,组件
来源: https://www.cnblogs.com/chaplu/p/16045794.html