Tomcat下运行servlet

来源:互联网 发布:nginx配置location详解 编辑:程序博客网 时间:2024/04/27 03:15

author: scruffybear

release time: 21/10/2006

company: Watchdata  

如有转载,请注明出处,并保持文章的完整性,谢谢!   

    Tomcat下运行Servlet以前虽然没有做过关于servlet的开发,但是也配置过,当时是成功了,现在重新做一下,发现竟然已经忘了怎么配置了,由于受到前几天病毒的影响,本来早就试验成功,今天继续研究了一下,没想到一下成功了,所谓会者不难,难者不会,有些东西还是要靠自己去慢慢摸索,网络是最好的老师。

一、安装Tomcat并配置环境变量。

    首先是安装Tomcat,安装JDK的方法在前面的日志中已经提到过,这个是必须的,Tomcat我使用是较为老一点的版本,Tomcat5.0,安装路径为C:/Tomcat 5.0/
    在环境变量里添加以下两个变量,作用以前也提到过,不赘述:
       CATALINA_HOME=C:/Tomcat 5.0/
       CATALINA_BASE=C:/Tomcat 5.0/
    
    在C:/Tomcat 5.0/common/lib目录下加入一个运行servlet所必须的包servlet.jar,我以前以为是my-servlet.jar,后来发现不是,但又找不到,最后是在网上好不容易下到的,所以小心地做好了备份,这回又拷贝出来用。
    
    拷贝了所需要的servlet.jar包后,再把C:/Tomcat 5.0/common/lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
    classpath=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%CATALINA_HOME%/common/lib/servlet.jar;
  
    接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。


二、运行servlet。

1,首先编写一个HelloWorld.java 并编译生成HelloWorld.class,代码如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
  {
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
   {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><head><title>");
    out.println("This is my first Servlet");
    out.println("</title></head><body>");
    out.println("<h1>Hello,World!</h1>");
    out.println("</body></html>");
  
   }
   }

2,建立工作目录。

    在C:/Tomcat 5.0/webapps目录下创建一个我的工作目录 myServlets,跟着在myServlets下创建WEB-INF目录,在WEB-INF目录下再创建 classes 目录,这个classes 目录是用来存放你编译好的.class(即是你要运行的servelt文件,这里为HelloWorld.class),我的人个全路径是:
      C:/Tomcat 5.0/webapps/myServlets/WEB-INF/classes
将编译好的HelloWorld.class拷贝到 C:/Tomcat 5.0/webapps/myServlets/WEB-INF/classes下。

3,修改配置文件。
    
    如果这个时候在网址栏里输入http://localhost:8080/myServlet/HelloWorld,只会出现常见的找不到网络资源404错误,因为servlet和工作目录都没有注册,Tomcat找不到相应的资源。这里要分别修改两个文件:web.xml, server.xml进行注册。

    首先修改server.xml文件,作用为注册工作目录。用记事本打开 C:/Tomcat 5.0/conf 下的 server.xml文件
并找到一下一段内容:
        <!--
          <Context path="" docBase="ROOT" debug="0">
        -->

修改如下:
        <!--
          <Context path="" docBase="ROOT" debug="0">
          <Context path="/myServlets" docBase="myServlets" debug="0" reloadable="true" crossContext="true">            
        -->
在这里要注意,一定要将内容写在 <!--和--> 之间,否则也会出404错误,想到Tomcat真BT,让我们走了多少冤枉路。

    修改web.xml,这个文件是在C:/Tomcat 5.0/webapps/myServlets/WEB-INF,其实这个文件是不存在的,新创建一个,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>  
    网上提醒说添加的内容必须放置在</description>跟</web-app>之间,而不是直接在</web-app>后面添加,又一个陷井。


4,运行Servlet。
    最后运行servlet,重新启动Tomcat(即startup.bat),打开浏览器,输入http://localhost:8080 在后面加上工作目录名 myServlets 再加上servelt文件名(即:编译好的.class文件)
    全路径为:http://localhost:8080/myServlet/HelloWorld
    出现的网页的标题是:This is my first Servlet, 硕大的英文Hello World ,大功告成,Tomcat开源的果真BT!