我的TOMCAT安装在D:\Program Files\Apache Software Foundation\Tomcat 5.0
我的环境变量配置的是:
CATALINA_BASE D:\Program Files\Apache Software Foundation\Tomcat 5.0
CATALINA_HOME D:\Program Files\Apache Software Foundation\Tomcat 5.0
ClassPath D:\Program Files\Java\jdk1.5.0_04\lib;D:\class;D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet.jar;
JAVAHOME D:\Program Files\Java\jdk1.5.0_04
运行http://localhost:8080/正常
我把放在ROOT下面的a.jsp运行http://localhost:8080/a.jsp却报错
我a.jsp的编码很简单,而且放在别人的TOMCAT下可以运行。
<%@page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
<title>shiyan</title>
</HEAD>
<BODY>
<%out.println("HHH");
%>
</BODY>
</HTML>
可是我运行就报错
type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.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:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
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 causeUnable 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:106)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
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.28 logs.
请问怎么回事??

解决方案 »

  1.   

    哦,Unable to find a javac compiler;你要在环境变量中的path:加上";%JAVA_HOME%bin"
      

  2.   

    ClassPath :  .;%JAVAHOME %\lib\dt.jar;%JAVAHOME %\lib\tools.jar;
    path: %JAVAHOME %\bin;
      

  3.   

    org.apache.jasper.JasperException: Unable to compile class for JSP
      

  4.   

    JAVAHOME的名字应该改为JAVA_HOME
      

  5.   

    JAVA_HOME does not point to the JDK
      

  6.   

    环境变量的问题了
    JAVAHOME的名字应该改为JAVA_HOME
      

  7.   

    Tomcat 还要配置吗???
    没听说过也。
    把你的jdk安好就够了。JAVAHOME的名字应该改为JAVA_HOME
    是正解
      

  8.   

    是环境变量的问题:
    需要配置的环境变量有:JAVA_HOME=D:\Program Files\Java\jdk1.5.0_04在path中添加:
    path=D:\Program Files\Java\jdk1.5.0_04\bin;(注意用分号和已有内容分开)新建classpath:
    calsspath=D:\Program Files\Java\jdk1.5.0_04\lib\*.jar就可以了,其余全部去掉,tomcat不用配置环境变量也可以
    配置完毕测试一下:
    运行里cmd  打开dos命令窗口分别运行javac和java能看出配置是否成功
      

  9.   

    我觉得是Tomcat安装时路径与jdk对应不上来