日期:2014-05-20  浏览次数:20843 次

熟悉myecplise 6.5的大侠进来看一下
程序如下:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY bgcolor=cyan ><FONT size=4>
  <%! final double PI=Math.PI;
  double r;
  double getArea(double a){
  return PI*a*a;  
  }
  double getLength(double a) {
  return 2*PI*a;
  }
  %>
  <% r=100;
  out.println("调用getArea方法计算半径是"+r+"的园的面积:");
  double area=getArea(r);
  out.println(area);
  r=50;
  out.println("<BR>调用getLength方法计算半径是"+r+"的园的周长:");
  double length=getLength(r);
  out.println(length); 
  %>
</FONT></BODY></HTML>
我TOMCAT 5.0已经可以成功启动;而且我的jdk在D盘,jre home directory如下D:/java;
结果是如下:

2011-6-2 20:55:02 org.apache.jasper.compiler.Compiler generateClass
严重: Error compiling file: /E:/Tomcat 5.0/work/Catalina/localhost/ch3//org/apache/jsp\example_jsp.java [javac] Compiling 1 source file
输入http://localhost:8080/ch3/index.jsp如下:
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: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 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: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.


--------------------------------------------


------解决方案--------------------
Perhaps JAVA_HOME does not point to the JDK

这个有问题么?