Tomcat 是一种有JSP环境的Servlet 的容器,标准定义是:Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境,这个容器是代替用户管理和调用Servlet 时运行的一个外壳。
Servelt 容器的作用:
Servlet 容器的作用是负责处理客户端的请求,当一个来自于客户端的请求被 HTTP服务器接受到时,HTTP服务器将请求提交到Servlet 容器。根据请求调用某个 Servlet ,并把执行结果依次传递给 Servlet 容器-->Http服务器,最后将执行结果呈现到客户端。
当客户请求某个资源时,Servlet容器使用ServletRequest对象把客户的请求信息封装起来,然后调用Java Servlet API中定义的Servlet的一些生命周期方法,完成Servlet的执行,接着把Servlet执行的要返回给客户的结果封装到ServletResponse对象中,最后Servlet容器把客户的请求发送给客户,完成为客户的一次服务过程。
Tomcat 5.5 下载地址连接(所有版本):
http://www.cuku.net/show.php/309.html 这个网页链接了所有 tomcat 下载地址。
配置 tomcat :
1. 在正确配置了 JDK 基础之上,设置 tomcat_home 变量(系统变量)
tomcat_home = C:/apache-tomcat-5.5.20 (本人的)
2.在 C:/apache-tomcat-5.5.20/common/lib 中加上 servlet-api.jar
在C:/Program Files/Java/jdk1.5.0_04/jre/lib/ext/ 中也加上 servlet-api.jar
这个.jar 可以在 JBuilder 中找到
C:/Borland/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27/common/lib
在path 系统变量中加上 :
%tomcat_home%/common/lib/servlet-api.jar;
以前的版本是 servlet.jar ,看情况自己更改。
(红色字体代表的是自己添加的文件夹)
3. 在 C:/apache-tomcat-5.5.20/webapps 中 添加一个自己的文件夹,此文件夹用来保存你要在 Tomcat 容器上运行的 .jsp 文件
添加一个文件夹, 我的是 myapp.
此 文件夹下 添加一个 WEB-INF (不要写错).
在WEB-INF 文件夹下 再添加一个文件 web.xml,并在此 xml 文件中添入下列元素:
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
A application for test.
此 web.xml 文件位于:C:/apache-tomcat-5.5.20/webapps/myapp/WEB-INF
试一个 jsp 文件
在此目录下:C:/apache-tomcat-5.5.20/webapps/myapp添加一个 index.jsp 文件
index.jsp 文件定义如下:
运行 C:/apache-tomcat-5.5.20/bin 下的 startup.bat 文件,tomcat 启动。
在地址栏输入:http://localhost:8080/myapp/index.jsp
页面显示结果 :Now time is: Tue May 29 23:13:16 CST 2007
试一个 Servlet
1.先写一个 Servlet 的 .java 文件
这个 servletTest 类 继承了 HttpServlet ,实现了 至少一个 doGet( ) 或者 doPost ( )方法,这个类主要的是用来描述 一个 Servelt 的生命周期。
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/**
*@author : Simon lv
*/
public class servletTest
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
int count;
//Initialize global variables
public void init(ServletConfig config) throws ServletException {
super.init(config);
String initial = config.getInitParameter("initial");
try{
count = Integer.parseInt(initial);
}catch(NumberFormatException e){
count =0;
}
System.out.println("记数器 Servlet 已经初始化成功!");
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("");
out.println("
out.println("");
count++;
out.println("自从加载后(读取参数化后)");
out.println("这个servlet 已经被访问过了");
out.println(count+" 次");
out.println("");
out.println("");
out.close();
System.out.println("该servlet 的 doGet 方法被执行一次");
this.destroy();
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}
用 javac servletTest.java 编译后 得到一个 servletTest.class 文件
2.在已经存在的目录 C:/apache-tomcat-5.5.20/webapps/ROOT/WEB-INF 下
创建一个 classes 文件夹(无则创建)
把 servletTest.class 文件放到 C:/apache-tomcat-5.5.20/webapps/ROOT/WEB-INF/classes 中去
3. 配置 C:/apache-tomcat-5.5.20/webapps/ROOT/WEB-INF 目录下的 web.xml 文件
在
4. 在浏览器中输入 :http://localhost:8080/servelt/servletTest
可得到以下结果:LefeServletDemo 自从加载后(读取参数化后)这个servlet 已经被访问过了 4 次
一直刷新,数字一直累加。
其实也可以通过这个例子说明 一个 Servelt 的生命周期。
5. 总结:这是一个简单的 Tomcat 配置的测试,具体的原理以及各个文件的说明以后有时间再写。当然还有其它的配置方法,这是一种最简单的方法,直接将文件部署到 Tomcat 容器中运行。
有空再详写^^^^^^^