在网上看了一大堆资料,要么是版不一样,要么是路径不一么,就是无法配置成功,测试成功.
环境:
  1.OS :XP ; 
  2.TOMCAT: 5.0.30 ;
  3.JDK :1.4.2;
  4.JRE 1.5;   TOMCAT 安装路径为:D:\werser\tomcat5.0 , JDK 安装路径C:\j2sdk (不知这个大小写有没有关系) ;JRE 默认安装在 C:\Program Files\Java\jre1.5.0_04.
   os 环境设置 :classpath =.;C:\j2sdk\lib\dt.jar;C:\j2sdk\lib\htmlconverter.jar;C:\j2sdk\lib\tools.jar;c:\j2sdk\bin
path =.;C:\j2sdk\bin\;d:\java
TOMCAT_HOME=D:\WebSer\Tomcat 5.0测试:
      能看到tomcat 的welcome 页。问题:
 写了一个测试页如下:
<HTML>
<BODY>Hello! The time is now <%= new java.util.Date() %></BODY>
</HTML>保存为myjsp.jsp.然后把它放在 D:\WebSer\Tomcat 5.0\webapps\ROOT (不知路径放对了没)然后在ie 的地址栏中录入http://localhost:8080/myjsp.jsp,回车,出现如下信息(好象是说没有找到jdk,但我在cmd下测试我的java 程序又没有问题),不知是何原因,还望各位指点?HTTP Status 500 - 
--------------------------------------------------------------------------------
type Exception report
message 
description The server encountered an internal error () that prevented it from fulfilling this request.
exception 
org.apache.jasper.JasperException: Unable to compile class for JSP
        org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
        org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
        org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:439)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:497)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause 
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
        org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:105)
        org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:929)
        org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758)
        org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:407)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:497)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.

解决方案 »

  1.   

    你看看设一下java_home=C:\j2sdk ;还有你的classpath怎么没有D:\WebSer\Tomcat 5.0\tools.jar?
    这样也能看到tom cat?
      

  2.   

    设一下变量
    Tomcat_home 
    路径是tomocat安装目录
      

  3.   

    设置一下这个变量为tomcathome变量 的CATALINA_HOME=tomcat的安装目录。你再 重装一下tomcat,它会 提示你找到jdk
      

  4.   

    我试过这个问题。要在root目录下建立一个WEB-INF 目录。就可以了。
    当然classpath是必须的。
      

  5.   

    系统环境变量中CATALINA_HOME和JAVA_HOME都是必要,一定要设置的
    还有在系统环境变量的path中添加上%JAVA_HOME%\bin
      

  6.   

    这个是我综合了一些资料总结出来的,你看看对你有用没用:第一步:下载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中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 第三步:建立自己的jsp app目录 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples,tomcat-docs之类Tomcat自带的的目录; 2.在webapps目录下新建一个目录,起名叫myapp; 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 4.WEB-INF下新建一个文件web.xml,内容如下: 
    <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.
    //DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 
    <web-app> 
    <display-name>My Web Application
    </display-name> 
    <description> 
    A application for test. 
    </description> 
    </web-app>
    5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: 
    <html><body><center> 
    Now time is: <%=new java.util.Date()%> 
    </center></body></html>
    6.重启Tomcat 7.打开浏览器,输入http://localhost:8080/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("<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.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>org.apache.jsp.index_jsp</servlet-name>
      <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    </servlet>
      <servlet-mapping>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <url-pattern>/index.jsp</url-pattern>
      </servlet-mapping>
    替换成: 
    <servlet>
      <servlet-name>HelloWorld</servlet-name>
      <servlet-class>HelloWorld</servlet-class>
    </servlet>
      <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>
    为什么呢?因为这样的结构 
    <servlet>
      <servlet-name>HelloWorld</servlet-name>
      <servlet-class>HelloWorld</servlet-class>
    </servlet>
    表示指定包含的servlet类。而以下的结构: 
    <servlet-mapping>
      <servlet-name>HelloWorld</servlet-name>
      <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>
    表示指定HelloServlet应当映射到哪一种URL模式。在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld。如果你看见了“Hello,World!”这几个大字的话,那么恭喜你成功了!&#61514;
      

  7.   

    root cause 
    Unable to find a javac compiler;
    com.sun.tools.javac.Main is not on the classpath.
    Perhaps JAVA_HOME does not point to the JDK错误说得很清楚了,找不到javac,所以你还是检查一正路径吧。
      

  8.   

    D:\werser\tomcat5.0 , JDK 安装路径C:\j2sdk (不知这个大小写有没有关系) ;JRE 默认安装在 C:\Program Files\Java\jre1.5.0_04.鉴于你的安装路径,我给你写需要配置的环境:
    JAVA_HOME : C:\j2sdk 
    TOMCAT_HOME : D:\werser\tomcat5.0classpath : .;%TOMCAT_HOME%\common\lib;%JAVA_HOME%\lib  注意 点 分号   .;
    path 下,添加 :%JAVA_HOME%\bin我的环境就是这样,你试试,另外你看看  %TOMCAT_HOME%\common\lib 下要是没有tool.jar 就从
    %JAVA_HOME%\lib  考一个过来
      

  9.   

    classpath里加一个%TOMCAT_HOME%\common\lib\servlet.jar;就行了
      

  10.   

    在path 中加入 %SystemRoot%\system32;%SystemRoot%;
      

  11.   

    我也出现了这个问题最后是从%JAVA_HOME%\lib  考一个tool.jar 到%TOMCAT_HOME%\common\lib 下
    重起tomcat,就没问题了