1.2.3IDE 启动
在项目开发过程中,我们经常需要将服务器集成到IDE中,以便直接将工程发布到服务器环 境并启动,从而进行系统调试。
下面将详细展示如何将Tomcat集成到IDE (以Eclipse为例)并启动。

第一步,在Eclipse中添加Tomcat的运行环境。选择Windows —+ Preferences,弹出Preferences 对话框,如图1-2所示。

选择Server —> Runtime Environments,显示当前已经安装的服务器运行环境。点击“Add”, 弹出添加服务器运行环境对话框,如图1・3所示。(图1-3添加服务器运行环境对话框)

选择Apache —Apache Tomcat v8.0,点击"Next”,显75如图1-4所示(图1-4新建服务器对话框)。

点击"Browse"选择Tomcat的安装根目录,点击uFinish,,完成添加服务器运行环境。

第二步,新建服务器配置。选择File - New - Other弹出新建对话框,然后选择Server 一 Server,如图1-5所示。(图1-5新建服务器配置对话框)

点击“Next”,如图1-6所示。

选中"Tomcat v8.0 Server”,并且在 uServer runtime environment,, 中选择我们第一步新建的 Tomcat运行环境。

点击“Next”,如图1-7所示,选择需要部署的Web工程,点击“Finish”完成新建工作。(图1-7选择项目)

除了在添加服务器时指定部署包(如图1-7所示),还可以在Servers视图中选择服务器,右键 点击"Add and Remove”弹出应用选择对话框进行添加。
第三步,选择Window —> Show View-Servers,打开Servers视图,显示当前已经添加的服务器 列表,如图1-8所ZK。

选中服务器,点击“Debug/Run”运行Tomcat,启动日志信息将同步输出到Eclipse的控制台 中,如图1.9所示。

双击Servers视图中的服务器,将会打开服务器配置界面,可通过该界面修改Tomcat的端口号 以及超时时间等信息,如图1-10所示。(图1-10服务器配置界面)

如果希望修改Tomcat启动配置,可以打开运行配置对话框进行编辑,如图1-11所示。

1.2.4嵌入式启动
除了上述启动方式之外,我们还可以将Tomcat嵌入到应用程序中,作为应用程序提供网络服 务的组件使用。这主要考虑到如下几个应用场景。
□系统以安装包的形式独立提供。此时,不再适合将应用系统以WAR包的形式发布到应用 服务器,而是将应用服务器(甚至JRE)集成到系统当中再统一发布。这样可以为客户提 供一站式的安装体验,简化系统安装部署,提高系统的易用性。
□为了满足PAAS环境下应用的研发、交付、管理,近两年业界提出了微服务(Microservice ) 架构①以及十二要素应用(The Twelve-Factor App )气这两者均要求应用是自包含的 (self-contained ),也就是说完全不依赖于一个应用服务器运行环境,而是通过绑定一个端 口将HTTP导出为服务,以监听请求。此种情况下,将Tomcat作为处理HTTP请求的组件 集成到应用中是个不错的选择。(当然,另外可选择的方案是Jetty。)SpringBootflE架同时 支持釆用Tomcat和Jetty作为导岀HTTP服务的组件。
后续章节将详细介绍如何以嵌入的方式启动Tomcato。
① 微服务架构:Martin Fowler的一篇文章(http://martinfowler.com/articles/microservices.html)详细介绍%e8%af%a6%e7%bb%86%e4%bb%8b%e7%bb%8d) 了微服务的概 念。Spring Framework通过子项目Spring Boot支持快速构建微服务应用。

② 十二要素应用:Adam Wiggins于2012年发布了 “十二要素应用宣言”,旨在为构建SAAS应用提供一套方法论。通 过使用标准化流程自动配置,以降低学习成本。与操作系统之间尽可能划清界限,确保应用的最大可移植性。

适合将应用部署到现代的云计算平台,从而在服务器和系统管理方面节省资源。将开发环境和生产环境的差异 降至最低,并使用持续交付实施敏捷开发。可以在工具、架构和开发流程不发生明显变化的前提下实现扩展- 具体参见 http://12factor.net/ 0

1.2.5 Debug 启动
在项目发布之后,我们有时候需要对基于生产环境部署的应用进行调试,以解决在开发环境 无法重现的BUG。这时我们便用到了应用服务器的远程调试功能,这主要依赖于JDK提供的 JPDA1 ( Java Platform Debugger Architecture, Java平台调试体系结构)。在绝大多数情况下,我 们并不需要接触JPDA的相关API,仅需要对服务器和IDE做相关的配置即可。
以调试模式启动Tomcat非常简单,只需要在命令行执行如下命令(以Windows为例,Linux 类似):
C:apache-tomcat-8.5.6bin>catalina jpda start
此时,我们会在Tomcat的启动控制台看到如下日志:
Listening for transport dt_socket at address: 8000
当Tomcat以调试模式启动后,我们还需要一个调试前端来进行具体的功能调试。由于现代IDE 均已提供了远程调试功能的集成,因此我们可以很容易将其作为前端进行远程调试。
以Eclipse为例,选中需要远程调试的项目,点击"DebugConfigurations",弹出Debug配置对 话框。选择“Remote Java Application",右键"New”,创建远程调试。填写需要调试的Tomcat 的主机以及端口,点击“Debug”即启动远程调试。

① JPDA:具体参见http://docs.oracle.eom/javase/8/docs/technotes/guidesJpda/architecture.htmlo

对于Tomcat,默认的调试端口为8000,我们可以通过设置JPDA_ADDRESS环境蚤量来指定其他端 口。(当然,你也可以直接修改catalina.bat和catalina.sh文件,尽管这种方式对应用服务器有侵入。)

1.3 Tomcat目录结构
接下来我们简单介绍一下Tomcat的目录结构,以方便读者能够对Tomcat的基本结构有个初步 认识,也有利于后续章节的深入讲解。
Tomcat的目录结构及主要文件如表1-2所示。

1.4 Tomcat 8.5之后的新特性
在本章的最后,我们扼要说明一下Tomcat 8.5之后的新特性,以使读者有个初步的认识,这 些新特性在后续章节中会详细讲解。
□自8.0版本开始,Tomcat支持Servlet3.1 , JSP2.3、EL3.0> WebSocket 1.1;并且自9.0版本 开始支持Servlet 4.0。
□为了让用户提前体验Servlet 4.0的新特性,在8.5版本中,Tomcat提供了一套Servlet 4.0预览 API ( servlet4preview,它们并不属于规范,而是Tomcat的一部分,也不会包含到9.0版本 当中)。
□自8.0版本开始,默认的HTTP、AJP链接器采用NIO,而非Tomcat7以及之前版本的BIO; 并且自8.5开始,Tomcat移除了对BIO的支持。
口在8.0版本中,Tomcat提供了一套全新的资源实现,采用单独、一致的方法配置Web应用 的附加资源,以替代原有的Aliases. VirtualLoader、VirtualDirContext、JARO新的资源方 案可以用于实现覆盖。例如可以将一个WAR作为多个Web应用的基础,同时这些Web应用 各自拥有自己的定制功能。
□自8.0版本开始,链接器新增支持JDK 7的NIO2。
□自8.0版本开始,链接器新增支持HTTP/2协议。
□默认釆用异步日志处理方式。
除了新增功能,Tomcat8.5也进行了大量的代码重构。在讲解相关组件时,与旧版本(Tomcat7) 相比发生了显著变更的地方,我们会进行补充说明。1.5小结
本章简单介绍了Tomcat的历史及现状,讲解了如何安装启动Tomcat服务器以及在Tomcat环境 下部署Web应用。此外,还介绍了Tomcat的目录结构及其核心文件,使读者能够对Tomcat有个基 本的认识。最后,列举了Tomcat 8.5之后的几项新特性。
从下一章开始,我们将开始重点讲解Tomcat的架构及其组件相关知识,对Tomcat进行详细解 构,以使读者能够深入理解Tomcat的架构设计以及相关的组件特性、工作原理。
下一章主要侧重于Tomcat的总体架构:主要的设计方式、启动过程、请求处理过程以及Tomcat 的类加载机制。

介绍部分终于完结啦,持续更,每天学习一点点,慢慢来,加油~

提前getPDF文档:Java学习、面试;文档、视频资源免费获取

tomcat历史版本新特性_Tomcat介绍(三)完结,即将进入正文相关推荐

  1. tomcat历史版本新特性_tomcat升级后报错RFC 7230 and RFC 3986

    将皕杰报表demoserver中的演示项目report部署到tomcat8最新版本后,当访问报表的URL中含有中文时,访问报表报错如下: 十一月 11, 2019 2:38:58 下午 org.apa ...

  2. tomcat历史版本新特性_OBS V26大版本新特性简介

    9月底10月初OBS又双叒更新了,大版本来到了V26, 这一次又增加了不少实用功能.今天就给大家逐一介绍一下V26版本的主要功能,原文链接如下: https://github.com/obsproje ...

  3. java历史版本新特性

    已经到java17,java的发展真快的,java敢说第二,没人敢说第一啊,very hot. JDK JDK 全称 Java Development Kit,是 Java 开发环境.我们通常所说的 ...

  4. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  5. Go 1.18 版本新特性详解!

    导语 | 本文推选自腾讯云开发者社区-[技思广益 · 腾讯技术人原创集]专栏.该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口.栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启 ...

  6. Android Q(10.0 API29)版本新特性和兼容性适配

    摘要 1.本文档基于谷歌AndroidQ官方文档和一加Q版本应用兼容性整改指导 2.本文档主要对影响比较大的部分进行简单总结,内容并不全面: 3.版本号对应关系: Android-Q = Androi ...

  7. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  8. Android Q(10.0)版本新特性和兼容性适配

    北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了.Android Q 为开发者们带来了许多新 ...

  9. iOS10.3新特性图文介绍

    iOS10.3有哪些新特性?这是很多苹果用户关心的问题,那么下面小编就为大家带来iOS10.3新特性图文介绍,大家一起来看看吧! 1.新增查找我的AirPods功能 苹果为iOS 10.3加入查找Ai ...

  10. Redis 6.0 新特性 ACL 介绍

    Redis 6.0 新特性 ACL 介绍 Intro 在 Redis 6.0 中引入了 ACL(Access Control List) 的支持,在此前的版本中 Redis 中是没有用户的概念的,其实 ...

最新文章

  1. mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)
  2. Android中关于SQLite数据库的一些知识
  3. javascript rsa java,用javascript与java执行 RSA加密与解密
  4. 文本挖掘(part2)--分词
  5. iOS 两个tableview的 瀑布流
  6. Eclipse中如何更改字体大小?
  7. JavaScript数据结构——队列(Queue)
  8. Linux编译和下载嵌入式实验,嵌入式实验6交叉编译及Linux简单程序设计实验
  9. 【渝粤教育】电大中专药物化学基础作业 题库
  10. 凸优化学习笔记(五):凸优化算法、无约束优化算法、有约束优化算法
  11. HBuilderX里面创建项目时没有模板解决方案
  12. SXF 安全服务一面
  13. 2016年总结与2017展望
  14. HTML meta标签使用介绍
  15. 2021/10/15 考试总结
  16. 【数据结构】二叉树(Binary Tree)
  17. 网际传输协议和传输控制协议(IP,TCP,IP)
  18. 新品项目交付频繁 猿团开启APP快速开发新模式
  19. android电视盒子软件安装,安卓电视怎么安装软件 智能电视软件安装方法教程
  20. java 图形用户界面

热门文章

  1. 基于python下django框架 实现闲置物品二手跳蚤市场交易系统详细设计
  2. android qq输入法表情,QQ输入法-问题反馈
  3. Trend Micro officescan隔离删除文件恢复
  4. 感染暴风一号u盘病毒的解决办法
  5. Ubuntu 18.04 安装搜狗拼音 2022年版 Install sogou pinyin in Ubuntu 18.04 in 2022
  6. php ddos 防御,PHP DDos的几个防御方法
  7. 想安装win10需要等推送?简单一步就搞定了!
  8. 技嘉Z370 HD3P + i7-8700K + GTX1080 装黑苹果 High Sierra 10.13.6
  9. PIE Engine系列1 遥感数据下载器的实现(含源码)
  10. 3年才能驾驭新技术,不如试试这个低代码魔方