您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 《tomcat学习资料收集整理》
第1章Tomcat的安装与配置知识基础建议面向对象(封装、继承、多态和抽象的方法)-java(JVM-JRE-JDK-Eclipse)-Servelet-JSP(Html)-XML多态:指同一个实体同时具有多种形式。即将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,具体实现就是:允许将子类类型的指针赋值给父类类型的指针。1.1Tomcat简介Tomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,运行时占用系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统中的常用功能,适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。Tomcat是Sun的JSWDK(JavaServerWebDevelopmentKit)中的Servlet容器,属于Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司和个人共同开发而成。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器软件,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。表1-1Tomcat版本和Servlet/JSP规范Tomcat版本Servlet/JSP规范6.0.142.5/2.15.5.x2.4/2.04.1.272.3/1/2与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的webapp目录下,Tomcat会自动检测和解压该文件。Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像IIS、Apache等Web服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太第1章Tomcat的安装与配置·3·强,所以一般都是把它当作JSP/Servlet引擎,通过适配器(Adapter)与其他Web服务器软件(如Apache)配合使用。此外,Tomcat还可与其他一些软件集成起来实现更多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用等。1.1.1ServletServlet(小服务程序,注:servlet的命名可以看出sun命名的特点,如Applet表示小应用程序;Scriptlet=Script+Applet,表示小脚本程序;同样Servlet=Server+Applet,表示小服务程序。)是一个与协议无关的、跨平台的Web组件,它基于Java技术开发,由Servlet容器所管理。和运行在客户端浏览器中的Applet(小应用程序)相似,Servlet运行在服务器端。Servlet采用“请求—响应”模式提供Web服务,交互式地浏览和修改数据,生成动态Web内容。Servlet是平台独立的Java类,即按照Servlet规范编写的Java类,所以具有Java语言的所有优点,如良好的可移植性及安全性等。Servlet被编译为平台中立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行,就如同Applet对客户端一样,区别在于Servlet运行并不需要图形用户界面。Servlet类文件放到WEB-INF\classes目录下。JavaServlet具有如下优点:(1)Servlet可以和其他资源(数据库、文件、Applet和Java应用程序等)交互,把生成的响应内容返回给客户端。如果需要,还可以保存“请求—响应”过程中的信息。(2)服务器采用Servlet可以完全授权对本地资源的访问,Servlet自身也会控制外部用户的访问数量及访问性质。(3)Servlet可以从本地硬盘,或者通过网络从远端硬盘来激活。(4)通过ServletTag技术(注:即HTML中“&lt;”等,参见附录“HTML字符实体<>:&等”),可以在HTML页面中动态调用Servlet。(5)Servlet可以是其他服务的客户端程序。(6)通过链接技术,一个Servlet可以调用另一个或一系列Servlet来成为它的客户端。(7)ServletAPI与协议无关。1.1.2JSP(JavaServerPages)是由SunMicrosystems公司倡导,在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。程序员突击——Tomcat原理与JavaWeb系统开发·4·相应的ASP是微软公司倡导的。ASP是ActiveServerPage的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp。现在常用于各种动态网站中。JSP与Servlet区别jsp要先翻译,注意是翻译成servlet才能执行。JSP文件第一次执行时,要先由Tomcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速度会很快。比如test.jsp要变成test_jsp.java然后编译成test_jsp.class。而test_jsp.java本身就是一个servlet。所以jsp只是servlet的一个变种,方便书写html内容才出现的。所以servlet是根本,所有jsp能做的,servlet全能做。Tomcat目录结构中:\work子目录下,存放JSP经过Tomcat编译后生成的Servlet。1.1.3WAR(WebArchive)在建立WAR文件之前,需要建立正确的Web应用程序的目录层次结构。—建立WEB-INF子目录,并在该目录下建立classes与lib两个子目录。—将Servlet类文件放到WEB-INF\classes目录下,将Web应用程序所使用Java类库文件(即JAR文件)放到WEB-INF\lib目录下。第1章Tomcat的安装与配置·5·—建立web.xml文件,放到WEB-INF目录下。—根据Web应用程序的需求,将JSP页面或静态HTML页面放到上下文根路径下或其子目录下。—如果有需要,建立META-INF目录,并在该目录下建立context.xml文件(???)。只有在确保这些工作后都完成后,才开始建立WAR文件。WAR与JAR的区别:要注意的是,虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件。我们什么时候应该使用WAR文件呢?在开发阶段不适合使用WAR文件,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立WAR文件将是一件浪费时间的事情。在产品发布阶段,使用WAR文件是比较合适的,因为在这个时候,几乎不需要再做什么改动了。创建并发布WAR文件:Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件。只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用。在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件。如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR文件,再进行发布。在本例中,按如下步骤发布helloapp。(1)进入helloapp应用的根目录/webapps/helloapp。(2)把整个Web应用打包为helloapp.war文件,命令如下:jarcvfhelloapp.war*.*在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:jarxvfhelloapp.war(3)把helloapp.war文件拷贝到/webapps目录下。(4)删除原先的helloapp目录。(5)启动Tomcat服务器。Tomcat服务器启动时,会把webapps目录下的所有WAR文件自动展开为开放式的目录结构。所以服务器启动后,会发现服务器把helloapp.war展开到程序员突击——Tomcat原理与JavaWeb系统开发·6·/webapps/helloapp目录中。第1章Tomcat的安装与配置·7·1.2Tomcat的结构1.2.1Tomcat与Servlet之间的关系当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持Servlet。实际上,除了Apache,其他许多Web服务器软件都不能直接支持Servlet。为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(ServletContainer),有时也叫做服务器小程序引擎(ServletEngine)。它是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME1的请求,格式化基于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那样快,但是在其他方面(如可伸缩性、稳定性等)具有优势。1MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。程序员突击——Tomcat原理与JavaWeb系统
本文标题:《tomcat学习资料收集整理》
链接地址:https://www.777doc.com/doc-6125792 .html