📄 tomcat-jspservlet.htm
字号:
<html><!-- #BeginTemplate "/Templates/more.dwt" -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>csdn_TOMCAT -jsp/Servlet 容器</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE type=text/css>
A:link {
COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:visited {
COLOR: #333399; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:active {
COLOR: #ff0000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:hover {
COLOR: black; TEXT-DECORATION: underline
}
BODY {
COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TH {
FONT-SIZE: 9pt
}
TD {
FONT-SIZE: 9pt
}
TD.page {
COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TD.title {
COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体
}
TD.detail {
COLOR: #9966ff; FONT-FAMILY:verdana,宋体,新宋体
}
</STYLE>
</head>
<body bgcolor="#FFFFFF" text="#000000" >
<div align="center"></div>
<table width="700" border="0" align="center">
<tr>
<table width="700" border="1" cellpadding="1" cellspacing="0" bordercolorlight="#9898ba" bordercolordark="#000000">
</table>
<br>
<table width="700" border="0">
<tr>
<td width="20"> </td>
<td colspan="2">
<div align="center">
<h3><b><!-- #BeginEditable "5" -->
<h3><font face="Verdana, Arial, Helvetica, sans-serif" ><b>TOMCAT
-jsp/Servlet 容器</b></font></h3>
<!-- #EndEditable --></b></h3>
</div>
</td>
<td width="20"> </td>
</tr>
<tr>
<td width="20"> </td>
<td colspan="2"><!-- #BeginEditable "6" --><br>
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应用的开发与实施。<br>
本文所用的环境:Win32(Windows 2000),UNIX(Red Hat Linux 7.0),Sun JDK 1.3。<br>
安装与配置<br>
Tomcat的URL在http://jakarta.apache.org/tomcat/index.html。Tomcat以源代码和预编译包分发,遵从Apache许可证
(http://www.apache.org/LICENSE.txt) 。<br>
Tomcat可以独立运行,或者与几种流行的Web服务器联合运行。像Apache Web Server(1.3+), Microsoft
Internet Information Server(4.0+), Microsoft Personal Web Server(4.0+),
Netscape Enterprise Server(3.0+) 。<br>
Tomcat运行需要Java Runtime Environment (JRE) 1.1以上,Web应用开发需要Java Develop
Kit(JDK) 1.1以上。在Microsoft Windows平台,Tomcat需要Windows NT , Windows 2000。<br>
下载合适(3.1版)的Tomcat发布jakarta-tomcat[.zip|.gz|.Z]。<br>
解压缩到合适的目录/usr/local或者C:\下(UNIX或者Windows)。<br>
设置环境变量TOMCAT_HOME和JAVA_HOME满足Tomcat的运行环境。<br>
【WIN32】<br>
set TOMCAT_HOME=c:\tomcat<br>
set JAVA_HOME=c:\jdk1.3<br>
set PATH=%PATH%;%JAVA_HOME%\bin <br>
【UNIX (bash/sh)】<br>
TOMCAT_HOME=/usr/local/tomcat ; export TOMCAT_HOME <br>
set JAVA_HOME=/user/local/java/jdk1.3; export JAVA_HOME<br>
set PATH=$PATH:$JAVA_HOME/bin; export PATH<br>
【UNIX (csh)】<br>
setenv TOMCAT_HOME=/usr/local/tomcat <br>
setenv JAVA_HOME=/user/local/java/jdk1.3<br>
setenv PATH=$PATH:$JAVA_HOME/bin
<p>Tomcat的启动和关闭使用TOMCAT_HOME的bin子目录下的程序:<br>
【WIN32】<br>
bin\startup.bat<br>
bin\shutdown.bat<br>
【UNIX (bash/sh)】<br>
bin/startup.sh<br>
bin/shutdown.sh<br>
应用举例<br>
创建一个主目录(/usr/local/hello 或者 c:\hello),包含以下文件和子目录:<br>
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脚本。</p>
<p>【HelloServlet.java】<br>
package com.longshine.demo; <br>
import java.io.*;<br>
import javax.servlet.*;<br>
import javax.servlet.http.*<br>
public class HelloServlet extends HttpServlet {<br>
public void doGet(HttpServletRequest request, HttpServletResponse
response)<br>
throws IOException, ServletException {<br>
response.setContentType("text/html");<br>
PrintWriter out = response.getWriter();<br>
out.println("<html> <body> <head> <title>Hello
World!</title> </head> <body> <h1>Hello
World!</h1> </body> </html>");<br>
}<br>
}</p>
<p>【web.xml】<br>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD
Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><br>
<web-app><br>
<display-name> Hello World JSP/Servlet Example </display-name><br>
<description><br>
This is a simple web application <br>
</description><br>
<servlet><br>
<servlet-name>HelloWorld</servlet-name><br>
<servlet-class>HelloServlet</servlet-class><br>
</servlet><br>
<servlet-mapping><br>
<servlet-name>HelloWorld</servlet-name><br>
<url-pattern>/test</url-pattern><br>
</servlet-mapping> <br>
</web-app><br>
【build.bat】<br>
@echo off<br>
rem build.bat -- Build Script for the "Hello, World" Application<br>
rem $Id: build.bat,v 1.1 2000/11/17 17:35:11 craigmcc Exp $<br>
set CP=<br>
rem ant in tomcat 3.1 is pretty old , ant 1.1 must<br>
set CP=%CP%;..\lib\ant.jar<br>
rem xerce xml parser<br>
set CP=%CP%;..\lib\xerces.jar<br>
set CP=%CP%;%TOMCAT_HOME%\classes<br>
set CP=%CP%;%TOMCAT_HOME%\lib\jasper.jar<br>
set CP=%CP%;%TOMCAT_HOME%\lib\webserver.jar<br>
set CP=%CP%;%TOMCAT_HOME%\lib\servlet.jar<br>
set CP=%CP%;%JAVA_HOME%\lib\tools.jar<br>
rem Execute ANT to perform the requested build target<br>
java -classpath %CP% org.apache.tools.ant.Main -Dtomcat.home=%TOMCAT_HOME%
%1 %2 %3 %4 %5 %6 %7 %8 %9</p>
<p>【build.sh】<br>
#!/bin/sh<br>
# build -- Build Script for the "Hello, World" Application<br>
# $Id: build,v 1.1 2000/11/17 17:35:13 craigmcc Exp $<br>
# Identify the custom class path components we need<br>
CP=../lib/ant.jar:../lib/xerces.jar<br>
CP=$TOMCAT_HOME/classes:$TOMCAT_HOME/lib/xml.jar<br>
CP=$CP:$TOMCAT_HOME/lib/jasper.jar:$TOMCAT_HOME/lib/servlet.jar<br>
CP=$CP:$TOMCAT_HOME/lib/webserver.jar<br>
CP=$CP:$JAVA_HOME/lib/tools.jar<br>
# Execute ANT to perform the requested build target<br>
java -classpath $CP org.apache.tools.ant.Main \<br>
-Dtomcat.home=$TOMCAT_HOME "$@"</p>
<p>【build.xml】<br>
<project name="Hello, World" default="compile"
basedir=".."><br>
<!-- Simple "Hello, World" project to provide a concrete
example of<br>
the recommendations in the Application Developer's Guide..<br>
--><br>
<target name="init"><br>
<property name="app.name" value="hello"/><br>
<property name="deploy.home" value="${tomcat.home}/webapps/${app.name}"/><br>
<property name="dist.home" value="${tomcat.home}/webapps"/><br>
<property name="dist.src" value="${app.name}.jar"/><br>
<property name="dist.war" value="${app.name}.war"/><br>
<property name="javadoc.home" value="${deploy.home}/javadoc"/><br>
</target><br>
<target name="prepare" depends="init"><br>
<mkdir dir="${deploy.home}"/><br>
<copydir src="web" dest="${deploy.home}"/><br>
<mkdir dir="${deploy.home}/WEB-INF"/><br>
<copyfile src="etc/web.xml" dest="${deploy.home}/WEB-INF/web.xml"/><br>
<mkdir dir="${deploy.home}/WEB-INF/classes"/><br>
<mkdir dir="${deploy.home}/WEB-INF/lib"/><br>
<copydir src="lib" dest="${deploy.home}/WEB-INF/lib"/><br>
<mkdir dir="${javadoc.home}"/><br>
</target><br>
<target name="clean"><br>
<deltree dir="${deploy.home}"/><br>
</target><br>
<target name="compile" depends="prepare"><br>
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"<br>
debug="on" optimize="off" deprecation="off"/><br>
</target><br>
<target name="javadoc" depends="prepare"><br>
<!-- TODO --><br>
</target><br>
<target name="all" depends="clean,prepare,compile,javadoc"/><br>
<target name="dist" depends="prepare,compile"><br>
<jar jarfile="${dist.home}/${dist.src}"<br>
basedir="." includes="**"/><br>
<jar jarfile="${dist.home}/${dist.war}"<br>
basedir="${deploy.home}" includes="**"/><br>
</target><br>
</project><br>
编译和实施<br>
在编译以前,要保证JAVA_HOME指向JDK路径,并且正确的设置环境变量CLASSPATH和PATH。<br>
【WIN32】<br>
cd c:\hello\build<br>
build all<br>
build dist<br>
【UNIX】<br>
cd /usr/local/hello<br>
build all<br>
build dist<br>
在Tomcat的配置文件$TOMCAT_HOME/conf/server.xml加入下面一行:<br>
…<br>
<Context path="/hello" docBase="webapps/hello"
debug="0" reloadable="true" > </Context><br>
…<br>
然后启动Tomcat。用Internet Explorer 或者Netscape Navigator 打开URL:<br>
http://loc2alhost:8080/hello/test<br>
查看输出的结果。<br>
小结 <br>
在J2EE中间,配置文件都是使用Extend Markup Language(XML)实现,因此Tomcat的运行需要调用xml解释包xml.jar。关于XML的介绍和应用,请参考<br>
http://www.w3.org/TR/xml <br>
http://www.sun.com/xml<br>
http://www.xml.org<br>
http://www.xmlsoftware.com<br>
等URL。Tomcat的配置也不例外,采用相同的方法。Tomcat中Web Application的实施可以参考Tomcat所附带的用户指南。</p>
<!-- #EndEditable --></td>
<td width="20"> </td>
</tr>
<tr>
<td width="20" height="11"> </td>
<td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
<td width="101" height="11">
</td>
<td width="20" height="11"> </td>
</tr>
</table><div align="center"> <br>
</div>
</td>
</tr>
</table>
<div align="center">
<br>
</div>
</body>
<!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -