Servlet容器(Tomacat)介绍及配置

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">


My Web Application

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 文件定义如下:


Now time is: <%=new java.util.Date()%>

运行 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("LefeServletDemo");
    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 文件

元素和 中 加入


       servletTest
    servletTest
  

  
       servletTest
    /servlet/servletTest
  

4. 在浏览器中输入 :http://localhost:8080/servelt/servletTest 

可得到以下结果:LefeServletDemo 自从加载后(读取参数化后)这个servlet 已经被访问过了 4

一直刷新,数字一直累加。

其实也可以通过这个例子说明 一个 Servelt 的生命周期。

5. 总结:这是一个简单的 Tomcat 配置的测试,具体的原理以及各个文件的说明以后有时间再写。当然还有其它的配置方法,这是一种最简单的方法,直接将文件部署到 Tomcat 容器中运行。

有空再详写^^^^^^^

 

 

你可能感兴趣的:(Jsp&Servlet)