tomcat配置url跳转_Tomcat

Tomcat介绍

499ba4559f68033245e7cb3d8084ae10.png

1.Web服务器介绍 Web服务器可以解析HTTP协议,收到请求后可以进行响应,比如响应静态资源、进行页面跳转等 Web服务器响应可委托给CGI脚本、JSP脚本、ASP脚本、服务器端JS等程序或其它服务器端技术 Web服务器通常产生一个html响应以便浏览器浏览 2.常见Web服务器 Web服务器根据对JavaEE的支持程度分为JavaEE服务器以及Web容器 JavaEE服务器
  • 包括WebSphere、WebLogic、JBoss、Geronimo等
  • 特点是重量级、对JavaEE技术规范支持比较全面、功能强大
Web容器(Servlet/JSP容器)
  • 包括Tomcat、Jetty等
  • 仅对Servlet、JSP进行支持,并不支持所有JavaEE技术规范
  • 特点是轻量级、速度快、开源免费
3.Tomcat概述 Tomcat是官方推荐的Servlet/JSP容器 Servlet/JSP的最新规范都可以在Tomcat的新版本中得到实现 4.Tomcat目录

79c424c4fbed869ac17e96de0b0a87a3.png

webapps下有一个ROOT目录,无需在URL加上项目名即可访问其内的资源 Tomcat的下载与安装

499ba4559f68033245e7cb3d8084ae10.png

1.Tomcat的下载与安装 在Tomcat官网 https://tomcat.apache.org/ 根据自己的JDK的版本选择Tomcat并下载

5e3b09f261c702a354a6ec14a449a3f7.png

直接解压安装 2.Tomcat环境变量配置 新建CATALINA_HOME环境变量,变量值为Tomcat的解压安装位置 新建CATALINA_BASE环境变量,变量值默认与CATALINA_HOME一致,可选 在Path环境变量中追加如下配置
%CATALINA_HOME%\bin和%CATALINA_HOME%\lib
在DOS命令行中输入startup并回车,启动Tomcat 在浏览器中输入localhost:8080并回车,Tomcat安装成功则出现以下页面

f412ea84fd2a99464e618dbc1d68b087.png

关闭Tomcat窗体或直接ctrl+c即可终止Tomcat服务器 3.IDEA中Tomcat的配置 打开File->Settings->Build, Execution, Deployment->Application Servers,点击加号

a9008eca0b8ed5f58b101ecf7b238598.png

选择Tomcat Server

6cdac8fcaa31d1ed12e99040545da265.png

Tomcat环境变量设置好之后,Tomcat Home和Tomcat base directory会被自动填好,点击确认

0ffd51656c9940a8399343c1a14c4641.png

这样就在IDEA中配置好了Tomcat

2190580ab90b33ab571633afa8d6f2b6.png

server.xml配置文件

499ba4559f68033245e7cb3d8084ae10.png

1.server.xml配置文件概述 server.xml位于Tomcat安装目录下的conf目录下,是Tomcat的主配置文件 server.xml提供Tomcat组件的初始配置 server.xml说明了Tomcat的结构,使Tomcat通过实例化组件完成自身构建以及启动 可以在Tomcat安装目录的webapps\docs\config下查看server.xml配置说明 2.server.xml配置详解 Server
  • port:监听关闭Tomcat请求的端口
  • shutdown:关闭Tomcat请求需要向监听端口发送的命令字符串
Service
  • name:service的名字
Connector(表示客户端和Service之间的连接,以HTTP/1.1Connector为例,HTTP/2、AJP有所不同)
  • port:服务器监听客户端请求的端口号
  • minProcessors:服务器启动时创建用于处理请求的线程数
  • maxProcessors:可以创建用于处理请求的最大线程数
  • enableLookups:
    • true:可调用request.getRemoteHost()进行DNS查询,得到远程客户端的实际主机名
    • false:不进行DNS查询,直接返回IP地址
    • redirectPort:服务器正在处理HTTP请求时收到一个SSL传输请求后重定向的端口号
    • acceptCount:所有可使用的处理请求线程数都被使用时,可以放到处理队列中的请求数,请求超过这个数则不予处理
    • connectionTimeout:连接超时时间,以毫秒为单位
Engine(表示Service中用于接收和处理来自Connector请求的处理机)
  • defaultHost:指定缺省的请求处理主机名,至少与一个Host元素的name属性一致
Context(表示一个Web应用程序)
  • docBase:应用程序路径或War包路径
  • path:Web应用程序URL的前缀
  • reloadable:设置为true,则可以自动装载新应用程序而无需重启
Host(表示一个虚拟主机)
  • name:主机名
  • appBase:存放应用程序的目录
  • unpackWARS
    • true:Tomcat自动将War包解压
    • false:直接从War包中运行应用程序
Realm(表示存放用户名、密码及role的数据库)
  • className:指定Realm使用的类名,该类须实现org.apache.catalina.Realm接口
Valve(表示记录应用程序的访问信息的日志)
  • className:指定Valve使用的类名,该类须实现org.apache.catalina.AccessLogValve接口
web.xml配置文件

499ba4559f68033245e7cb3d8084ae10.png

1.web.xml配置文件概述 web.xml包含了描述整个Web应用程序的信息 可以在Tomcat安装目录的webapps\docs\appdev下找到web.xml.txt,查看详细配置说明 2.web.xml配置文件部分配置 设置欢迎页面,应用程序响应第一个可以找到的欢迎页面
<welcome-file-list>    <welcome-file>欢迎页面1welcome-file>    <welcome-file>欢迎页面2welcome-file>    <welcome-file>欢迎页面3welcome-file>    ...welcome-file-list>
设置报错页面
<error-page>    <error-code>HTTP响应状态码error-code>    <location>报错页面路径location>error-page><error-page>    <exception-type>异常类全类名exception-type>    <location>报错页面路径location>error-page>
设置Session过期时间,单位为分钟
<session-config>    <session-timeout>Session过期时间session-timeout>session-config>
Tomcat部署项目

499ba4559f68033245e7cb3d8084ae10.png

1.静态部署 方式一: webapps目录是Tomcat默认的应用目录,服务器启动时会加载这个目录下所有的应用 可以将Web项目拷贝到webapps目录下进行部署 方式二: War包是具有特殊格式的Jar包,是将一个Web项目中所有内容进行压缩得到 可以通过DOS命令行或IDEA将项目打成War包然后将War包放到webapps目录下进行部署 方式三: 在server.xml配置文件Host元素后面配置应用程序的Context配置
<Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
方式四: 在Tomcat安装目录的conf下找到或新建Catalina目录 在Catalina目录下找到或新建名称为Web项目所在服务器域名的目录,本地则为localhost 新建一个xml文件,名称需要与Web应用程序URL的前缀一致 该xml内容如下
<?xml version="1.0" encoding="UTF-8"?><Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
5.动态部署(热部署) Tomcat提供了admin和manager两个管理程序 admin用于管理和配置Tomcat服务器 manager用于管理Tomcat服务器上的应用程序 Tomcat中manager四种角色如下
  • manager-gui
    • allows access to the HTML GUI and the status pages
    • 允许访问html接口(即URL路径为/manager/html/*)
  • manager-script
    • allows access to the text interface and the status pages
    • 允许访问纯文本接口(即URL路径为/manager/text/*)
  • manager-jmx
    • allows access to the JMX proxy and the status pages
    • 允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
  • manager-status
    • allows access to the status pages only
    • 允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
在Tomcat安装目录的conf目录tomcat-user.xml配置文件中添加角色和用户,方式如下
<tomcat-users>    <role rolename="角色1"/>    <role rolename="角色2"/>    ...    <user username="用户1" password="用户1密码" roles="角色1,角色2..."/>    <user username="用户2" password="用户2密码" roles="角色1,角色2..."/>    ...tomcat-users>
重启Tomcat后登录Tomcat管理控制台http://localhost:8080/ ,点击Manager App

f826beb075c9389593f057a6384dd5e8.png

在弹出框输入配置的用户名和密码,进入Tomcat应用程序管理者页面

5e29f0bbdbe3e4ab25e145826340e1e1.png

通过填写Web项目信息,或者直接上传War包进行部署

669b0540f2882f6e372724a76f14bf27.png

Tomcat架构解析

499ba4559f68033245e7cb3d8084ae10.png

1.Tomcat体系结构

eb3a136cdc33ffb66ec5639836823793.png

2.Connector Connector是Tomcat的两大核心组件之一 Connector最重要的功能就是接收请求并分配线程然后让Container进行请求处理 Connector的设计核心理念是多线程的处理 Tomcat有两个经典的Connector,一个侦听浏览器HTTP请求,一个侦听其它WebServer的请求 Connector处理请求步骤
  • 在指定的端口上侦听并接收浏览器发来的TCP连接请求
  • 接收请求后创建用于交换数据的Request以及Response对象
  • 创建线程处理请求并将Request和Response对象传给Engine
  • 从Engine获取响应并返回给客户端
3.Container Container是Tomcat的两大核心组件之一,一个Container可对应多个Connector Contaiiner是容器的父类,由Engine、Host、Context、Wrapper四种容器组件构成

6deec89fe83f56abe66b083e7b836143.png

Wrapper
  • 通常一个Servlet类对应一个Wrapper
  • 如有多个Servlet就定义多个Wrapper
Context
  • 如有多个Wrapper就要定义一个更高级的Container,比如Context
  • Context定义在父容器Host中
Host
  • Host不是必需的
  • 运行War包必须要Host,因为War包里面的web.xml文件解析需要Host
Engine
  • 如有多个Host就要定义一个顶层容器Engine
  • Engine没有父容器,一个Engine代表一个完整的Servlet引擎
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值