您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Tomcat完整教程
第一章Tomcat概述一、Tomcat简介TOMCAT是APACHEJAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVASERVERWEBDEVELOPMENTKIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVASERVLET容器的特性,并被一些企业用于商业用途。1、TomcatTomcat在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。Tomcat是一种具有JSP环境的Servlet容器。Servlet容器是代替用户管理和调用Servlet的运行时外壳。1.1SERVLET容器负责处理客户请求。当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JAVASERVLETAPI中定义的SERVLET的一些生命周期方法,完成SERVLET的执行,接着把SERVLET执行的要返回给客户的结果封装到SERVLETRESPONSE对象中,最后SERVLET容器把客户的请求发送给客户,完成为客户的一次服务过程。1.2TOMCAT的工作模式1.2.1独立的SERVLET容器TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JAVA的WEB服务器的情形。其他两种方式是TOMCAT与其他服务器集成的方式:1.2.2进程内的SERVLET容器SERVLET容器作为WEB服务器的插件和JAVA容器的实现。WEB服务器的插件在内部地址空间打开一个JVM(JAVAVIRTUALMACHINE)使JAVA容器得以在内部运行。如有某个需要调用SERVLET的请求,插件将取得对此请求的控制并将它传递(使用JNI)给JAVA容器。进程内的容器对于多线程、单进程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。注意:JNI是JAVANATIVEINTERFACE的缩写,是JAVA本地调用接口,通过JNI,JAVA程序可以和其他语言编写的本地程序进行通信。1.2.3进程外的SERVLET容器SERVLET容器运行于WEB服务器之外的地址空间,并且作为WEB服务器的插件和JVM使用IPC(如TCP/IP)进行通信。进程外容器的反应时间不如进程内的容器,但有较好的伸缩性、稳定性等性能。IPCINTERPROCESSCOMMUNICATION(进程间通信)的简写,它是实现进程间通信的一种技术。1.3TOMCAT的组织结构1.3TOMCAT的组织结构.............................................................................................................................................................................................................2TOMCAT是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINASERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。TOMCAT的各个组件是TOMCAT_HOME\conf\server.xml文件中配置的,TOMCAT服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解TOMCAT的各个组件是如何组织的。Server顶层元素,代表一个服务器Service顶层元素,是Connector的集合,只有一个EngineConnectior/连接器类元素,代表通信接口Engine容器类元素,为特定的Service组件处理所有客户请求,可包含多个HostHost为特定的虚拟主机处理所有客户请求Context为特定的WEB应用处理所有客户请求/Context/Host/Engine/Service/ServerTOMCAT中真正处理客户请求与生成响应的三个组件是Engine、Host、Context2、Tomcat5.0包含三个主要的部分包括:*Catalina-一个符合ServletAPI规范2.3的ServletContainer*Jasper-一个符合JSP规范1.2的JSP编译器和运行环境*Webapps-Tomcat中包含的一些例子和用于测试的web例程,以及相关文档。3、应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。4、Tomcat目录的结构(1)Tomcat的安装其实对于完全由Java写成的Tomcat,Win32版本和Linux版本没有多大区别,比如Linux版本,在Solaris下也没有问题。这里,主要以Win32版本作为示例。注意:在安装使用Tomcat之前,先安装JDK,最好是Sun的JDK1.2以上版。(2)Tomcat的目录结构首先,下载jakarta-tomcat.zip包,解压缩到一个目录下,如:“c:\tomcat”。这时,会得到如下的Tomcat的目录结构:---jakarta-tomcat|---binTomcat执行脚本目录|---Common放置一些通用类(如JDBC的驱动程序等)|---confTomcat配置文件|---docTomcat文档|---libTomcat运行需要的库文件(JARS)|---logsTomcat执行时的LOG文件|---srcTomcat的源代码|---webappsTomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)|---workTomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。目录名该目录内的文件的一般功能描述bin包含有Startup.bat(启动服务器)与shutdown.bat(关闭服务器)文件conf包含设置部署在Tomcat上的Web应用的变量的初始值的设置文件,包括server.xml(Tomcat的全局配置文件)和web.xml(为不同的Tomcat配置的web应用设置缺省值的文件)doc包含关于Tomcat的各种各样的文档。common在其lib目录下,主要存放如JDBC的驱动程序等lib包含被Tomcat使用的各种各样的jar文件。在UNIX上,任何这个目录中的文件将被附加到Tomcat的classpath中。logsTomcat的log文件。srcservletAPI的源文件。webapps包含Web应用的程序(JSP、Servlet和JavaBean等)work由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。(3)、各个目录下所应该存放的文件:按照Tomcat的规范,Tomcat的Web应用程序应该由如下目录组成页面内容等文件的存放位置:*.html,*.jsp等可以有许多目录层次,由用户的网站结构而定,实现的功能应该是网站的界面,也就是用户主要的可见部分。除了HTML文件、JSP文件外,还有js(JavaScript)文件和css(样式表)文件以及其他多媒体文件等。Web-INF/web.xml这是一个Web应用程序的描述文件。这个文件是一个XML文件,描述了Servlet和这个Web应用程序的其他组件信息,此外还包括一些初始化信息和安全约束等等。Web-INF/classes/这个目录及其下的子目录应该包括这个Web应用程序的所有JavaBean及Servlet等编译好的Java类文件(*.class)文件,以及没有被压缩打入JAR包的其他class文件和相关资源。注意,在这个目录下的Java类应该按照其所属的包层次组织目录(即如果该*.class文件具有包的定义,则该*.class文件应该放在.\WEB-INF\classes\包名下)。通常Web-INF/classes/这个目录下的类文件也可以打包成JAR文件,并可以放到WEB-INF下的lib目录下。如将classes目录下的各个*.class文件打包成WebMis.jar文件(jarcvfWebMis.jar*.*)注意:(1)WEB-INF目录中包含应用软件所使用的资源,但是WEB-INF却不在公共文档根目录之中。在这个目录中所包含的文件都不能被客户机所访问。(2)类目录中(在WEB-INF下)包含运行Web应用程序时所需的Servlets,Beans等类。(3)lib目录(在WEB-INF下)包含有Javaarchivefiles(JARs),例如标签库或者Servlets,Beans等类的*.jar文件。(4)如果一个类出现在JAR文件中同时也出现在类的目录中,类加载器会加载位于类目录中的那一个。common/lib/这个目录下包含了所有压缩到JAR文件中的类文件和相关文件。比如:第三方提供的Java库文件、JDBC驱动程序等。其中msbase.jar、mssqlserver.jar、msutil.jar文件为SqlServer2000的JDBC驱动程序其中servlet-api.jar和jsp-api.jar为Servlet和JSP的API所在的包二、Tomcat的环境配置1、启动Tomcat在Bin目录下,有一个名为startup.bat的脚本文件,执行这个脚本文件,就可以启动Tomcat服务器,不过,在启动服务器之前,还需要进行一些设置。首先,设置系统的环境变量。TOMCAT_HOME(或者:CATALINA_HOME)值:d:\jakarta-tomcat-5.0.16(用TOMCAT_HOME指示Tomcat根目录,下面以Tomcat5.0.16版为例)。JAVA_HOME值:c:\j2sdk1.4.0(用JAVA_HOME指示jdk1.4的安装目录)。注意:对于设置Windows的系统环境变量,可以打开控制面板中的“系统”程序;在“系统环境变量”中增加两个环境变量项目JAVA_HOME(最好为大写)指向JDK的目录和TOMCAT_HOME(最好为大写)指向所安装的tomcat的目录。2、启动和关闭Tomcat服务器(1)启动Tomcat服务器:执行在Bin目录下的名为startup.bat的脚本文件可以启动Tomcat服务器现在可以运行TOMCAT并作为一个独立的Servlet容器。(2)测试Tomcat的服务器启动与否:可以在浏览器中输入,是否出现如下内容。(3)启动本站点的JSP页面:在Tomcat中的JSP文件和JavaBean程序的存放位置JSP文件放在“Webapps\站点名称”的目录下自定义的JavaBean程序*.java文件(可以不需要它)及*.class类文件存放在“Webapps\站点名称\WEB-INF\classes\”目录下因此,将*.jsp文件拷贝到“TOMCAT_HOME\Webapps\站点名称”目录下,然后输入其URL地址(4)关闭
本文标题:Tomcat完整教程
链接地址:https://www.777doc.com/doc-4647384 .html