分享

征服Tomcat ---基础篇

 duduwolf 2005-10-05
征服Tomcat ---基础篇
孙庚(javagen@gmail.com)
 软件工程师
 2004-10-22

[文章摘要]详细介绍了tomcat在windows上的配置和基本使用,适合初学者。

关键词: tomcat 基础


1. 系统环境:windows2000。

2. 需要软件:
    Tomcat安装程序,这里我用的是jakarta-tomcat-4.1.30-LE-jdk14.exe
    JDK安装程序,这里我用的是j2sdk-1_4_2_04-windows-i586-p.exe

3. 先安装JDK:
    安装过程很简单,这个JDK版本很霸道,没有提示我安装到哪个路径,直接就装在C:\j2sdk1.4.2_04了,不过没有关系。

4.安装Tomcat:
    也很简单,刚开始让你确认JDK安装的目录,估计不会认错,点确认就可以了。选了安装路径就下一步安装,在装到98%的时候他会提示你输入Tomcat的超级管理员密码,输入,下一步。在此要保证你机器的8080端口和8005端口不被其他服务占用。

    到现在,你的Tomcat已经可以运行起来了,你可以去[开始]菜单的程序里面找到“Apache Tomcat 4.1“程序组。点里面的”Start Tomcat“,弹出一个cmd窗口,内容如下:
    Starting service Tomcat-StandaloneApache Tomcat/4.1.30-LE-jdk14
    2004-10-27 17:45:29 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config=‘org.apache.struts.util.LocalStrings‘, returnNull=true
    2004-10-27 17:45:29 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config=‘org.apache.struts.action.ActionResources‘, returnNull=true
    2004-10-27 17:45:30 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config=‘org.apache.webapp.admin.ApplicationResources‘,     returnNull=true
    Starting service Tomcat-Apache
    Apache Tomcat/4.1.30-LE-jdk14

    关闭Tomcat用[开始]->程序->Apache tomcat->stop tomcat
    好了,基本配置结束。


    你可以去看看tomcat安装目录(我的tomcat的安装目录在c:\tomcat),目录结构和功能简要如下:
    bin 包含启动/关闭脚本和一下系统性的运行脚本
    common 包含tomcat的一些包文件,以后用到其他的包可以直接放进去,如连接oracle的jdbc驱动等。
    conf 包含不同的配置文件, 包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xmllogs 日至文件
    doc 包含各种Tomcat文档
    lib 包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中
    server 放了tomcat 通过web方式管理系统的程序,可通过http://loaclhost:8080/admin访问
    shared (暂时还不知道)
    temp 用于jvm放临时文件
    webapps 包含tomcat的例程和欢迎页面,可通过http://loaclhost:8080/访问

5. 建立第一个项目
    如果你在安装Tomcat过程中在选择安装那些组建时选择默认安装,那么tomcat将自动给你放进去一些例程,加上tomcat用于web管理的两个项目,你到Tomcat的webapps目录,你会看到:

    C:\tomcat\webapps>dir
    Volume in drive C has no label.
    Volume Serial Number is 8C08-1B74
    Directory of C:\tomcat\webapps
    2004-10-27 10:22 <DIR> .
    2004-10-27 10:22 <DIR> ..
    2004-01-25 21:36 697 admin.xml
    2004-10-24 20:16 <DIR> examples
    2004-01-25 21:36 435 manager.xml
    2004-10-24 20:16 <DIR> ROOT
    2004-10-24 20:16 <DIR> tomcat-docs
    2004-10-24 20:16 <DIR> webdav
    2 File(s) 1,132 bytes
    6 Dir(s) 2,025,648,128 bytes free

    可以看到Tomcat已经建立了一些项目,如admin.xml,manager.xml,root目录等,怎么方式还不一样呀?又有xml文件,又有目录,下面我来介绍tomcat配置项目的几种方式。

    Tomcat默认的项目目录就是webapps,就相当于IIS的web根目录,配置项目有几种方式(记得配置好了要重新启动tomcat):

    方式一,在webapps下直接建立目录,如你想建立一个项目在http://localhost:8080/FristProject/上访问,你可以直接在这个目录下建立FristProject文件夹;

    方式二,在webapps下建立xml文档,如你想建立FristProject这个项目,可以在这个目录下建立FristProject.xml,然后编辑这个文档如下:

    <Context path="/FristProject" docBase="e:\javaweb" ebug="0" privileged="true"></Context>

    Path=””放你想在http://localhost:8080上要访问这个项目的路径,这里写成/FristProject就是要在http://localhost:8080/FristProject上访问这个项目。
DocBase=””放你项目文档的本地路径,这里写成了e:\javaweb(这个目录在你重新启动tomcat之前应该是已经存在的);

    方式三,编辑tomcat的安装目录下的conf/server.xml,找到</host>标签,在</host>上面建立自己的项目,如下:

    <!-- Tomcat Root Context -->
    <!-- <Context path="" docBase="ROOT" debug="0"/> -->
    ……
    <!-- start my frist project -->
    <Context path="/FristProject" docBase="e:\javaweb" ebug="0" privileged="true"></Context>
    <!-- stop my frist project -->
    </Host>
    ……

    以上的配置工作很简单,很多的参数都没有写,建议大家看看tomcat的配置文档,如出现错误所指向的文件,默认首页等,这里就不介绍了。
    重新启动tomcat后你可以在你的本地路径(docBase所指向的目录)建立一个index.html文件,内容略,看看 http://localhost:8080/FristProject/index.html能否打开,如果可以正常浏览,说明没问题了。
自己的项目建立好了,很简单吧?


6. 跑跑Jsp:
    在你建立好的本地路径这里是e:\javaweb建立index.jsp,编辑它:

    <html>
    <body>
    <title>FristJsp</title>
    <%String aa = "my frist jsp";%>
    <%=aa%>
    <br>
    <center> Now time is: <%=new java.util.Date()%> </center>
    </body>
    </html>

    保存后,在http://localhost:8080/FristProject/index.jsp ,看看能不能访问?正确的应该是:
    my frist jsp
    Now time is:(你的系统当前时间)

    看看你的tomcat安装目录下的work\Standalone\localhost\FristProject下,应该有两个文件:
    
index_jsp.class
     index_jsp.java
    因为tomcat会在第一次运行jsp的时候编译.jsp文件,放在work下。


7. 配配JavaBean:

    tomcat对jsp以外的java程序就不是自动编译了,如:javabean,servlet都不行,这里先介绍如何配置编译环境:

    右键点[我的电脑]->属性->高级->环境变量,系统变量一栏点[新建]变量名:CLASSPATH变量值:.\;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;C:\tomcat\common\lib\servlet.jar(其中C:\j2sdk1.4.2_04用你的jdk安装路径,c:\tomcat写你tomcat的安装路径)保存,再建立一个:变量名:Path变量值:.\;C:\j2sdk1.4.2_04\bin(其中C:\j2sdk1.4.2_04为你jdk安装路径)如果你path变量已经建立,就编辑他,加上;C:\j2sdk1.4.2_04\bin,保存。之后重新启动计算机使环境变量生效。

    在你FristProject的本地目录下建立WEB-INF\classes\com,我的是E:\javaweb\WEB-INF\classes\com,在com下建立TestBean.java,编辑内容如下:

    package com;
    public class TestBean
    {
    public String getName()
    {
    String aa;
    aa = "Javagen";
    return aa;
    }
    }

    然后进入command状态:

    C:\Documents and Settings\Administrator>e:
    E:\>cd \javaweb\WEB-INF\classes\com
    E:\javaweb\WEB-INF\classes\com>javac TestBean.java
    E:\javaweb\WEB-INF\classes\com>

    好了编译结束,你可以看到在E:\javaweb\WEB-INF\classes\com下多了TestBean.calss这个文件。

    在E:\javaweb\下建立testbean.jsp文件,编辑如下:

    <jsp:useBean id="TestBean" class="com.TestBean" scope="page" />
    <html>
    <body>
    <center> my name is: <%=TestBean.getName()%> </center>
    </body>
    </html>

    好了,访问你的http://localhost:8080/FristProject/testbean.jsp,看看?
    友情提示:在tomcat下使用javabean必须放在classes/包名/,包名可以是任何英文(tomcat对这个有规范的),不能在classes下直接放javabean文件!这个是我血的教训。


8. 玩玩Servlet:

    在E:\javaweb\WEB-INF\classes\com\下建立文件HelloWorld.java,编辑如下:

    package com;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorld extends HttpServlet
    {
    public void doGet(HttpServletRequest request, HttpServletResponse response)     throws IOException, ServletException
    {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Hello World!</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
    }
    }

    进入cmd窗口:

    E:\javaweb\WEB-INF\classes\com>javac TestBean.java
    E:\javaweb\WEB-INF\classes\com>

    再建立E:\javaweb\WEB-INF\web/xml,编辑如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application     2.3//EN" "http://java./dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>Fristproject</display-name>
    <description>Fristproject </description>
    <!-- servlet -->
    <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <display-name>HelloWorld</display-name>
    <servlet-class>com.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
    </web-app>

    其中:
    <servlet>声明一个servlet
      <servlet-name>HelloWorld</servlet-name> servlet的名字
      <display-name>HelloWorld</display-name> servlet的运行名
      <servlet-class>com.HelloWorld</servlet-class> servlet的路径
    </servlet>
    <servlet-mapping> 在应用上声名servlet的
      <servlet-name>HelloWorld</servlet-name> servlet的名字
      <url-pattern>/HelloWorld</url-pattern> servlet的运行路径 就是http://localhost:8080/FristProject/HelloWorld
    </servlet-mapping>

    重新启动tomcat

     在http://localhost:8080/FristProject/HelloWorld看看?


9. 总结:
    本文中有两条主线:
    jdk的配置和java环境变量的配置:
    在安装好jdk后,一些基于jdk的程序会自动寻找jdk路径,以便调用java的各个包,比方说:tomcat,eclipse等,另有些程序不能自己去找到jdk路径,所以就要在环境变量中配置,如:path中加入jdk\bin的路径,classpath中写入运行程序的包路径等,这些在我们编辑javabean和servlet时已经用到了(一些javaIDE会自动编译你的.java文件,如Jbuilder,eclipse,resion等)。
    tomcat的配置:
    关键是配置web.xml(用于对某个tomcat项目进行配置)和server.xml(对tomcat整体配置)两个文件。
对于每个具体实现,会有不同的节点加进.xml文件去(这些xml节点并不一定是tomcat本身的).

    要学习java就要不断和xml打交道,建议多了解一下xml的资料.


参考资料:
    Tomcat中文手册
    http://www./articlesdisplay.php?newsid=63

2004.11.19第三次修改

作者信息

姓名: 孙庚
联系方式: javagen@gmail.com
简介: 软件工程师,熟悉linux oracle php ,J2EE研习者。
BLOG:www./tssungeng/

(原创作品,转载请注明作者)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多