关于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个是免安装的
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省略也是可以的