关于Tomcat部署Servlet的问题,参考书是《Java 2 Primer Plus》,照着书弄了好久,没有解决,郁闷~~,上网一查,原来新手都遇到这个问题,汗~~,网上资料太丰富,看得我眼花缭乱,我这里也总结下:

1、下载Tomcat并安装:

    下载地址:http://tomcat.apache.org/download-70.cgi (Tomcat 7.0)

    安装目录:D:\Program Files\Apache Software Foundation\Tomcat 7.0 (当然是我的~_~)

    提示: 下载最后一个是安装的,第3个是免安装的

                   }Y6Z`7RU9M}Z{D2GLPSW4NU

2、运行Tomcat:

    法一:D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tomcat7w.exe

    法二:在cmd中,进入D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin>

             start tomcat7w.exe

    其实这步本来不用讲的,但是,当时参照书上给的命令,始终不能运行,我还以为是我安装出了问题,汗~~, 

    这里讲下,避免有人像我一样纠结

    点击界面上的start, tomcat就运行了,结束当然就是stop

    然后,浏览器中http://localhost:8080,即可验证是否安装成功

3、现在编写java程序:GenericHello.java(就是上面那本书里的)

import javax.servlet.*;
import java.io.*;

public class GenericHello extends GenericServlet
{
        public void init(ServletConfig config) throws ServletException
        {
               super.init(config);
        }

        public void destroy()

       {

        }

        public void service(ServletRequest req, ServletResponse resp)

        throws ServletException, java.io.IOExceptio

        {

                 resp.setContentType("text/html");

                java.io.PrintWriter out = resp.getWriter();

                out.println("Hello from the GenericHello Servlet");

                out.close();

        }

        public String getServletInfo()

        {

                return "This servlet tests the GenericServlet class";

         }

}

编译,会报错,import.javax.servlet.*;

解决方法: 将D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\的servlet-api.jar拷贝到

                D:\Program Files\Java\jdk1.6.0_23\jre\lib\ext\下即可,注意对应自己的路径

4、部署:

    4.1    添加3个环境变量:

    JAVA_HOME: D:\Program Files\Java\jdk1.6.0_23

    TOMCAT_HOME: D:\Program Files\Apache Software Foundation\Tomcat 7.0

    CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib

    4.2    在D:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\文件中

    创建:index.html、welcom.jsp两个文件

    4.3    将GenericHello.class文件,拷到ROOT\WEB-INF\classes\中

    4.4    打开ROOT\WEB-INF\中的web.xml文件,在其中添加:

    <servlet>

    <servlet-name>GenericHello</servlet-name>

    <servlet-class>GenericHello</servlet-class>

    </servlet>

    <servlet-mapping>

    <servlet-name>GenericHello</servlet-name>

    <url-pattern>/servlet/GenericHello</url-pattern>

    </servlet-mapping>

    注意:编辑完后,记得要重启Tomcat

    http://localhost:8080/servlet/GenericHello

    嗯,应该能成功显示,在这个过程中,我遇到了很多诡异问题,以上步骤最好一步都不要少,我曾经尝试了省略4.1或者省略4.2,或者两个同时省略等,都不能成功运行,然后全部加上之后,有时还会出些问题,如果不成功,就多试几次,实验表明,上述步骤是能成功的

    更正:原来4.2省略也是可以的