Chinaunix首页 | 论坛 | 博客
  • 博客访问: 820794
  • 博文数量: 754
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 12:54
文章分类

全部博文(754)

文章存档

2011年(1)

2008年(753)

我的朋友
最近访客

分类:

2008-09-12 13:12:58


  经常看到jsp的初学者问tomcat下如何配置jsp、servlet的问题,于是总结了一下如何tomcat下配置jsp、servlet,希望对那些初学者有所帮助。
  
  第一步:j2sdk和tomcat:到sun官方站点
  
  最新的jdk为1.5,tomcat为5.5,建议jdk1.4以上,tomcat4.0以上
  
  第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后设置按照路径进行安装即可。
  
  1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2):
  
  JAVA_HOME=c:
  \j2sdk1.4.2
  classpath=.;
  %JAVA_HOME%\lib\dt.jar;
  %JAVA_HOME%\lib\tools.jar;
  
  path=%JAVA_HOME%\bin
  
  接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
  
  public class Test
  {
  public static void main
  (String args[])
  {
  System.out.println
  ("This is a test program.");
  }
  }
  
  将上面的这段程序保存为文件名为Test.java的文件。
  
  然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令:
  
  javac Test.java
  java Test
  
  此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
  
  2、安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
  
  CATALINA_HOME:c:\tomcat
  CATALINA_BASE:c:\tomcat
  TOMCAT_HOME: C:\Tomcat
  
  然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
  
  classpath=.;
  %JAVA_HOME%\lib\dt.jar;
  %JAVA_HOME%\lib\tools.jar;
  %CATALINA_HOME%\common\lib\servlet.jar;
  
  接着可以启动tomcat,在IE中访问,如果看到tomcat的欢迎页面的话说明安装成功了。
  
  第三步:建立自己的jsp app目录
  
  1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
  
  2.在webapps目录下新建一个目录,起名叫myapp;
  
  3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
  
  4.WEB-INF下新建一个文件web.xml,内容如下:
  
    encoding="ISO-8859-1"?>
  
    PUBLIC "-//Sun Microsystems,
  Inc.//DTD Web Application 2.3//EN"
  "">
  
  
  My Web Application
  

  
  A application for test.
  

  

  
  5、在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
  
  

  Now time is:
  <%=new java.util.Date()%>
  

  
  6、重启Tomcat
  
  7、打开浏览器,输入/myapp/index.jsp 看到当前时间的话说明就成功了。
  
  第四步:建立自己的Servlet:
  
  写入你的第一个Servlet:
  
  import java.io.*;
  import javax.servlet.*;
  import javax.servlet.http.*;
  public class HelloWorld
  extends HttpServlet
  {
  public void doGet
  (HttpServletRequest request,
  HttpServletResponse response)th
  rows ServletException,IOException
  {
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out.println("");<br>  out.println("This is my first Servlet");<br>  out.println("");
  out.println("

Hello,World!

");
  out.println("");
  
  }
  }
  
  然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servl
  
  et.*
  
  那么就是应该把C:\Tomcat\common\lib里面的servlet.jar文件拷贝到C:\JDK\jre\lib\e
  
  xt中,再次编译,就没有问题了。
  
  然后在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文件放在这个里面)
  
  然后在浏览器中输入/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found
  
  怎么回事呢?
  
  Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册,
  
  用EP打开这个web.xml文件,
  
  把下面这段程序
  
  
  HelloWorld
  HelloWorld
  

  
  HelloWorld
  /servlet/HelloWorld
  

  
  替换成
  
  
  HelloWorld
  HelloWorld
  

  
  HelloWorld
  /servlet/HelloWorld
  

  
  为什么呢?
  
  因为 这样的结构
  
  
  HelloWorld
  HelloWorld
  

  
  表示指定包含的servlet类.
  
  而以下的结构
  
  
  HelloWorld
  /servlet/HelloWorld
  

  
  表示指定HelloServlet应当映射到哪一种URL模式。
  
  在修改web.xml完毕过后,重新启动Server,然后再输入/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。
【责编:admin】

--------------------next---------------------

阅读(336) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~