Servlet的运行环境需要什么呢?
首先我们讨论要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat。
Tomcat(最新版本5.0):http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把这个压缩包解压到:
C:/Tomcat
然后再配置Servlet的运行环境的环境变量;添加三个系统变量:
- 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("htmlheadtitle");
- out.println("This is my first Servlet");
- out.println("/title/headbody");
- out.println("h1Hello,World!/h1");
- out.println("/body/html");
- }
- }
然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.*
那么就是应该把C:/Tomcat/common/lib里面的servlet.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-nameHelloWorld/servlet-name
- servlet-classHelloWorld/servlet-class
- /servlet
- servlet-mapping
- servlet-nameHelloWorld/servlet-name
- url-pattern/servlet/helloworld/url-pattern
- /servlet-mapping
这样的结构
- servlet
- servlet-nameHelloWorld/servlet-name
- servlet-classHelloWorld/servlet-class
- /servlet
表示指定包含的servlet类。而以下的结构:
- servlet-mapping
- servlet-nameHelloWorld/servlet-name
- url-pattern/servlet/HelloWorld/url-pattern
- /servlet-mapping
表示指定HelloServlet应当映射到哪一种URL模式。
在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。
Servlet的运行环境配置完成之后我们就可以进行我们有趣的Servlet编程旅程了。