您的位置:首页 > 运维架构 > Tomcat

征服Tomcat ---基础篇

2013-07-31 23:55 134 查看
征服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.sun.com/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.linuxdby.com/articlesdisplay.php?newsid=63

2004.11.19第三次修改

作者信息
姓名: 孙庚

联系方式: javagen@gmail.com

简介: 软件工程师,熟悉linux oracle php ,J2EE研习者。

BLOG:www.donews.net/tssungeng/

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: