tomcat是虚拟机吗(jdk和tomcat的区别和联系)

本文目录
- jdk和tomcat的区别和联系
- 在tomcat启动的时候报找不到虚拟机的错误是因为
- Tomcat的功能是什么
- servlet与Tomcat的关系
- tomcat和虚拟机的关系
- 没有jdk环境,tomcat还是正常启动了
- TOMCAT虚拟机
- Docker和tomcat有什么关系呢
- tomcat一定要配置java环境吗
jdk和tomcat的区别和联系
联系:jdk可以在tomcat下运行,tomcat是jdk的编译工具。
一、指代不同
1、jdk:是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。
2、tomcat:是普通服务器,本身只支持html即普通网页。
二、功能不同
1、jdk:是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
2、tomcat:是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能。
三、特征不同
1、jdk:没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
2、tomcat:Tomcat本身也内含了一个HTTP服务器,也可以被视作一个单独的Web服务器。
参考资料来源:百度百科-apache tomcat
在tomcat启动的时候报找不到虚拟机的错误是因为
没有配置pat。根据查询《Linux操作系统应用》的知识点得知,tomcat是一个开源而且免费的jsp服务器,在开启的时候需要用户配置path,否则就会找不到虚拟机。
Tomcat的功能是什么
Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。
扩展资料:
Tomcat-配置虚拟主机
关于server.xml中“Host”这个元素,只有在设置虚拟主机的才需要修改。虚拟主机是一种在一个web服务器上服务多个域名的机制,对每个域 名而言,都好象独享了整个主机。实际上,大多数的小型商务网站都是采用虚拟主机实现的,这主要是因为虚拟主机能直接连接到Internet并提供相应的带 宽,以保障合理的访问响应速度,另外虚拟主机还能提供一个稳定的固定IP。
基于名字的虚拟主机可以被建立在任何web服务器上,建立的方法就是通过在域名服务器(DNS)上建立IP地址的别名,并且告诉web服务器把去往不同域 名的请求分发到相应的网页目录。
servlet与Tomcat的关系
当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持Servlet。实际上,除了Apache,其他许多Web服务器软件都不能直接支持Servlet。为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎(Servlet Engine)。它是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应,它在Servlet的生命周期内包容和管理Servlet,是一个实时运行的外壳程序。运行时由Web服务器软件处理一般请求,并把Servlet调用传递给“容器”来处理。Tomcat就是满足这种需要的JSP/Servlet引擎,是Sun公司的JSP/Servlet的官方实现。
按照工作模式的不同,Servlet容器可以分为以下3类:
1.独立运行的Servlet容器
在这种模式下,Servlet容器作为构成Web服务器的一部分而存在。当使用基于Java的Web服务器时,就属于这种情况。这种方式是Tomcat的默认模式,然而大多数Web服务器并不是基于Java的,所以就产生了下面的两种其他类型。
2.内置的Servlet容器
Servlet容器由Web服务器插件和Java容器两部分组成。采用这种方式时,Web服务器插件需要在某个Web服务器内部地址空间中打开一个JVM(Java虚拟机),在此JVM上加载Java容器并运行Servlet。如果客户端调用Servlet,Web服务器插件首先获得此请求的控制并将它传递(使用JNI技术)给Java容器,然后Java容器把此请求交给Servlet来处理。这种方式运行速度较快,并且能够提供良好的性能,适用于单进程、多线程服务器,但是在伸缩性方面存在不足。
3.外置的Servlet容器
采用这种方式时,Servlet容器运行在Web服务器外部地址空间。先由Web服务器插件在某个Web服务器外部地址空间打开一个JVM(Java虚拟机),然后加载Java容器来运行Servlet。Web服务器插件和JVM之间使用IPC(进程间通信)机制(通常是TCP/IPSockets)。如果客户端调用Servlet,Web服务器插件首先获得此请求的控制并将它传递(使用IPCs技术)给Java容器,然后Java容器把此请求交给Servlet来处理。这种方式对客户端请求的处理速度不如内置Servlet那样快,但是在其他方面(如可伸缩性、稳定性等)具有优势。
Tomcat属于Servlet容器,其工作模式也分为上述3种,所以Tomcat既可被用作独立运行的Servlet引擎(便于开发和调试),又可作为一个需要增强功能的Web服务器(如当前的Apache、IIS和Netscape服务器)插件。在配置Tomcat之前,就需要确定采用哪种工作模式,工作模式(1)比较简单,直接安装Tomcat即可,工作模式(2)和(3)有些复杂,除了安装Tomcat、Web服务器之外,还需要安装连接两者的中间连接件。
【专家提示】在本书中,如果没有特殊说明,Tomcat运行都采用独立运行的Servlet容器 方式。
Java Servlet API是Servlet容器和Servlet之间的接口,它定义了Servlet的各种方法,还定义了Servlet容器传送给Servlet的对象类,其中最重要的是请求对象ServletRequest和响应对象ServletResponse。这两个对象都是由Servlet容器在客户端调用Servlet时产生的,Servlet容器把客户请求信息封装在ServletRequest对象中,然后把这两个对象都传送给要调用的Servlet,Servlet处理完后把响应结果写入ServletResponse,然后由Servlet容器把响应结果发送到客户端。
tomcat和虚拟机的关系
tomcat容器的启动离不开JVM。
查询CSDN博客得知:tomcat,apache免费开源的web应用服务器,通过java语言编写,换句话说:tomcat亦是一个java应用程序。tomcat容器的启动离不开JVM。
没有jdk环境,tomcat还是正常启动了
没有JDK环境,Tomcat无法正常运行。
Tomcat是一个JavaWeb应用服务器,需要JDK环境来解析和执行Java类文件。JDK包含Java编译器和Java虚拟机,工具和类库是Tomcat运行所必需的。没有正确配置JDK环境,Tomcat将无法找到必要的工具和类库,导致无法正常启动和处理Web应用程序。高版本的Tomcat在第一次运行时会自动配置相关环境变量,这只是为方便安装和启动Tomcat,不能替代JDK环境的需求。确保Tomcat能够正常运行,需要先安装和配置正确的JDK环境,路径添加到系统的环境变量中。
TOMCAT虚拟机
本段TOMCAT+IIS配置方法
1)说明
我用的配置如下:Win2000 Professional + IIS 5.0(Win2000自带)+ Tomcat 3.1 binary release.
我使用的Tomcat 3.1是编译过的版本,在这个版本里面没有配置IIS和NT Service 的说明,但是在Tocmcat 3.2 source版里面有比较详细的帮助文件。根据这些帮助文件 可以顺利的把Tomcat作为插件插入IIS。
2)启动Tomcat
要启动Tomcat很简单,首先可以查看tomcat\bin\startup.bat文件,利用控制 面板里面的系统-》高级-》环境变量对话框,新建环境变量TOMCAT_HOME和JAVA _HOME,使它们各自指向TOMCAT和JDK的根目录即可。
***隐藏网址***
3)配置方法 下一步工作就是如何把Tomcat插入IIS,使二者协同工作。
主要分以下几个步骤:
1、在Windows注册表中创建一个新键: "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redire ctor\1.0"
2、在这个键中建立如下条目和字符串键值。 名称值extension_uri "/jakarta/isapi_redirect.dll"
(不要改动)
log_file 指定你的log文件路径,例如"d:\tomcat\isapi.log"。
log_level "debug","inform","error", "emerg"4个中任选一个
worker_file workers.properties文件的路径, 例如:\tomcat\conf\workers.properties"
name worker_mount_fileand
uriworkermap.properties 文件的路径,例如"d:\tomcat\conf\uriworkermap.properties"
(其实3.2中带了一个xxxxx.reg.auto的文件,把这个文件里面的内容按照自己的实际情况修改一下,把文件名改为xxxx.reg,然后双击这个文件就行了)
3、打开IIS管理器,在“默认WEB站点”中建立一个虚拟目录jakarta,让它的路径指向isapi_redirect.dll所在目录。
(在3.1 bin中可能没有这个dll,你可以从3.2 的bin\iis\nt4\i386目录中拷贝一个过来。该虚拟目录应被设置为“可执行”。 )
4、利用IIS管理器,把isapi_redirect.dll设置为“默认WEB站点”的ISAPI筛选器, 名称可以任起。
5、重启IIS,确认刚才添加的ISAPI筛选器前面标了一个绿色向上的箭头 然后重启Tomcat(执行tomcat\bin\shutdown.bat可关闭Tomcat) 此时,IIS应该已经可以处理*.jsp文件了。
由于Tomcat设置中,默认的Root是 tomcat\webapps\ROOT,
***隐藏网址***
如果按照上面的方法还是无法使IIS处理jsp文件,可以尝试在IIS管理器-》 默认WEB站点属性-》主目录-》配置中添加一个“应用程序映射”,把*.jsp文件 映射到isapi_redirect.dll上。
4)作为NT service 作为NT service的设置比较简单。
首先从3.2拷贝过来jk_nt_service.exe,然后把下面的内容保存起来,起名为wrapper.properties
#
# $Header: /home/cvs/jakarta-tomcat/src/etc/wrapper.properties,v 1.1
#2000/05/03 11:54:49 shachor Exp $
# $Revision: 1.1 $
# $Date: 2000/05/03 11:54:49 $
#
#
# jk_service.properties - a bootstrup file for the Tomcat NT service.
#
# This file provides jk_nt_service with the needed information to
# start tomcat at a different process.
#
# As a general note, the characters $( and ) are used internally to define
# macros. Do not use them!!!
#
# Whenever you see a set of lines such as:
# x=value
# y=$(x)\something
#
# the final value for y will be value\something
#
# Normaly all you will need to modify is the first two properties, i.e.
# wrapper.tomcat_home and wrapper.java_home. Most of the configuration
# is derived from these two.
#
#
# wrapper.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
# wrapper.tomcat_home=d:\tomcat #
# wrapper.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
# wrapper.java_home=d:\JBuilder35\jdk1.2.2
# #------ ADVANCED MODE ------------------------------------------------
# Make sure that you read the how-to before making too many changes. #------
---------------------------------------------------------------
#
#
# Defining where the service is going to put the standard
# output of Tomcat. This is where System.out.println and
# System.err.println goes to.
# wrapper.stdout=$(wrapper.tomcat_home)\jvm.stdout wrapper.stderr=$(wrapper.
tomcat_home)\jvm.stderr
#
# Additions to the path. put here directories where you store DLLs for
# native methods etc.
# wrapper.ld_path=d:\ wrapper.ld_path=c:\
#
# Defining the classpath. All the rows that belongs to the class_path
# property are concatenated to create the classpath for Tomcat.
#
# If you have additional locations that you would like to add to the
# claspath you should add a new wrapper.class_path=《location》 line.
# wrapper.class_path=$(wrapper.tomcat_home)\classes wrapper.class_path=$(wrapper.tomcat_home)\lib\xml.jar wrapper.class_path=$(wrapper.tomcat_home)\lib\
webserver.jar wrapper.class_path=$(wrapper.tomcat_home)\lib\servlet.jar wrap
per.class_path=$(wrapper.tomcat_home)\lib\jasper.jar
#
# This is where Javac is located in JDK1.2.x # wrapper.class_path=$(wrapper.java_home)\lib\tools.jar
#
# and a tribute
to JDK1.1.x # wrapper.class_path=$(wrapper.java_home)\lib\classes.zip
#
# This is the Java interpreter used for running Tomcat
# wrapper.javabin=$(wrapper.java_home)\bin\java.exe
#
# This is Tomcat’s startup class (the class that contains Tomcat’s
# starting point.
# wrapper.startup_class=org.apache.tomcat.startup.Tomcat
#
# This is the location where tomcat’s server.xml configuration file
# is located.
# wrapper.server_xml=$(wrapper.tomcat_home)\conf\server.xml
#
# The NT service uses AJP12 to shutdown Tomcat. The wrapper.shutdown_port
# tells the service the identity of the port that is used by AJP12.
# wrapper.shutdown_port=8007
#
# This is the command line that is used to start Tomcat. You can *add* extra
# parameters to it but you can not remove anything.
# wrapper.cmd_line=$(wrapper.javabin) -classpath $(wrapper.class_path)$(wrapp er.startup_class) -config $(wrapper.server_xml) -home $(wrapper.tomcat_home)
保存后,只需修改里面的wrapper.tomcat_home和wrapper.java_home,使它们各自指向tomcat根目录和JDK根目录即可。
然后运行jk_nt_service -I 《服务名称》 《wrapper.properties的路径》服务名称可以随便起,例如tomcat或者jakarta等等都行。
wrapper.pro perties的路径应为完整路径(包括wrapper.properties这个文件名)
示例:jk_nt_service -I Jakarta d:\wrapper.properties 这样在控制面板-》服务里面,我们可以看到一个名为Jakarta的服务,
可以 在这里启动或者中止它。
总结:
对于TOMCAT+IIS配置方法给出了详细的说明。
Docker和tomcat有什么关系呢
两者不是同一种类型。
1、docker 是容器,tomcat是jsp应用服务器
2、tomcat可以安装在物理机上,虚拟机上,也可以安装在Docker上。所以从这个角度讲,Docker也可以看做是一种超轻量化的虚拟机。
3、Docker可以安装在物理机,虚拟机上,但不知道Docker上面是否可以再安装Docker,我觉得理论上应该可以。
4、Docker作为超轻量级的平台,可以整体移植,这也是它流行的其中一个原因。
tomcat一定要配置java环境吗
准确的讲,tomcat运行需要jvm(java虚拟机),因此,只要为tomcat指定好jre(路径),就可以启动运行。至于配置或者不配置java环境变量,就无关紧要了。配置java环境变量,仅仅是为了告诉操作系统你安装了java,可以通过操作系统启动jvm而已。

更多文章:
越南跨境电商平台(东南亚跨境电商独角兽的shopee运营成功的关键因素是什么)
2026年10月11日 21:10
花生壳怎么做端口映射(路由器端口映射 内部端口 外部端口怎么设)
2026年10月11日 11:20
乌克兰的代表性动物是什么(主要国家的标志性建筑和代表性动物)
2026年10月11日 10:10
双色球浙江风采超长版2005(2005年浙江超长版双色球走势图)
2026年10月11日 03:20
深圳龙华人民医院疑似病例(西安新增2例确诊1例初筛阳性,当地针对此情况采取了哪些措施)
2026年10月11日 02:40




