Tomcat 是一个小型轻量级应用服务器,集成了Apache和Tomcat:如果客户端请求静态页面,只需要Apache服务器响应请求;如果客户端请求动态页面,
然后Tomcat服务器响应请求;因为jsp在服务器端解释代码,这样的集成可以减少Tomcat的服务开销。广泛应用于中小型系统和并发用户不多的场合,是开发调试JSP程序的首选。
另外,全新的tomcat10作为Servlet容器,有三种工作模式。第一种是独立的Servlet容器,软件可以作为独立的Web服务器独立运行。
Servlet容器组件作为Web服务器的一部分存在,这是软件默认的工作模式。第二个是其他Web服务器进程中的Servlet容器。在这种模式下,
该软件分为两部分:Web服务器插件和Servlet容器组件。Web服务器组件获取用户的请求,并使用JNI通信机制将其发送给Servlet容器组件。其中JNI指Java本地调用接口,
Java程序可以与用其他语言编写的本地程序通信。第三个是其他Web服务器进程之外的Servlet容器。在这种模式下,软件分为两部分:Web服务器组件和Servlet容器组件。
Web服务器获取用户请求,并通过IPC通信机制将其发送给Servlet容器组件。
软件亮点
1.小巧实用的轻量级应用服务器。
2.广泛应用于中小型系统和并发用户不多的场合。
3.它是开发和调试JSP程序的首选。
4.它是Apache服务器的一个展览,但它是独立运行的。
5.当您运行tomcat时,它实际上是作为一个独立于Apache的进程运行的。
tomcat10配置教程
在验证配置时,首先需要安装和配置jdk。jdk配置成功后,可以进行下一步操作。
1.解压下载的tomcat.rar文件,放在“D:\”中,找到安装路径,是D: \ Apache-Tomcat-10.xx
2.配置环境变量
右键单击这台电脑,选择属性,然后单击高级系统设置-环境变量。
将以下变量添加到系统变量中
在环境变量下点击“新建”创建一个新的系统变量CATALINA_HOME,在“变量值”中填写解压后文件的路径。
将talina _ home% \ lib和talina _ home% \ bin添加到path变量中,注意要添加“;”,同时需要注意的是,这个分号是英文的。
3.配置完环境变量后,在安装路径中启动tomcat服务。
浏览器地址栏是http://localhost:8080。如果tomcat示例主页出现,则意味着服务器已经成功安装!
Apache+Tomcat整合的好处
1.apache主要用于解析静态文本,比如html。虽然tomcat也有这个功能,但是apache可以大大提高效率,对于大并发的企业应用更能体现Apache的效率;
2. Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,
apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者现实整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,
提高系统的性能!而且因为JSP是服务器端解释代码的,这样整合可以减少Tomcat的服务开销。
Tomcat10新特性
1、局部变量的类型推
Java开始引用像脚本语言JavaScript中的var类型(弱类型),允许你通过var定义任何类型的变量。
2、应用类数据共享(CDS)
CDS 在JDK5 时被引进以改善JVM 启动的表现,同时减少当多个虚拟机在同一个物理或虚拟的机器上运行时的资源占用。
JDK10 将扩展CDS 到允许内部系统的类加载器、内部平台的类加载器和自定义类加载器来加载获得的类。之前,CDS 的使用仅仅限制在了bootstrap 的类加载器。
3、额外的Unicode 语言标签扩展
这将改善java.util.Locale 类和相关的API 以实现额外BCP47 语言标签的Unicode 扩展。尤其是,货币类型,一周的第一天,区域覆盖和时区等标签现在将被支持。
4、根证书
在JDK 中将提供一套默认的CA 根证书。关键的安全部件,如TLS ,在OpenJDK 构建中将默认有效。
这是Oracle 正在努力确保OpenJDK 二进制和Oracle JDK 二进制功能上一样的工作的一部分,是一项有用的补充内容。
5、并行全垃圾回收器G1
G1 是设计来作为一种低延时的垃圾回收器(但是如果它跟不上旧的堆碎片产生的提升速率的话,将仍然采用完整压缩集合)。在JDK9 之前,默认的收集器是并行,吞吐,收集器。
为了减少在使用默认的收集器的应用性能配置文件的差异,G1 现在有一个并行完整收集机制。
6、移除Native-Header 自动生成工具
Java9 开始了一些对JDK 的家务管理,这项特性是对它的延续。当编译JNI 代码时,已不再需要单独的工具来生成头文件,因为这可以通过javac 完成。在未来的某一时刻,
JNI 将会被Panama 项目的结果取代,但是何时发生还不清楚。
7、垃圾回收器接口
这不是让开发者用来控制垃圾回收的接口;而是一个在JVM 源代码中的允许另外的垃圾回收器快速方便的集成的接口。
8、线程-局部变量管控
这是在JVM 内部相当低级别的更改,现在将允许在不运行全局虚拟机安全点的情况下实现线程回调。这将使得停止单个线程变得可能和便宜,而不是只能启用或停止所有线程。
9、在备用存储装置上的堆分配
硬件技术在持续进化,现在可以使用与传统DRAM 具有相同接口和类似性能特点的非易失性RAM 。这项JEP 将使得JVM 能够使用适用于不同类型的存储机制的堆。
10、试验性的基于Java 的JIT 编译器
最近宣布的Metropolis 项目,提议用Java 重写大部分JVM 。乍一想,觉得很奇怪。如果JVM 是用Java 编写的,那么是否需要一个JVM 来运行JVM ? 相应的,
这导致了一个很好的镜像类比。 现实情况是,使用Java 编写JVM 并不意味着必须将其编译为字节码,你可以使用AOT 编译,然后在运行时编译代码以提高性能。
这项JEP 将Graal 编译器研究项目引入到JDK 中。并给将Metropolis 项目成为现实,使JVM 性能与当前C++ 所写版本匹敌(或有幸超越)提供基础。
11、合并JDK 多个代码仓库到一个单独的储存库中
在JDK9 中,有8 个仓库: root、corba、hotspot、jaxp、jaxws、jdk、langtools 和nashorn 。在JDK10 中这些将被合并为一个,
使得跨相互依赖的变更集的存储库运行atomic commit (原子提交)成为可能。
-
可以插原神人物的游戏手游 2025-10-12
-
仙剑奇侠传4结局官方解释?仙剑四结局深度解析 2025-10-12
-
lpl各战队主场城市 2025-10-12
-
魔兽世界怀旧服锻造分支怎么选择60年代分支选择推荐 2025-10-12
-
仙剑奇侠传4演员名单(仙剑奇侠传4四大主角) 2025-10-12
-
仙剑奇侠传4演员表曝光(仙剑奇侠传4人物详细信息) 2025-10-12