tomcat简介(TOmcat找不到应用程序)

      最后更新:2024-04-04 09:37:36 手机定位技术交流文章

      tomcat Setup安装问题?

      一:简介 tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http://java.sun.com/products/jsp/tomcat/),因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。二:安装及配置tomcat最新版本为4.0.1,这个版本用了一个新的servlet容器Catalina,完整的实现了servlet2.3和jsp1.2规范。注意安装之前你的系统必须安装了jdk1.2以上版本。(一):安装1:windows平台从tomcat网站下载jakarta-tomcat-4.0.1.exe,按照一般的windows程序安装步骤即可安装好tomcat,安装时它会自动寻找你的jdk和jre的位置。2:linux平台下载jakarta-tomcat-4.0.1.tar.gz,将其解压到一个目录。(二):配置运行tomcat需要设置JAVA_HOME变量set JAVA_HOME=c:/jdk (win98,在msdos方式下使用,或者放入autoexec.bat中)export JAVA_HOME=/usr/local/jdk (linux下使用,放到/etc/bashrc或者/etc/profile中)(三):运行设置完毕后就可以运行tomcat服务器了,进入tomcat的bin目录,win98下用startup启动tomcat,linux下用startup.sh,相应的关闭tomcat的命令为shutdown和shutdown.sh。启动后可以在浏览器中输入http://localhost:8080/测试,由于tomcat本身具有web服务器的功能,因此我们不必安装apache,当然其也可以与apache集成到一起,下面会介绍。下面你可以测试其自带的jsp和servlet示例。三:应用(一):目录结构tomcat的目录结构如下:目录名: 简介bin : 存放启动和关闭tomcat脚本conf : 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xmlwork : 存放jsp编译后产生的class文件webapp: 存放应用程序示例,以后你要部署的应用程序也要放到此目录logs : 存放日志文件lib/japser/common : 这三个目录主要存放tomcat所需的jar文件(二):server.xml配置简介下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档server:port 指定一个端口,这个端口负责监听关闭tomcat的请求shutdown 指定向端口发送的命令字符串service:name 指定service的名字Connector (表示客户端和service之间的连接):port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors 服务器启动时创建的处理请求的线程数maxProcessors 最大可以创建的处理请求的线程数enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理connectionTimeout 指定超时的时间数(以毫秒为单位)Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求):defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的Context (表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范):docBase 应用程序的路径或者是WAR文件存放的路径path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序host (表示一个虚拟主机):name 指定主机名appBase 应用程序基本目录,即存放应用程序的目录unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序Logger (表示日志,调试和错误信息):className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口prefix 指定log文件的前缀suffix 指定log文件的后缀timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txtRealm (表示存放用户名,密码及role的数据库):className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息directory 指定log文件存放的位置pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多注意:1:经过我测试,我设置Context 的path="",reloadable=true,然后放一个WAR文件到webapps目录,结果tomcat不能检测出此文件(重起tomcat可以),而把此文件解压,则tomcat会自动检测出这个新的应用程序。如果不能自动检测WAR文件,我们可以利用下面管理中讲的方法来部署应用程序。2:默认的server.xml中,Realm元素只设置了一个className属性,但此文件中也包含几个通过JDBC连接到数据库进行验证的示例(被注释掉了),通过Realm元素我们可以实现容器安全管理(Container Managed Security)。 3:还有一些元素我们没有介绍,如Parameter,loader,你可以通过tomcat的文档获取这些元素的信息。
      tomcat Setup安装问题?

      《tomcat架构解析》pdf下载在线阅读全文,求百度网盘云资源

      《tomcat架构解析》百度网盘pdf最新全集下载:链接:https://pan.baidu.com/s/16PAX7UxjEHLefMzlqLG9jA?pwd=j2x1 提取码:j2x1简介:Tomcat架构解析 基于Tomcat 8.5.x全面介绍了Tomcat的架构、各组件的实现方案以及使用方式,主要包括Tomcat的基础组件架构以及工作原理,Tomcat各组件的实现方案
      《tomcat架构解析》pdf下载在线阅读全文,求百度网盘云资源

      Tomcat工作原理解析

      本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解。主要有三大部分: 1.Tomcat的简介和启动过程2.Tomcat部署webapp3.Tomcat处理一个http请求的过程【简介】Tomcat依赖/conf/server.xml这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina)。Tomcat部署Webapp时,依赖context.xml和web.xml(/conf/目录下的context.xml和web.xml在部署任何webapp时都会启动,他们定义一些默认行为,而具体每个webapp的  META-INF/context.xml  和  WEB-INF/web.xml  则定义了每个webapp特定的行为)两个配置文件部署web应用。第一部分、Tomcat的简介和启动过程一个标准TOMCAT结构目录如上图所示:BIN目录主要存放各种平台下启动和关闭Tomcat的脚本文件.其中 有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例如 : SET  JAVA_HOME=C:j2sdk1.4.2_06 保存后,就配置好tomcat环境了. startup.bat是windows下启动tomcat的文件,shutdown.bat是关闭tomcat的文件.conf: 存放不同的配置文件(如:server.xml和web.xml);server.xml文件:该文件用于配置和server相关的信息,比如tomcat启动的端口号、配置host主机、配置Contextweb.xml文件:部署描述文件,这个web.xml中描述了一些默认的servlet,部署每个webapp时,都会调用这个文件,配置该web应用的默认servlet。tomcat-users.xml文件:配置tomcat的用户密码与权限。context.xml:定义web应用的默认行为。/lib:存放Tomcat运行需要的库文件(JARS);/logs:存放Tomcat执行时的LOG文件;/temp:   临时目录/webapps:Tomcat的主要Web发布目录(包括应用程序示例);/work:存放jsp编译成Servlet后产生的class文件;二、Tomcat启动过程1、开启Tomcat:可以在IDE中启动Tomcat的服务器,也可以手动在 /bin/目录下找到startup.bat并双击,然后程序就会依次执行以下步骤:(1)引导(Bootstrap)启动: 调用了org.apache.catalina.startup.Bootstrap.class中的main方法,开始启动Tomcat容器;main方法如下:publicstaticvoid main(String args[]) {if(daemon ==null) {daemon =newBootstrap();//创建了一个引导对象try{//引导对象初始化,即创建了Catalina容器                daemon.init();} catch (Throwable t) {t.printStackTrace();return;}}// 根据不同的命令参数执行try {String command = "start";if(args.length > 0) {command = args[args.length - 1];}if(command.equals("startd")) {args[args.length - 1] = "start";daemon.load(args);daemon.start();} elseif(command.equals("stopd")) {args[args.length - 1] = "stop";daemon.stop();} elseif(command.equals("start")) {daemon.setAwait(true);daemon.load(args);daemon.start();} elseif(command.equals("stop")) {daemon.stopServer(args);} else {log.warn("Bootstrap: command "" + command + "" does not exist.");}} catch (Throwable t) {t.printStackTrace();}}publicvoid init()throws Exception{// Set Catalina path// 设置catalina_home属性,tomcat启动脚本里有通过-Dcatalina.home设置          setCatalinaHome();// 设置catalina_base属性,运行多实例的时候该目录与catalina_home不同          setCatalinaBase();// 初始化classloader,读取conf/catalina.properties,根据指定的repository创建classloader// 有三个classloader 分别是common、catalina、shared,tomcat6中三个相同          initClassLoaders();// 设置当前线程的classloader          Thread.currentThread().setContextClassLoader(catalinaLoader);// 待研究          SecurityClassLoad.securityClassLoad(catalinaLoader);// 以下通过反射调用Catalina中的方法// Load our startup class and call its process() method  if (log.isDebugEnabled())log.debug("Loading startup class");Class startupClass =catalinaLoader.loadClass("org.apache.catalina.startup.Catalina");Object startupInstance = startupClass.newInstance();// Set the shared extensions class loader  if (log.isDebugEnabled())log.debug("Setting startup class properties");String methodName = "setParentClassLoader";Class paramTypes[] =newClass[1];paramTypes[0] = Class.forName("java.lang.ClassLoader");Object paramValues[] =newObject[1];paramValues[0] = sharedLoader;Method method =startupInstance.getClass().getMethod(methodName, paramTypes);method.invoke(startupInstance, paramValues);catalinaDaemon = startupInstance;}2)调用Bootstrap中的init(),创建了Catalina对象(核心容器):主要进行了以下三步://设置tomcat实例的环境变量① Set up the environment variables required by this Tomcat instance//实例化将用于运行Tomcat实例的通用类加载② Instantiate the general class loaders that will be used for our running  Tomcat instance//初始化tomcat实例③ Initialize this Tomcat instance(3)调用Bootstrap中的load():实际上是通过反射调用了catalina的load方法。①Parse the main configuration file for a Tomcat instance, server.xml, converting each configuration element into the appropriate Tomcat component1。 (找到config file(server.xml);然后创建digester,解析server.xml,生成各组件对象(Server、Service、Container、Connector等)以及建立相互之间的关系。 )(4)Start up our outermost Top Level Element—the Server instance。(最后start(),同样是在Bootstrap中通过反射调用catalina对象的start方法。 接着启动server.start()方法:((Lifecycle) getServer()).start(); 接着调用service.start()方法。接下来是一系列的container的start,后续在分析(会部署所有的项目) 三、server.xml配置简介: 下面讲述这个文件中的基本配置信息,更具体的配置信息请参考tomcat的文档
      Tomcat工作原理解析

      深入剖析Tomcat的作者简介

      Budi Kurniawan是《Java for Web With Servlets, JSP and EJB》的作者,同时也是一位IT咨询师,主要研究方向包括互联网与面向对象程序设计。除了其他一些计算机图书,他已经在10多种出版物上发表了约100篇文章,其中包括一些享有盛誉的Java杂志,如《Java-net》、《JavaPro》、《JavaWorld》等。Budi也是Brainysoftware-com的应用程序File Upload Bean的作者,在世界范围内很多公司都获得授权并使用该应用程序。Paul Deck是一个有15多年经验的IT架构师,参与了很多项目的开发,这些项目遍布在美国、加拿大、中国和澳大利亚。他喜欢旅行,对网络、互联网编程、设计模式和用户界面交互设计非常感兴趣。
      深入剖析Tomcat的作者简介

      Tomcat和Websphere是什么软件

      tomcat是一种web服务器,也可以称作运行在服务器(物理意义上的计算机)上的一种软件包。用来对服务器上的HTML文档提供访问权限控制。 以上的说法可能太专业化,一时难以理解。其实用通俗的语言来讲,万维网本质上就是“超文本文档”(HTML文档)组成的一个通过超级链接互相访问交互网络。你从甲计算机上的文档A通过超链接访问乙计算机上的文档B,而B必须放在Web服务器(Tomcat)里才能被访问。Apache tomcat是一个强大的Web服务器在处理静态页面、处理大量网络客户请求、支持服务的种类以及可配置方面都有优势,高速并且强壮。但是没有JSP/Servlet的解析能力。整合Apache和Tomcat可以看作是用Tomcat做Apache的jsp/servlet解析插件,将两者优势结合起来不过Tomcat作为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。(Jakarta Tomcat服务器是在SUN公司的JSWDK(javaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。它不但支持运行Servlet和JSP,而且还具备了作为商业java Web应用容器的特征。)IBM WebSphere 交付了应用基础设施和集成软件,用来帮助公司完成随需应变世界中的最关键任务:快速创新的能力 - 灵活的操作环境能够轻松支持公司的业务增长。更高的生产力 - 工具能够帮助公司流线化和扩展业务流程,以便为人员提供适时、适当的信息,从而提高员工的生产率。改善的业务弹性 - 可靠的、高性能的应用基础设施支持今天的随需应变世界的 24x7 运转。IBM WebSphere 软件交付了以灵活的方式集成分散应用程序和系统的能力,从而加速创造价值的进程,并帮助公司最大限度提高现有资源的利用率。WebSphere软件平台的核心是WebSphere应用服务器,提供特定的配置来满足大范围的各种不同的重要应用的需要,包括事务管理、安全、集群、性能、可用性、连接性和可伸缩性。应用服务器是一个中间件,可以将Web应用功能和核心业务系统以及企业数据库连起来。WebSphere应用服务器提供了一个将这些应用和数据扩展到Web的平台。WebSphere Business Integration Server Foundation扩展了WebSphere的功能,它提供了一个基于标准的整合平台,能够在面向服务的架构(SOA)中建立和部署复合的应用。复合的应用是通过其他的软件功能模块来建立的,通过Web 服务技术将它们整合到一起。在高性能的环境下,例如一个很大的大学的计算和信息系统实验室,也同样使用WebSphere Extended Deployment作为他们基础设施的一部分。Tomcat和WebSphere的比较1、 JAVA支持的对比如果只是简单的将产品对J2EE的支持版本一一列出,我们可能发现两个产品好象区别不是很大。但是如果仔细分析一下二者细微的区别,我们会有许多有趣的发现:1)Enterprise JavaBeans:EJB当前最新的版本是2.0。在WebSphere中,全部支持EJB1.1的规范,对于2.0中的规范支持大多数。而BEA号称全部支持2.0的规范。如果仅从版本号来看,好象BEA占了一些优势,其实不然。我们首先应该明白EJB到底是做什么用的。EJB是面向分步式应用、面向分布式事物处理的Java规范。如果我们回顾计算机应用的发展历史,会发现IBM在分步式应用、面向对象的理论、数据库的处理(无论关系型还是非关系型)等面向大规模的企业应用处理方面有着举足轻重的地位。IBM不但最早发明了关系数据库——DB2,而且有业界最早、应用最广泛的事物处理中间件——TXSeries(即CICS)。IBM承诺的是给用户提供稳定、可靠的产品,而不是一味地追求版本的变化。在J2EE的规范制定中,IBM参与了其中80%的技术工作,尤其是在关键的领域:JTA/JTS、EJB、Java Connector等方面。另外一个方面,IBM提供了强大的EJB开发、测试、部署工具——VisualAge For Java Enterprise Edition。它能帮助用户最快地开发出满足自己需要的EJB。为了简化EJB的开发,IBM提供了强有力的封装工具——Access Bean。反观BEA,对于J2EE规范的制定并没有做出什么贡献,虽然号称支持EJB2.0,但是它并不真正支持两阶段提交!而且不提供对CICS、IMS、SAP等主机资源CMP(Container-Managed Persistence)类型的EJB的支持2、RMI/IIOP:该标准在EJB 1.1中是可选项,但在EJB 2.0中是必须实现的规范。IBM在WebSphere中提供了牢固的产品来完全支持,IBM的产品从JDK就开始使用RMI/IIOP,已经有进两年的时间,有很多成功的应用。BEA没有产品级的支持,在WebLogic中仅有一些有限的实现,它强迫用户使用其私有的协议——T3,因为它的速度比WebSphere慢了将近4倍,在其clustering中根本不能使用IIOP!欢迎阅读《How Tomcat Works》这本书。这本书解剖了Tomcat4.1.12和5.0.18版本,解释了它的servlet容器的内部运行机制,那是一个免费的,开源的,最受欢迎的servlet容器,代号为Catalina。Tomcat是一个复杂的系统,由许多不同的组件构成。那些想要学习Tomcat运行机制的朋友大部分知道从何入手。这本书会提供一个蓝图,然后为每一个组件构造一个简化版本,使得可以更加容易的理解这些组件。在这之后才会对真实的组件进行解释。你应该从这份简介开始阅读,因为它解释了这本书的结构,同时给你勾画了这个项目构造的简洁轮廓。“准备前提软件”这一节会给你一些指示,例如你需要下载什么样的软件,如何为你的代码创建目录结构等等。本书为谁而作这本书是为任何一个使用Java技术进行工作的人而准备的。假如你是一个servlet/jsp程序员或者一个Tomcat用户,而且对一个servlet容器是如何工作这个问题你感兴趣的话,这本书就是为你准备的。假如你想加入Tomcat的开发团队的话,这本书就是为你准备的,因为你首先需要学习那些已存在的代码是如何工作的。假如你从未涉及web开发,但你对一般意义上的软件开发感兴趣的话,你可以在这本书学到一个像Tomcat一样的大型项目是如何进行设计和开发的。假如你想配置和自定义Tomcat,你也应该读读这本书。为了理解书中的讨论,你需要了解Java面向对象编程技术以及servlet编程。假如你对这些不熟悉的话,这里有很多书籍可以参考,包括Budi的《Java for the Web with Servlets, JSP, and EJB》。为了让这些材料更容易理解,每一章开始都会有便于理解所讨论主题的必要的背景资料介绍。Servlet容器是如何工作的servlet容器是一个复杂的系统。不过,一个servlet容器要为一个servlet的请求提供服务,基本上有三件事要做:创建一个request对象并填充那些有可能被所引用的servlet使用的信息,如参数、头部、cookies、查询字符串、URI等等。一个request对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的一个实例。创建一个response对象,所引用的servlet使用它来给客户端发送响应。一个response对象javax.servlet.ServletResponse或javax.servlet.http.ServletResponse接口的一个实例。调用servlet的service方法,并传入request和response对象。在这里servlet会从request对象取值,给response写值。当你读这些章节的时候,你将会找到关于catalina servlet容器的详细讨论。Catalina架构图Catalina是一个非常复杂的,并优雅的设计开发出来的软件,同时它也是模块化的。基于“Servlet容器是如何工作的”这一节中提到的任务,你可以把Catalina看成是由两个主要模块所组成的:连接器(connector)和容器(container)。在Figure I.1中的架构图,当然是简化了。在稍后的章节里边,你将会一个个的揭开所有更小的组件的神秘面纱。现在重新回到Figure I.1,连接器是用来“连接”容器里边的请求的。它的工作是为接收到每一个HTTP请求构造一个request和response对象。然后它把流程传递给容器。容器从连接器接收到requset和response对象之后调用servlet的service方法用于响应。谨记,这个描述仅仅是冰山一角而已。这里容器做了相当多事情。例如,在它调用servlet的service方法之前,它必须加载这个servlet,验证用户(假如需要的话),更新用户会话等等。一个容器为了处理这个进程使用了很多不同的模块,这也并不奇怪。例如,管理模块是用来处理用户会话,而加载器是用来加载servlet类等等。Tomcat 4和5这本书涵盖了Tomcat4和5.这两者有一些不同之处:Tomcat 5支持Servlet 2.4和JSP 2.0规范,而Tomcat 4支持Servlet 2.3和JSP 1.2。比起Tomcat 4,Tomcat 5有一些更有效率的默认连接器。Tomcat 5共享一个后台处理线程,而Tomcat 4的组件都有属于自己的后台处理线程。因此,就这一点而言,Tomcat 5消耗较少的资源。 Tomcat 5并不需要一个映射组件(mapper component)用于查找子组件,因此简化了代码。
      Apache tomcat是一个强大的Web服务器 在处理静态页面、处理大量网络客户请求、支持服务的种类以及可配置方面都有优势,高速并且强壮。但是没有JSP/Servlet的解析能力。整合Apache和Tomcat可以看作是用Tomcat做Apache的jsp/servlet解析插件,将两者优势结合起来不过Tomcat作为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。(JakartaTomcat服务器是在SUN公司的JSWDK(javaServer WebDevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。它不但支持运行Servlet和JSP,而且还具备了作为商业javaWeb应用容器的特征。)IBM WebSphere 交付了应用基础设施和集成软件,用来帮助公司完成随需应变世界中的最关键任务:快速创新的能力 - 灵活的操作环境能够轻松支持公司的业务增长。更高的生产力 - 工具能够帮助公司流线化和扩展业务流程,以便为人员提供适时、适当的信息,从而提高员工的生产率。改善的业务弹性 - 可靠的、高性能的应用基础设施支持今天的随需应变世界的 24x7 运转。IBM WebSphere 软件交付了以灵活的方式集成分散应用程序和系统的能力,从而加速创造价值的进程,并帮助公司最大限度提高现有资源的利用率。 WebSphere软件平台的核心是WebSphere应用服务器,提供特定的配置来满足大范围的各种不同的重要应用的需要,包括事务管理、安全、集群、性能、可用性、连接性和可伸缩性。应用服务器是一个中间件,可以将Web应用功能和核心业务系统以及企业数据库连起来。WebSphere应用服务器提供了一个将这些应用和数据扩展到Web的平台。
      Tomcat和Websphere是什么软件

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/316656.html

          热门文章

          文章分类