要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat。
Tomcat5.5(我使用的这个版本,所以我就以这个版本来讲):
然后把这个压缩包解压到:
C:/Tomcat
然后再配置环境变量;添加三个系统变量:
JAVA_HOME: C:/JDK
TOMCAT_HOME: C:/Tomcat
CLASSPATH: %JAVA_HOME%/lib;%TOMCAT_HOME%/lib
Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:
在控制台中转到C:/Tomcat/bin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行。
在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了。然后和上面一样,写入你的第一个Servlet。
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>");
}
}
然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.*
这是因为没有这个类所导致的
大家只要把C:/Tomcat/common/lib下的 servlet-api.jar 拷贝到C:/JDK/jre/lib/ext中,再次编译,就没有问题了!
如果找不到该包,请到网上下一个。
然后在Tomcat目录里面的C:/Tomcat/webapps/ROOT里面按如下的文件结构:
ROOT/index.html
ROOT/welcom.jsp
ROOT/WEB-INF/lib/MyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
ROOT/WEB-INF/classes/HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)
然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found
怎么回事呢?
Servlet必须使用C:/Tomcat/webapps/ROOT/WEB-INF这个目录下面的web.xml文件进行注册,用EP打开这个web.xml文件,在里面加入:
<servlet>
<servlet-name>HelloWorld</servlet-name> <!--标示名,这里可以随便取-->
<servlet-class>HelloWorld</servlet-class>
<!--该类的位置,如果该类在包里面,则需加上包名
如:hello.class在包ukeychen里面。 那么,在这里就写成:ukeychen.hello
-->
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name> <!--标示名,必须跟上面的一样-->
<url-pattern>/servlet/helloworld</url-pattern> <!--这个是要条用该类的地址,也可以随便写的,不过最后按意思来,这样方便记忆-->
</servlet-mapping>
在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。
本文参考于:http://blog.csdn.net/arielxp/archive/2004/09/16/106106.aspx