如何配置(tomcat)才能让我的JSP运行起来

解决方案 »

  1.   

    你真是个小猪,哈哈哈Tomcat - 简明用户手册
    这份文档提供了关于Tomcat的一些基本信息,内容如下所示: 
    Tomcat编译版本的安装. 被Tomcat使用的批处理文件的内容的说明。 关于server.xml文件(Tomcat的主要配置文件)的内容的说明 如何让Tomcat与本地的Web服务器协同工作。 如何将Tomcat部署在一个真正的网站上。 这个文档中的信息对于一个初学者安装使用Tomcat应该已经足够了,如果不能满足你的要求,请按顺序尝试下列方法: 
    在Tomcat faq中进行查找. 查找Tomcat的文档列表. 给Tomcat的用户邮件列表 发封信. 注意:上面的文档都是E文的,^_^ 我们鼓励所有的用户向 Tomcat FAQ 以及这个文档中添加没有列出的问题和答案. 如果你对本文档有任何意见和建议,请给Tomcat的邮件列表发信. 
    如果对中文文档有问题,请给我发信^_^ Getting Started Tomcat 是一种有JSP环境的Servlet的容器。Servlet容器是代替用户管理和调用 Servlet的运行时外壳。 
    不懂,是吗,我也不大懂,是直译的。 Servlet容器可以粗略的划分成下面几类: 
    独立的servlet容器 独立的servlet容器Web服务器的一部分。当使用一个以Java为基础的Web服务器时就是这种情况,例如是JavaWebServer的一部分的servlet容器。独立的Servlet容器是被Tomcat使用的缺省方式。 然而,大多数站点服务器都不是以Java为基础的,这就把我们带领导到下一两种容器类型。 集成到进程中的(In-process) servlet 容器 这种servlet容器和是把Web服务器的plugin和Java容器的实现结合在一起。 Web服务器的plugin在站点服务器的地址空间的内部打开一个JVM并且让Java容器在其中运行。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它传递给 Java容器(使用JNI)。这种集成到进程中的很适合多线程单一进程的服务器,而且具有很好的性能。 但是伸缩性不好。 未集成到进程中的(Out-of-process) servlet 容器 这一类servlet容器也是将Web服务器的plugin和JVM中运行的的Java容器的实现结合在一起,但它是在Web服务器的外部运行的。Web服务器plugin和Java容器JVM使用某种IPC机制(通常是TCP/IP Socket)进行通信。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它(使用IPC)传递到Java容器。虽然这一类Servlet容器的反应时间比不上集成进线程的Servlet容器,但是在很多方面(可伸缩性、稳定性,等等)都要好于上一类。 Tomcat能被用作一个独立的容器(主要是用来开发和调试),或者当作一个已经存在的Web服务器 (目前支持阿帕奇,IIS和Netscape服务器)的一个附加软件(add-on)。 这意味只要你部署Tomcat你就不得不决定如何使用它;同时,如果你选择选择2或者3,你还将需要安装Web服务器软件。 
    Tomcat和Jserv之间的区别是什么? Tomcat==Jserv,不是吗? 这是一种普通的误解。Jserv是被建立为与阿帕奇一起使用的Servlet API 2.0兼容的容器。 Tomcat是完全重写并且兼容Servlet API 2.2和JSP 1.1的一种容器。 
    Tomcat使用了一些Jserv的代码,尤其是Jserv的阿帕奇服务器适配器(adapter),但是相似的地方仅此而已。 
    我应该如何安装Tomcat的编译版本? 很简单. 你应该这样做: 
    由下面的地址下载 zip/tar.gz/无论什么(whatever) 文件 http://jakarta.apache.org/downloads/binindex.html. 
    当然是jakarta-tomcat.zip或jakarta-tomcat.tar.gz。 也可以到我的站上来下载,可能会快一些 
    tomcat 3.1 Win32 Zip formattomcat 3.1 Linux tar.gz format最新的tomcat 3.2 Beta2 Win32 Zip format最新的tomcat 3.2 Beta2 Linux tar.gz format 
    将下载的文件解压缩到某个目录 (例如 foo)。这将会创建一个叫做"tomcat"的新的子目录。 把当前目录改变成为“tomcat”并且设置新的环境变量(TOMCAT_HOME),使它指向你的tomcat所在的目录。 在 Win32 系统中你应该键入: "set TOMCAT_HOME=foo\tomcat" 在 UNIX 系统中你应该键入: for bash/sh "TOMCAT_HOME=foo/tomcat ; export TOMCAT_HOME" for tcsh "setenv TOMCAT_HOME foo/tomcat" 设置环境变量 JAVA_HOME ,使其指向你的JDK所在的目录,然后将Java解释器所在的路径添加到你的Path 环境变量中。 for Example: 在Win98下,键入set JAVA_HOME=C:\jdk1.3\ set PATH=c:\jdk1.3\bin;%PATH% 在Win NT下,环境变量的设置应该在 控制面版>系统>环境 中设置 That's it! 你现在就可以执行Tomcat,它将作为独立的Servlet容器(类型 I)来运行。 
    启动和停止 Tomcat 你可以用tomcat/bin目录中的批处理文件来启动Tomcat。 
    启动Tomcat: 
    在 UNIX 下: bin/startup.sh 
    在 Win32下 : bin\startup 
    停止 Tomcat: 
    在 UNIX 下: bin/shutdown.sh 
    在 Win32下: bin\shutdown 
    Tomcat 目录的结构 假设你已经将 Tomcat 的编译分发版本(binary distribution)解压缩(unzipped/untared)了,你应该的到下表中所示的目录结构: 
    目 录 名 描 述 bin 包含启动和停止...批处理文件(scripts)。 conf 包含设置部署在Tomcat上的Web应用的变量的初始值的设置文件,包括 server.xml (Tomcat 的主要配置文件) 和 web.xml doc 包含关于Tomcat的各种各样的文档。 lib 包含被Tomcat使用的各种各样的jar文件。在UNIX上,任何这个目录中的文件将被附加到Tomcat的classpath中。 logs Tomcat的log文件。 src servlet API的源文件。 但是别激动,呵呵,这些仅仅是应该被任何servlet容器执行的空的接口和抽象类别。 webapps 包含一些Web应用的例子 
    另外你可以,或者Tomcat会自动建立下列的目录: 
    work 由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。 classes 你可以建立这个目录以把附加的类增加到classpath中。你放到这个目录中的任何类都将会出现在Tomcat的classpath中。 
    Tomcat的批处理(Scripts)文件 Tomcat是一个Java程序,因此在设置若干环境变量之后,从命令行执行它是可能的。然而,通过设置手工Tomcat用到每一环境变量和使用命令行参数来调用Tomcat是容易出错和乏味的工作。 所以,Tomcat开发组提供了一些批处理(scripts)文件来使启动的和停止Tomcat更加容易。 
    注意:批处理仅仅是一种方便的启动和停止Tomcat的方法... 。你可以修改他们以定制自己的CLASSPATH,环境变量(诸如PATH和LD_LIBRARY_PATH等等),但要确保生成的命令行是正确的。 
    这些批处理文件都是什么? 下列的表格中列出了对普通的用户是最重要批处理文件: 
    批处理文件 描 述 tomcat 主要的Tomcat批处理文件。用来设定正确的环境,包括的CLASSPATH,TOMCAT_HOME和JAVA_HOME,并且用适当(proper)的命令行参数启动Tomcat。 startup 启动Tomcat(Starts tomcat in the background)。 "tomcat start"的快捷方式。 shutdown 停止Tomcat。 "tomcat stop"的快捷方式。 
    对用户来说,最重要的一个批处理文件是 tomcat(tomcat.sh/tomcat.bat)。其他和Tomcat 相关的批处理文件仅仅是作为一种简单的单任务的指向Tomcat批处理文件的一种转向(放置不同的命令行参数等等)。 (simplified single-task oriented entry point to the tomcat script) 
    更进一步分析 tomcat.sh/tomcat.bat ,它执行以下操作: 
    操作系统 行 为 Unix 如果TOMCAT_HOME未被指定,猜想TOMCAT_HOME是什么. 如果JAVA_HOME未被指定,猜想JAVA_HOME是什么. 设置一个包含如下信息的 CLASSPATH - ${TOMCAT_HOME}/classes 目录 (如果可用). ${TOMCAT-HOME}/lib中的所有内容。 ${JAVA_HOME}/lib/tools.jar (这个jar文件包含工具javac,我们需要javac来编译jsp文件)。 用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如: 执行开始/停止/运行等等(start/stop/run/etc)的操作。 被这个Tomcat进程(process)所用的 server.xml 文件的路径。 例如:如果server.xml位于/etc/server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行: 
    bin/tomcat.sh start -f /etc/server_1.xml 
    Win32 设置包含下列信息的 CLASSPATH - 在 %TOMCAT_HOME%\lib 目录中的 servlet.jar, webserver.jar, jasper.jar, xml.jar %TOMCAT_HOME%\classes (即使不存在也会设置), %JAVA_HOME%\lib\tools.jar (其中包含执行jsp文件所需的工具javac). 执行java,假定它的路径在PATH中,用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如: 执行开始/停止/运行等等(start/stop/run/etc)的操作。 被这个Tomcat进程(process)所用的 server.xml 文件的路径。 例如:如果server.xml位于 conf\server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行: 
    bin\tomcat.bar start -f conf\server_1.xml 如你所见, Win32 版的 tomcat.bat 和 Unix 版的相比显得简单的多。特别是它不去猜测 TOMCAT_HOME 和 JAVA_HOME 的值,而且它也不把所有的 jar 文件添加到classpath. 
    今天就到这里了,要开工了。^_^ 大概两天后继续。 译 者 本文档由LoveJSP.site翻译整理,如有问题,请和我们联系,如果要转载也请先和我们联系 作 者 本文档的作者是: 
    Gal Shachor 鸣谢 (字母顺序): Jonathan Bnayahu Fiona Czuczman Costin Manolache Copyright ?1999 The Apache Software Foundation