程序员《tomcat学习资料收集整理》.pdf
《程序员《tomcat学习资料收集整理》.pdf》由会员分享,可在线阅读,更多相关《程序员《tomcat学习资料收集整理》.pdf(88页珍藏版)》请在咨信网上搜索。
1、第1章Tomcat的安装与配置知识基础建议面向对象(封装、继承、多态和抽象的方法)-java(JVM-JRE7DK-Ec”pse)Servelet-JSP(Html)-XML多态:指同一个实体同时具有多种形式。即将父对象设置成为和一个或更多的他的子对象相等 的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,具体 实现就是:允许将子类类型的指针赋值给父类类型的指针。1.1 Tomcat 简介Tomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,运行时占用系 统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统中的常用功能,适用于 中小型系统和并
2、发访问用户不太多的场合,是开发和调试JSP程序的首选。Tomcat 是 Sun 的 JSWDK(Java Server Web Development Kit)中的 Servlet 容器,属于Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核 心项目,由Apache、Sun和其他一些公司和个人共同开发而成。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个 Web服务器软件,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。表 11 Tomcat 版本和 Servlet/JSP 规
3、范Tomcat版本Servlet/JSP 规范6.0.142.5/2.15.5.x2.4/2.04.1.272.3/1/2与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的 文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的webapp目 录下,Tomcat会自动检测和解压该文件。Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像 HS、Apache等 Web服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太
4、第1章Tomcat的安装与配置 3 强,所以一般都是把它当作JSP/Servlet引擎,通过适配器(Adapter)与其他Web服 务器软件(如Apache)配合使用。止匕外,Tomcat还可与其他一些软件集成起来实现更 多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用等。1.1.1 ServletServlet(小服务程序,注:servlet的命名可以看出sun命名的特点,如Applet表示小应用 程序;Scr iptlet=Scr ipt+Applet,表示小脚本程序;同样Serv
5、let=Server+Applet,表示小服务程序。)是一个与协议无关的、跨平台的Web组件,它基于Java技术开发,由Servlet容器所 管理。和运行在客户端浏览器中的Applet(小应用程序)相似,Servlet运行在服务器 端。Servlet采用“请求一响应”模式提供Web服务,交互式地浏览和修改数据,生成 动态Web内容。Servlet是平台独立的Java类,即按照Servlet规范编写的Java类,所以具有Java 语言的所有优点,如良好的可移植性及安全性等。Servlet被编译为平台中立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行,就如同Applet对客户端一
6、样,区别在于Servlet运行并不需要图形用户界面。Servlet 类文件放至IWEB-INF classes 目录下。Java Servlet具有如下优点:(1)Servlet可以和其他资源(数据库、文件、Applet和Java应用程序等)交互,把生成的响应内容返回给客户端。如果需要,还可以保存“请求一响应”过程中的信息。(2)服务器采用Servlet可以完全授权对本地资源的访问,Servlet自身也会控 制外部 用户的访问数量及访问性质。(3)Servlet可以从本地硬盘,或者通过网络从远端硬盘来激活。(4)通过Servlet Tag技术(注:即HTML中等,参见附录“HTML字符实体&l
7、t;>:&;等”),可以在HTML页面中动态调用Servlet o(5)Servlet可以是其他服务的客户端程序。(6)通过链接技术,一个Servlet可以调用另一个或一系列Servlet来成为它的 客户端。(7)Servlet APT与协议无关。1.1.2 JSP(Java Server Pages)是由Sun Microsystems公司倡导,在传统的网页HTML文件(*.htm,*.html)中插 入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开 发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行
8、。4 程序员突击-Tomcat原理与Java Web系统开发*.JSP*_jsp.java*_jsp.classJava 程序段(Script let)和 JSP 标记(tag)oHTIL,HTI相应的ASP是微软公司倡导的。ASP是Active Server Page的缩写,意为“动态 服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库 和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp。现在常用于各种动态网站中。JSP 与 Servlet 区另Ujsp要先翻译,注意是翻译成servlet才能执行。JSP文件第一次执行时,要先 由T
9、omcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速 度会很快。比如 test.jsp 要变成 test_jsp.java 然后编译成 test_jsp.class 0而 test_jsp.java本身就是一个servlet 所以jsp只是servlet的一个变种,方便书写 html内容才出现的。所以servlet是根本,所有jsp能做的,servlet全能做。Tomcat目录结构中:work子目录下,存放JSP经过Tomcat编译后生成的 Servlet。1.1.3 WAR(Web Archive)在建立WAR文件之前,需要建立正确的Web应用程序的目录层次结构
10、。.WEB-INF-classes*,java;*,classjarLweb.xml*.jsp;*.html一 建立WEBTNF子目录,并在该目录下建立classes与lib两个子目录。一将Servlet类文件放到WEBTNF classes目录下,将Web应用程序所使用Java 类库文件(即JAR文件)放到WEB-INF lib目录下。第1章Tomcat的安装与配置 5 一 建立web.xml文件,放到WEB-INF目录下。-根据Web应用程序的需求,将JSP页面或静态HTML页面放到上下文根路径下或 其子目录下。一如果有需要,建立METATNF目录,并在该目录下建立context.xml文
11、件(???)。只有在确保这些工作后都完成后,才开始建立WAR文件。WAR与JAR的区别:要注意的是,虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命 令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是 把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表 了一个Web应用程序,它可以包含Servlet HTML页面、Java类、图像文件,以及组 成Web应用程序的其他资源,而不仅仅是类的归档文件。我们什么时候应该使用WAR文件呢?在开发阶段不适合使用WAR文件,因为在开发 阶段,经常需要添加或删除Web应用程序的内容
12、,更新Servlet类文件,而每一次改动 后,重新建立WAR文件将是一件浪费时间的事情。在产品发布阶段,使用WAR文件是比 较合适的,因为在这个时候,几乎不需要再做什么改动了。创建并发布WAR文件:Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件。只要 把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp 应用。在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web 应用,这样可以方便地更新或替换文件。如果开发完毕,进入产品发布阶段,应该将整 个Web应用打包为WAR文件,再进行发布。在本例中,按如下步骤
13、发布helloapp o(1)进入 helloapp 应用的根目录/webapps/he 11 oapp。(2)把整个Web应用打包为helloapp.war文件,命令如下:jar cvf helloapp.war*.*在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:jar xvf helloapp.war(3)把helloapp.war文件拷贝到/webapps目录下。(4)删除原先的helloapp目录。(5)启动Tomcat服务器。Tomcat服务器启动时,会把webapps目录下的所有WAR文件自动展开为开放式的 目录结构。所以服务器
14、启动后,会发现服务器把helloapp.war展开到 6 程序员突击-Tomcat原理与Java Web系统开发/webapps/he 11 oapp 目 录中。第1章Tomcat的安装与配置 7 1.2 Tomcat的结构1.2.1 Tomcat与Servlet之间的关系当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持 Servlet 0实际上,除了 Apache,其他许多Web服务器软件都不能直接支持Servlet 为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎
15、(Servlet Engine)它是Web服务器或 应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME1 的请求,格式化基于MIME的响应,它在Servlet的生命周期内包容和管理Servlet,是一个实时运行的外壳程序。运行时由Web服务器软件处理一般请求,并把Servlet调 用传递给“容器”来处理。Tomcat就是满足这种需要的JSP/Servlet引擎,是Sun公 司的JSP/Servlet的官方实现。1 MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。按照工作模式的不同,
16、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服务器插件首
17、先 获得此请求的控制并将它传递(使用JNI技术)给Java容器,然后Java容器把此请求 交给Servlet来处理。这种方式运行速度较快,并且能够提供良好的性能,适用于单进 程、多线程服务器,但是在伸缩性方面存在不足。(3)外置的Servlet容器采用这种方式时,Servlet容器运行在Web服务器外部地址空间。先由Web服务器 插件在某个Web服务器外部地址空间打开一个JVM(Java虚拟机),然后加载Java容 器来运行Servlet o Web服务器插件和JVM之间使用IPC(进程间通信)机制(通常是 TCP/IPSockets)。如果客户端调用Servlet,Web服务器插件首先获得此
18、请求的控制并 将它传递(使用IPCs技术)给Java容器,然后Java容器把此请求交给Servlet来处 理。这种方式对客户端请求的处理速度不如内置Servlet那样快,但是在其他方面(如 可伸缩性、稳定性等)具有优势。8 程序员突击-Tomcat原理与Java Web系统开发Tomcat属于Servlet容器,其工作模式也分为上述3种,所以:Tomcat既可被用作独立运行的Servlet引擎(便于开发和调试);可作为一个需要增强功能的Web服务器(如当前的Apache IIS和Netscape 服务器)插件。在配置Tomcat之前,就需要确定采用哪种工作模式,工作模式(1)比较简单,直 接安
19、装Tomcat即可,工作模式(2)和(3)有些复杂,除了安装Tomcat.Web服务器 之外,还需要安装连接两者的中间连接件。Java Servlet API 是 Servlet 容器和 Servlet 之间的接口,它定义了 Servlet 的 各种方法,还定义了 Servlet容器传送给Servlet的对象类,其中最重要的是请求对象 ServletRequest和响应对象ServletResponse。这两个对象都是由Servlet容器在客户 端调用Servlet时产生的,Servlet容器把客户请求信息封装在ServletRequest对象 中,然后把这两个对象都传送给要调用的Servle
20、t,Servlet处理完后把响应结果写入 ServletResponse,然后由Servlet容器把响应结果发送到客户端。Tomcat服务器接收 客户端请求并作出响应的完整过程如图1-1所示。图1-1 Tomcat服务器响应客户请求过程其中,处表示Web服务器接收到客户端发出的HTTP请求后,转发给Servlet容 器,同时把控制返回Servlet容器;处表示Servlet容器把响应对象ServletResponse 中的处理结果转发给Web服务器,通知Web服务器以HTTP响应的方式把结果发送到客 户端,同时把控制返回Web服务器。第1章Tomcat的安装与配置 9 1.2.2 Tomcat
21、的层次结构(6层)Tomcat服务器由一系列可配置组件构成,其中核心组件是Catalina Servlet容器,色是其他所有Tomcat组件的顶层容器。Tomcat各组件之间存在的层次关系如图1-2所 7J oServer Service:Connector4 Enginel Host-Context图1-2 Tomcat层次关系【提示】Tomcat的组件可以在 conf server.xml文件中进行配置,每个 Tomcat组件在server.xml文件中对应一种配置元素。在XML文件的代码中,这些组件之间关系如下所示:上述各组件将Tomcat分成若干层(Server层、Service层、E
22、ngine层、Host层、Context层),各层通过数据管道Pipeline交互,如图所示。2Catalina是远程轰炸机的意思。10 程序员突击-Tomcat原理与Java Web系统开发1.2.3 Java Web应用处理充当Java Web的容器是Tomcat服务器最主要的功能。Java Web在Sun的Java Servlet规范中定义如下:Java Web应用由一组Servlet、HTML页、类,以及其他可以 被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Web应用容器中运 行。由此定义可知,在Java Web应用中可以包含Servlet、JSP、类、静态文档和
23、配置 信息等。每个Web应用都对应唯一的Context,Servlet容器为每个运行的Java Web应 用创建唯一的ServletContext对象,该对象被同一个Web应用中的所有组件所共享。假设有3个Web应用,分别为HelioWorld Counter和TableList,它们对应的主 页URL分别如下:HelioWorld:http:/localhost1:8080/HelloWorld/index,htmlCounter:http:/localhost1:80/Counter/index.jspTableList:http:/localhost2:8086/TableList/in
24、dex,jsp3个用户分别访问上述3个地址,则Tomcat服务器各个组件响应用户请求的过程 如 图1-4所示,其中每个Context容器对应唯一的Java Web应用。Server图1-4 Tomcat服务器各组件响应用户请求过程第1章 Tomcat的安装与配置 11 1.3 Tomcat的安装本节将介绍Tomcat工作环境的安装、基本的启动与停止方法、JDK的安装与JVM 性能调整、二进制版本的Tomcat安装以及从源代码安装Tomcat,最后讲解如何启动、停止和自动启动Tomcat,并进行安装的测试。1.3.1安装准备在安装Tomcat之前必须先安装JDK。JDK的全称是Java Deve
25、lopment Kit,是Sun 公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好 的Java源程序经过编译可形成Java字节码,只要安装了 JDK,就可以利用JVM解释这 些字节码文件,从而保证了 Java的跨平台性。在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统API实现对应功 能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征,所以需要预先下载JDK和Tomcat,这两个软件的版本和下 载地址如下:JDK选择Sun官方网站提供的JDK-6U1,下载网址为https:/ d=6C6B4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomcat学习资料收集整理 程序员 tomcat 学习 资料 收集 整理
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。