JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--开发工具--Tomcat  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
TOMCAT -jsp/Servlet 容器
作者:未知     文章来源:www.jspcn.net
访问次数:1063次     加入时间:2005年01月19日
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%lib ools.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所附带的用户指南。
 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号