注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发JSP → 文章内容

TOMCAT -jsp/Servlet 容器

作者:佚名 来源:不详 发布时间:2007-11-29 23:56:34

  Java 2 platform enterprise edition (J2EE)是Sun公 司为企业级n-tier应用开发而制定的一套标准(http://java.sun.com/j2ee)。主要包含以下技术规范(Specification):Java Server Page(JSP), Java Servlet, Enterprise Java Bean(EJB), Java Transaction API (JTA)/Java Transaction Service(JTS), Java Naming and Directory Interface(JNDI),RMI-IIOP,JDBC等。目前J2EE成为服务器端应用的标准。JSP/Servlet作为J2EE的重要的部件,已经成为Web服务器端开发的热点。Tomcat 3.1是JSP 1.1/Servlet2.2的参考实现, Tomcat 4.0正处于开发中,是JSP 1.2/Servlet 2.3的实现。本文介绍Tomcat的安装配置,并结合一个简单的例子(Hello World Servlet)来说明J2EE Web应用的开发与实施。
本文所用的环境:Win32(Windows 2000),UNIX(Red Hat Linux 7.0),Sun JDK 1.3。
安装与配置
Tomcat的URL在http://jakarta.apache.org/tomcat/index.html。Tomcat以源代码和预编译包分发,遵从Apache许可证 (http://www.apache.org/LICENSE.txt) 。
Tomcat可以独立运行,或者与几种流行的Web服务器联合运行。像Apache Web Server(1.3+), Microsoft Internet Information Server(4.0+), Microsoft Personal Web Server(4.0+), Netscape Enterprise Server(3.0+) 。
Tomcat运行需要Java Runtime Environment (JRE) 1.1以上,Web应用开发需要Java Develop Kit(JDK) 1.1以上。在Microsoft Windows平台,Tomcat需要Windows NT , Windows 2000。
下载合适(3.1版)的Tomcat发布jakarta-tomcat[.zip|.gz|.Z]。
解压缩到合适的目录/usr/local或者C:下(UNIX或者Windows)。
设置环境变量TOMCAT_HOME和JAVA_HOME满足Tomcat的运行环境。
【WIN32】
set TOMCAT_HOME=c:omcat
set JAVA_HOME=c:jdk1.3
set PATH=%PATH%;%JAVA_HOME%in
【UNIX (bash/sh)】
TOMCAT_HOME=/usr/local/tomcat ; export TOMCAT_HOME
set JAVA_HOME=/user/local/java/jdk1.3; export JAVA_HOME
set PATH=$PATH:$JAVA_HOME/bin; export PATH
【UNIX (csh)】
setenv TOMCAT_HOME=/usr/local/tomcat
setenv JAVA_HOME=/user/local/java/jdk1.3
setenv PATH=$PATH:$JAVA_HOME/bin
Tomcat的启动和关闭使用TOMCAT_HOME的bin子目录下的程序:
【WIN32】
binstartup.bat
binshutdown.bat
【UNIX (bash/sh)】
bin/startup.sh
bin/shutdown.sh
应用举例
创建一个主目录(/usr/local/hello 或者 c:hello),包含以下文件和子目录:
src目录包含所需的源程序,HelloServlet.java是helloworld服务器程序。Lib目录包含编译、实施所需要的jar文件,xerces.jar为xml的java解释。查询xerces.jar和ant.jar的URL为:www.apache.org。etc/web.xml是J2EE Web应用在Tomcat服务器中实施的配置文件。Apache的Ant软件可以使整个Web Application的编译和实施自动化,这与在C应用开发中经常使用的Make软件相类似。同样Ant也是遵从Apache License的开放源代码软件。build.xml是Ant的Makefile,build.bat是Windows批处理文件,build.sh是UNIX的bash脚本。

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

【web.xml】
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name> Hello World JSP/Servlet Example </display-name>
<description>
This is a simple web application
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
【build.bat】
@echo off
rem build.bat -- Build Script for the "Hello, World" Application
rem $Id: build.bat,v 1.1 2000/11/17 17:35:11 craigmcc Exp $
set CP=
rem ant in tomcat 3.1 is pretty old , ant 1.1 must
set CP=%CP%;..libant.jar
rem xerce xml parser
set CP=%CP%;..libxerces.jar
set CP=%CP%;%TOMCAT_HOME%classes
set CP=%CP%;%TOMCAT_HOME%libjasper.jar
set CP=%CP%;%TOMCAT_HOME%libwebserver.jar
set CP=%CP%;%TOMCAT_HOME%libservlet.jar
set CP=%CP%;%JAVA_HOME%libools.jar
rem Execute ANT to perform the requested build target
java -classpath %CP% org.apache.tools.ant.Main -Dtomcat.home=%TOMCAT_HOME% %1 %2 %3 %4 %5 %6 %7 %8 %9

【build.sh】
#!/bin/sh
# build -- Build Script for the "Hello, World" Application
# $Id: build,v 1.1 2000/11/17 17:35:13 craigmcc Exp $
# Identify the custom class path components we need
CP=../lib/ant.jar:../lib/xerces.jar
CP=$TOMCAT_HOME/classes:$TOMCAT_HOME/lib/xml.jar
CP=$CP:$TOMCAT_HOME/lib/jasper.jar:$TOMCAT_HOME/lib/servlet.jar
CP=$CP:$TOMCAT_HOME/lib/webserver.jar
CP=$CP:$JAVA_HOME/lib/tools.jar
# Execute ANT to perform the requested build target
java -classpath $CP org.apache.tools.ant.Main
-Dtomcat.home=$TOMCAT_HOME "$@"

【build.xml】
<project name="Hello, World" default="compile" basedir="..">
<!-- Simple "Hello, World" project to provide a concrete example of
the recommendations in the Application Developer´s Guide..
-->
<target name="init">
<property name="app.name" value="hello"/>
<property name="deploy.home" value="${tomcat.home}/webapps/${app.name}"/>
<property name="dist.home" value="${tomcat.home}/webapps"/>
<property name="dist.src" value="${app.name}.jar"/>
<property name="dist.war" value="${app.name}.war"/>
<property name="javadoc.home" value="${deploy.home}/javadoc"/>
</target>
<target name="prepare" depends="init">
<mkdir dir="${deploy.home}"/>
<copydir src="web" dest="${deploy.home}"/>
<mkdir dir="${deploy.home}/WEB-INF"/>
<copyfile src="etc/web.xml" dest="${deploy.home}/WEB-INF/web.xml"/>
<mkdir dir="${deploy.home}/WEB-INF/classes"/>
<mkdir dir="${deploy.home}/WEB-INF/lib"/>
<copydir src="lib" dest="${deploy.home}/WEB-INF/lib"/>
<mkdir dir="${javadoc.home}"/>
</target>
<target name="clean">
<deltree dir="${deploy.home}"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"
debug="on" optimize="off" deprecation="off"/>
</target>
<target name="javadoc" depends="prepare">
<!-- TODO -->
</target>
<target name="all" depends="clean,prepare,compile,javadoc"/>
<target name="dist" depends="prepare,compile">
<jar jarfile="${dist.home}/${dist.src}"
basedir="." includes="**"/>
<jar jarfile="${dist.home}/${dist.war}"
basedir="${deploy.home}" includes="**"/>
</target>
</project>
编译和实施
在编译以前,要保证JAVA_HOME指向JDK路径,并且正确的设置环境变量CLASSPATH和PATH。
【WIN32】
cd c:hellouild
build all
build dist
【UNIX】
cd /usr/local/hello
build all
build dist
在Tomcat的配置文件$TOMCAT_HOME/conf/server.xml加入下面一行:

<Context path="/hello" docBase="webapps/hello" debug="0" reloadable="true" > </Context>

然后启动Tomcat。用Internet Explorer 或者Netscape Navigator 打开URL:
http://loc2alhost:8080/hello/test
查看输出的结果。
小结
在J2EE中间,配置文件都是使用Extend Markup Language(XML)实现,因此Tomcat的运行需要调用xml解释包xml.jar。关于XML的介绍和应用,请参考
http://www.w3.org/TR/xml
http://www.sun.com/xml
http://www.xml.org
http://www.xmlsoftware.com
等URL。Tomcat的配置也不例外,采用相同的方法。Tomcat中Web Application的实施可以参考Tomcat所附带的用户指南。
更多内容请看PCdog.com--Jsp与Servlet专题

  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved