`

Tomcat深入学习笔记(一)

阅读更多
tomcat-docs/appdev/deployment.html:

1, $CATALINA_HOME/common/lib or $CATALINA_HOME/shared/lib
        1.1 both to web applications and internal Tomcat code. This is a good place to put JDBC drivers that are required for both your application and internal Tomcat use(such as for a JDBCRealm,what is JDBCRealm?).
        1.2 to all web applications, but not to internal Tomcat code.
2, However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
这里的$CATALINA_BASE有什么用?我自己机子上是装了好几个Tomcat(当然是以copy-paste的方式装的),也没有用过这个$CATALINA_BASE,难道说可以对一个安装好的Tomcat进行多次配置么?从而表现出有好多个Tomcat一样.就像现在Windows一样,虽然只有一个系统装在机子上,但可以通过Admin配置的方式把让很多不同的用户使用,让用户有他自己的个性化配置.

3,/WEB-INF/web.xml:
        3.1 defines everything about your application that a server needs to know (except the context path, which is assigned by the system administrator when the application is deployed).一般情况下admin是不另设这个context path的,那这样Tomcat是不是就默认地采用war包的名字呢?
        3.2 tomcat-docs/appdev/web.xml.txt
            3.2.0 The complete syntax and semantics for the deployment descriptor is defined in Chapter 13 of the Servlet API Specification, version 2.3.看看ServletAPI Spec中对这个DD的描述.
            3.2.1 <display-name>My Web Application</display-name>,这个display-name是干啥的?据上面所说(except the context path)知与context path没什么关系,那这个display-name有什么用呢?是工程名字,虽然不是context path,就像"地名"与"站名"关系一样?
            3.2.2 <context-param> 与getServletContext().getInitParameter("name");这个不说还真忘了,虽说不是什么难点,也没多大实际的用处.
            3.2.3 HttpSession.getMaxInactiveInterval() 与 <session-config>
From a servlet or JSP page, you can modify
the timeout for a particular session dynamically by using
HttpSession.getMaxInactiveInterval().
            3.2.4 <servlet-mapping>
                有下面的mapping设置:
                    <servlet-mapping>
                            <servlet-name>controller</servlet-name>
                            <url-pattern>*.do</url-pattern>
                    </servlet-mapping>

                    <servlet-mapping>
                            <servlet-name>graph</servlet-name>
                            <url-pattern>/graph</url-pattern>
                    </servlet-mapping>

        文档中说:
            Thus, a request URI like:

http://localhost:8080/{contextpath}/graph

will be mapped to the "graph" servlet, while a request like:

http://localhost:8080/{contextpath}/saveCustomer.do

will be mapped to the "controller" servlet.

我的疑问是:1,http://localhost:8080/{contextpath}/graph/saveCustomer.do 这样的访问路径Tomcat会怎么来处理?当然作为Coder这样的访问路径应该是尽力避免的.
2, http://localhost:8080/{contextpath}/graph这个访问路径的处理.这样的设置自己用的很少,也见的不多.

4, Tomcat Context Descriptor : /META-INF/context.xml file
        4.1 defines Tomcat specific configuration options, such as loggers,data sources,session manager configuration and more.
这里说是"Tomcat specific",那别的Server就不能用了.
这些内容也正是这些天困绕我的地方.不过好像在项目中,这个context.xml文件并没有配置,而是以\conf文件夹下如下所示的几个文件来配置的:
cachemapping.properties, cmt.properties, cmt.xml, ehcache.xml,
log4j.xml, system.properties
        4.2 This XML file must contain one Context element, which will be considered as if it was the child of the Host element corresponding to the Host to which the The Tomcat configuration documentation contains information on the Context element.
这句话怎么理解?说这个Context element可以看作是Host的一个子element,那么也就是说Context是Tomcat对用户提供配置的一个接口,as if 被Host引用.
这里的Host又是什么?是Tomcat底层应用的一个配置文件么?一直没见过.有项目中会用到么?

5, Deployment With Tomcat 5
        5.1 Copy unpacked directory hierarchy into a subdirectory in directory $CATALINA_HOME/webapps/.
        5.1.1 Tomcat will assign a context path to your application based on the subdirectory name you choose.
        5.1.2 We will use this technique in the build.xml file that we construct,
这里的build.xml是什么?
对了,这句话的意思可能是说"在接下来的实例中,我们将在Ant的脚本build.xml中采用这个deploy方式"
        5.1.3 Be sure to restart Tomcat after installing or updating your application.
        5.2 Copy the web application archive file into directory $CATALINA_HOME/webapps/.
                  5.2.1 NOTE - If you use this approach, and wish to update your application later, you must both replace the web application archive file AND delete the expanded directory that Tomcat created, and then restart Tomcat, in order to reflect your changes.
        5.3 Use the Tomcat 5 "Manager" web application to deploy and undeploy web applications.
                    5.3.1 a web application,allows you to deploy and undeploy applications on a running tomcat server without restarting it.
        5.4 Use "Manager" Ant Tasks In Your Build Script.
5.4.1 These tasks are used in the Tomcat deployer.      
        5.5 Use the Tomcat Deployer
                5.5.1 ..............
Note that other containers are NOT required to accept an unpacked directory structure (as Tomcat does), or to provide mechanisms for shared library files, but these features are commonly available.

 

4
2
分享到:
评论
1 楼 galaxystar 2008-03-09  
不错,如果 tomcat 跑在 linux 上就能完全发挥了。
推荐一个 Linux 发行版 - gentoo。
这里是 javaeye 圈子 http://gentoo.group.iteye.com

相关推荐

    tomcat学习精华笔记

    【Tomcat 学习精华笔记】 Tomcat 是一个广泛应用的开源服务器,主要用于托管Java Web应用程序。它虽然不是严格意义上的应用服务器,但作为一个Servlet容器,它能够处理Servlet和JSP,并且具备了一些应用服务器的...

    tomcat学习笔记

    【标题】:Tomcat学习笔记 【正文】: Tomcat是一款广泛应用的开源Web服务器和Java Servlet容器,由Apache软件基金会的Jakarta项目开发。它实现了Java Servlet和JavaServer Pages(JSP)规范,并且作为轻量级应用...

    Tomcat学习笔记

    《Tomcat学习笔记》 Tomcat是一款开源的Java Servlet容器,是Apache软件基金会下的Jakarta项目中的核心项目,主要用于运行Java Web应用程序。本笔记将详细阐述Tomcat的安装、配置、虚拟主机设置、JDBC数据库连接池...

    tomcat学习笔记.rar

    【标题】:Tomcat学习笔记 【描述】:Tomcat是一款广泛应用的开源Java Servlet容器,由Apache软件基金会下属的Tomcat项目开发维护。它主要用于部署和运行Java Web应用程序,包括Servlet和JSP。Tomcat以其轻量级、...

    tomcat笔记

    【标题】:Tomcat笔记 【内容】 Tomcat是一款由Apache软件基金会开发...从安装配置到性能优化,再到安全管理和Web应用部署,每一个环节都需要深入学习和实践。希望这些笔记能为你的Tomcat学习之旅提供有价值的参考。

    Tomcat容器攻防笔记之隐匿行踪 .pdf

    《Tomcat容器攻防笔记之隐匿行踪》是一篇探讨如何在安全威胁日益严重的背景下,利用技术手段规避Tomcat服务器日志记录,从而达到隐藏攻击者行踪目的的文章。文章作者通过深入研究,旨在揭示在当前网络安全环境中,...

    web学习笔记 —— tomcat

    【标题】:“Web学习笔记——Tomcat” 在Web开发领域,Tomcat是一个广泛使用的Java Servlet容器,它实现了Java EE中的Web部分,特别是Servlet和JSP规范。Tomcat以其开源、轻量级和高效的特性,成为了许多小型项目和...

    java,myeclipes ,tomcat servlet jsp学习笔记

    【Java学习笔记】这篇学习笔记主要涵盖了Java开发中的一些基础操作和配置,特别是使用Eclipse作为IDE,结合...在实践中不断练习和应用,能够加深对Java、Eclipse和Tomcat的理解,为后续的深入学习打下坚实的基础。

    Tomcat部署笔记

    本文将以“Tomcat部署笔记”为引子,深入探讨在Windows环境下使用Eclipse IDE进行Tomcat部署的具体步骤及常见问题解决办法。 #### 二、准备工作 1. **环境准备**: - Windows操作系统 - Eclipse IDE - SVN...

    How Tomcat Works 读书笔记(第三章)

    《How Tomcat Works》这本书是理解Apache Tomcat服务器工作原理的重要资源,第三章主要探讨了Tomcat的架构和核心...通过深入学习这一章,开发者能够更好地掌握如何配置和管理Tomcat,以及如何设计高效的Web应用程序。

    Tomcat&Servlet笔记1

    【Java Web基础与Tomcat服务器】 在Web开发领域,Java技术常常扮演着核心角色,而Tomcat作为一款轻量级的Web服务器和Servlet容器,是Java Web应用的首选...通过深入学习和实践,开发者可以创建出高效、稳定的Web应用。

    人工智能个人学习笔记

    【人工智能个人学习笔记】 在当今的信息时代,人工智能(AI)已成为科技发展的重要推动力,它涵盖了机器学习、深度学习、自然语言处理等多个领域。...通过深入学习和实践,我们可以更好地掌握这一引领未来的科技趋势。

    jBoss+tomcat学习笔记大全,jBoss+tomcat的帮助文档

    ### jBoss + Tomcat 学习笔记大全及帮助文档概览 #### 一、环境搭建与配置 在开始深入探讨jBoss与Tomcat的集成之前,我们先来了解如何搭建基本的开发环境。 ##### 1. Java 环境配置 - **安装 J2SDK1.4+ 和 J2...

    Tomcat学习笔记 - 【使用JNDI数据源】

    【标题】"Tomcat学习笔记 - 使用JNDI数据源" 在Java应用服务器如Tomcat中,使用JNDI(Java Naming and Directory Interface)数据源是一种标准的方式,它允许我们集中管理和配置数据库连接,提高应用的可移植性和可...

    Java学习笔记开发环境搭建JDK+Tomcat+Ecli

    这个压缩包中的"Java学习笔记开发环境搭建JDK+Tomcat+Eclipse共8页.pdf"文件,很可能是对以上步骤的详细图文说明,建议仔细阅读以加深理解。记住,理论结合实践是学习任何技术的关键,动手操作是提升技能的最好方式...

    Java学习笔记开发环境搭建JDK+Tomcat+Eclipse共8页.pdf.zip

    【Java学习笔记开发环境搭建JDK+Tomcat+Eclipse共8页.pdf】 这篇学习笔记主要涵盖了Java开发环境的搭建过程,其中包括三个核心组件:Java Development Kit (JDK)、Apache Tomcat服务器和Eclipse集成开发环境(IDE)...

    Tomcat笔记+源码!!!!!!!!!!

    【描述】提到的"Tomcat笔记"和"源码"暗示了这是一个深入学习Tomcat内部工作原理和实践操作的资料集合。笔记通常包含了开发者在使用Tomcat过程中的经验总结,可能涵盖配置、部署、性能优化、问题排查等方面。而源码...

    学习tomcat源码+英文《How Tomcat Work》和每一章的相关项目+tomcat6源码依赖jar

    总之,学习Tomcat源码不仅能够提升你对Web服务器底层工作的理解,还能够提高你在Java Web开发中的问题排查能力,让你成为一名更出色的开发者。通过阅读《How Tomcat Works》并结合实际项目实践,你将能够逐步揭开...

Global site tag (gtag.js) - Google Analytics