转载

Servlet的运行环境配置浅谈

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的运行环境的环境变量;添加三个系统变量:

  1. JAVA_HOME: C:/JDK  
  2. TOMCAT_HOME: C:/Tomcat  
  3. CLASSPATH: %JAVA_HOME%/lib;%TOMCAT_HOME%/lib 

Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:

在控制台中转到C:/Tomcat/bin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行。

在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了。然后和上面一样,写入你的第一个Servlet。

  1. import java.io.*;  
  2. import javax.servlet.*;  
  3. import javax.servlet.http.*;  
  4. public class HelloWorld extends HttpServlet  
  5. {  
  6. public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException  
  7. {  
  8.  
  9. response.setContentType("text/html");  
  10. PrintWriter out = response.getWriter();  
  11. out.println("htmlheadtitle");  
  12. out.println("This is my first Servlet");  
  13. out.println("/title/headbody");  
  14. out.println("h1Hello,World!/h1");  
  15. out.println("/body/html");  
  16.  
  17. }  

然后照样用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文件,在里面加入:

  1. servlet  
  2. servlet-nameHelloWorld/servlet-name  
  3. servlet-classHelloWorld/servlet-class  
  4. /servlet  
  5. servlet-mapping  
  6. servlet-nameHelloWorld/servlet-name  
  7. url-pattern/servlet/helloworld/url-pattern  
  8. /servlet-mapping  

这样的结构

  1. servlet  
  2. servlet-nameHelloWorld/servlet-name  
  3. servlet-classHelloWorld/servlet-class  
  4. /servlet 

表示指定包含的servlet类。而以下的结构:

  1. servlet-mapping  
  2. servlet-nameHelloWorld/servlet-name  
  3. url-pattern/servlet/HelloWorld/url-pattern  
  4. /servlet-mapping 

表示指定HelloServlet应当映射到哪一种URL模式。

在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。

Servlet的运行环境配置完成之后我们就可以进行我们有趣的Servlet编程旅程了。

正文到此结束
Loading...