tomcat配置(张孝详老师)

 1.

        Tomcat的目录结构及其用途

目 录

用 途

/bin

存放启动和关闭Tomcat的脚本文件

/common/lib

存放Tomcat服务器及所有Web应用程序都可以访问的JAR文件

/conf

存放Tomcat服务器的各种配置文件,其中包括server.xml(Tomcat的主要配置文件)、tomcat-users.xml和web.xml等配置文件

/logs

存放Tomcat的日志文件

/server/lib

存放Tomcat服务器运行所需的各种JAR文件

/server/webapps

存放Tomcat的两个Web应用程序:admin应用程序和manager应用程序

/shared/lib

存放所有Web应用程序都可以访问的JAR文件

/temp

存放Tomcat运行时产生的临时文件

/webapps

当发布Web应用程序时,通常把Web应用程序的目录及文件放到这个目录下

/work

Tomcat将JSP生成的Servlet源文件和字节码文件放到这个目录下

       /common/lib目录、/server/lib和/shared/lib目录下都可以存放JAR文件,它们的区别在于:

            在/server/lib目录下的JAR文件只能被Tomcat服务器访问;

             在/shared/lib目录下的JAR文件可以被所有的Web应用程序访问,但不能被Tomcat服务器访问;

             在/common/lib目录下的JAR文件可以被Tomcat服务器和所有的Web应用程序访问。

此外,对于后面将要介绍的Java Web应用程序,在它的WEB-INF目录下,也可以建立lib子目录,在lib子目录下可以存放各种JAR文件,这些JAR文件只能被当前Web应用程序所访问。

2.Tomcat启动过程的分析

    用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读,可以发现,在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值,接着判断当前目录下是否存在bin/catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值.如果想在任意目录下启动.可以将tomcat的目录放入classpath中.

        真正负责启动Tomcat服务器的catalina.bat文件,catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查JAVA_HOME环境变量是否存在,并通过设置的环境变量JAVA_HOME,找到java.exe,用于启动Tomcat。

3.Tomcat的体系结构

        Tomcat服务器是由一系列可配置的组件构成的,其中核心组件是Catalina Servlet容器.

(1)Server

Server表示整个的Catalina Servlet容器。Tomcat提供了Server接口的一个默认实现,这通常不需要用户自己去实现。在Server容器中,可以包含一个或多个Service组件。

(2)Service

Service是存活在Server中的内部组件,它将一个或多个连接器(Connector)组件绑定到一个单独的引擎(Engine)上。在Server中,可以包含一个或多个Service组件。Service也很少由用户定制,Tomcat提供了Service接口的默认实现,而这种实现既简单又能满足应用。

(3)Connector

连接器(Connector)处理与客户端的通信,它负责接收客户请求,以及向客户返回响应结果。在Tomcat中,有多个连接器可以使用。

(4)Engine

在Tomcat中,每个Service只能包含一个Servlet引擎(Engine)。引擎表示一个特定的Service的请求处理流水线。作为一个Service可以有多个连接器,引擎从连接器接收和处理所有的请求,将响应返回给适合的连接器,通过连接器传输给用户。用户可以通过实现Engine接口提供自定义的引擎,但通常不需要这么做。

(5)Host

Host表示一个虚拟主机,一个引擎可以包含多个Host。用户通常不需要创建自定义的Host,因为Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能。

(6)Context

一个Contex表示了一个Web应用程序,运行在特定的虚拟主机中。什么是Web应用程序呢?在Sun公司发布的Java Servlet规范中,对Web应用程序做出了如下的定义:“一个Web应用程序是由一组Servlet、HTML页面、类,以及其他的资源组成的运行在Web服务器上的完整的应用程序。它可以在多个供应商提供的实现了Servlet规范的Web容器中运行”。一个Host可以包含多个Context(代表Web应用程序),每一个Context都有一个惟一的路径。用户通常不需要创建自定义的Context,因为Tomcat给出的Context接口的实现(类StandardContext)提供了重要的附加功能。

 

        我们可以在conf目录下的server.xml文件中对这些组件进行配置,读者打开server.xml文件,就可以看到元素名和元素之间的嵌套关系,与Tomcat服务器的组件是一一对应的,server.xml文件的根元素就是server。

 

4.Tomcat提供了两个管理程序:admin和manager。其中admin用于管理和配置Tomcat服务器,manager用于管理部署到Tomcat服务器中的Web应用程序。

 

admin Web应用程序:

        

admin Web应用程序需要单独下载,与Tomcat在同一个下载页面,链接名是Admin zip,下载后的文件名是jakarta-tomcat-5.5.7-admin.zip,解压缩后,覆盖Tomcat安装目录下的同名目录。admin Web应用程序位于%CATALINA_HOME%/server/webapps/admin目录下。

要访问admin Web应用程序,需要添加具有管理员权限的账号,编辑%CATALINA_HOME%/ conf/tomcat-users.xml文件,在<tomcat-users>元素中添加如下内容:

<user username="admin" password="12345678" roles="admin"/>

其中用户名和密码可以根据自己的喜好设置。

启动Tomcat服务器,打开浏览器,在地址栏中输入:

http://localhost:8080/admin/

将出现如图5-17所示的页面。

图5-17 admin Web应用程序的登录界面

也可以在Tomcat的默认主页的左上方单击“Tomcat Administration”链接,进入admin登录页面。输入用户名admin,密码12345678,单击“Login”按钮,将看到如图5-18所示的页面。

图5-18 admin Web应用程序的主页面

在这个页面中,可以进行Tomcat服务器的各项配置。

 

manager Web应用程序

manager Web应用程序包含在Tomcat的安装包中。和admin程序一样,需要添加访问manager Web应用程序的管理员账号,编辑%CATALINA_HOME%/conf/tomcat-users.xml文件,在<tomcat-users>元素中添加如下内容:

<user username="manager" password="12345678" roles="manager"/>

其中用户名和密码可以根据自己的喜好设置。

启动Tomcat服务器,打开浏览器,在地址栏中输入:

http://localhost:8080/manager/html/

将出现如图5-19所示的页面。

图5-19 manager Web应用程序的登录界面

也可以在Tomcat的默认主页的左上方单击“Tomcat Manager”链接,访问manager程序。输入用户名manager,密码12345678,单击“确定”按钮,将看到如图5-20所示的页面。

图5-20 manager Web应用程序的主页面

在这个页面中,你可以部署、启动、停止、重新加载、卸载Web应用程序。注意在两个圆角矩形框中的路径“/jsp-examples”和“/servlets-examples”,单击这两个路径,将看到Tomcat提供的JSP和Servlet的例子程序,这些程序可以作为学习JSP和Servlet的参考。不过在这两个路径下,只列出了部分的例子程序,完整的JSP和Servlet例子程序位于下面的两个目录中:

%CATALINA_HOME%/webapps/jsp-examples

%CATALINA_HOME%/webapps/servlets-examples

 

        Servlet是Java对CGI的回应。它们在服务器上执行和解释浏览器的请求,承担客户端和其他应用程序之间的中间层的角色。Servlet主要是把动态的内容混合到静态的内容中以产生HTML。
        JSP页面在HTML元素中嵌入Java脚本代码和JSP标记,使得文件长度变短,格式更加清晰。另一方面,JSP把静态和动态的内容分离开来,实现了内容和表示的分离。
        使用JSP,不需要单独配置每一个文件,只要扩展名是.jsp,JSP容器(也是Servlet容器)就会自动识别,将其转换为Servlet为客户端服务。术语Web容器和JSP容器是同义的。

JSP容器管理JSP页面生命周期的两个阶段:转换阶段(translation phase)和执行阶段(execution phase)。当有一个对JSP页面的客户请求到来时,JSP容器检验JSP页面的语法是否正确,将JSP页面转换为Servlet源文件,然后调用javac工具类编译Servlet源文件生成字节码文件,这一阶段是转换阶段。接下来,Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求,在请求处理完成后,响应对象被JSP容器接收,容器将HTML格式的响应信息发送到客户端,这一阶段是执行阶段。

从整个过程中我们可以知道,当第一次加载JSP页面时,因为要将JSP文件转换为Servlet类,所以响应速度较慢。当再次请求时,JSP容器就会直接执行第一次请求时产生的Servlet,而不会再重新转换JSP文件,所以其执行速度和原始的Servlet执行速度几乎就相同了。在JSP执行期间,JSP容器会检查JSP文件,看是否有更新或修改。如果有更新或修改,JSP容器会再次编译JSP或Servlet;如果没有更新或修改,就直接执行前面产生的Servlet,这也是JSP相对于Servlet的好处之一。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值