Linux Tomcat 简介

现在,基于Web的应用愈来愈多,传统的Html已经知足不了现在的需求。咱们须要一个交互式的Web,因而便诞生了各类Web语言。如Asp,Jsp,Php等。固然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。本文所要介绍的Tomcat便是一个Jsp和Servlet的运行平台。 

一:什么是Jsp和Servlet 

Jsp(JavaServer Page)是在普通Html中嵌入了Java代码的一个脚本,在这一点上,它与其它的脚本语言(如Php)同样,但它与其它语言不一样的是:其它脚本语言由服务器直接解释这个脚本,而Jsp则由Jsp容器(如Tomcat)首先将其转化为Servlet,而后再调用Javac将Servlet编译为Class文件。最终,服务器解释的是Class文件。那么什么是Servlet呢?Servlet实际上是一个特殊的Java类,Servlet类通常从HttpServlet类继承而来,在这个类中至少要实现doGet或者doPost函数,在这两个函数中处理来自客户的请求,而后将结果返回。Servlet和Jsp是Sun公司J2EE架构中重要的部分。因为基于Java语言,所以其能够方便的调用功能强大的Java API(如JDBC)。 

二:Tomcat概述 

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及我的共同开发而成。因为有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中获得体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。 

Tomcat 最新版本是4.0x。4.0x与3.x的架构不一样,而是从新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各类平台的版本供下载,能够从http://jakarta.apache.org上下载其源代码版或者二进制版。因为Java的跨平台特性,基于Java的Tomcat也具备跨平台性。 

与传统的桌面应用程序不一样,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR相似,也是许多文件的一个压缩包。这个包中的文件按必定目录结构来组织:一般其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。一般在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。一般这些所依赖的类也能够打包成JAR放到WEB-INF下的lib目录下,固然也能够放到系统的CLASSPATH中,但那样移植和管理起来不方便。 

在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,一般第一次会很慢,由于Tomcat要将Jsp转化为Servlet文件,而后编译。编译之后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用须要用户名和密码,用户名和密码存储在一个xml文件中。经过这个应用,辅助于Ftp,你能够在远程经过Web部署和撤销应用。固然本地也能够。 

Tomcat不只仅是一个Servlet容器,它也具备传统的Web服务器的功能:处理Html页面。可是与Apache相比,它的处理静态Html的能力就不如Apache。咱们能够将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只须要修改一下Apache和Tomcat的配置文件便可。 

另外,Tomcat提供Realm支持。Realm相似于Unix里面的group。在Unix中,一个group对应着系统的必定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不一样的应用(相似系统资源)赋给不一样的用户(相似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,经过JDBC得到用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,经过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即便用此种Realm。经过Realm咱们能够方便地对访问某个应用的客户进行验证。 

在Tomcat4中,你还能够利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里咱们要介绍一下一般所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但若是与JBoss(一个开源的应用服务器)集成到一块,则能够实现J2EE的所有功能。既然应用服务器具备Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,咱们的不少中小应用不须要采用EJB等技术,Jsp和Servlet已经足够,这时若是用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能知足咱们的需求,这种状况下咱们天然会选择Tomcat。 

基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet很是简单,你能够用普通的文本编辑器或者IDE,而后将其打包成WAR便可。咱们这里要提到另一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能相似于Unix中的make。你须要写一个build.xml文件,而后运行Ant就能够完成xml文件中定义的工做,这个工具对于一个大的应用来讲很是好,咱们只需在xml中写不多的东西就能够将其编译并打包成WAR。事实上,在不少应用服务器的发布中都包含了Ant。另外,在Jsp1.2中,能够利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。 

Tomcat也能够与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另一个项目)集成起来开发基于Xml的应用,与OpenJMS 

集成起来开发JMS应用,除了咱们提到的这几种,能够与Tomcat集成的软件还有不少。 

三:展望 

Tomcat确实是一个很好的工具,不只仅由于其免费,功能强大,更由于其开放性。现在,开源软件愈来愈收到人们的重视,Linux就是一个成功的典型。人们再也不限于只使用软件,并且已经关心起软件的具体实现。咱们有理由相信Tomcat会走得更远。java

 

 

本文来源: 收集、整理来自互联网web

相关文章
相关标签/搜索