tomcat配置,高手请进呀
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.
以上是JSP页面报的错,小弟改了半天,但总是那样,请高手指教一下哟
参考答案:JDK装了没,环境变量里的JDK和JAVAHOME的PATH设了没
环境变量里的PATH一定要设的,不然它靠什么去找你的路径呢
你看报出的信息
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
就是因为找不到才这样
第一步,安装JDK后,先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“java_home”、“path”、“classpath”,其中在没安装过jdk的环境下。path属性是本来存在的。而java_home和classpath是不存在的。
首先点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,然后在变量值写入刚才安装的jdk路径例如“C:\jdk1.4”.
其次在系统变量里面找到path,然后点编辑,path变量的含义就是系统在任何路径下都可以识别java命令,则变量值为“%java_home%\bin;%java_home%\jre\bin”,(其中“%java_home%”的意思为刚才设置java_home的值),也可以直接写上例如“C:\jdk1.4\bin”
最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\lib;%java_home%\lib\tools.jar (要加.表示当前路径)”,与相同“%java_home%有相同意思”
以上三个变量设置完毕,则按“确定”直至属性窗口消失,下来是验证看看安装是否成功。先打开“开始”->“运行”,打入“cmd”,进入dos系统界面。然后打“java -version”,如果安装成功。系统会显示java version jdk"1.4.08"......(不同版本号则显示不同)。
第二步,安装tomcat。 安装的过程就像安装windows的其它软件一样简单,选路径,下一步直到完成。其中要注意的是端口号,在安装过程中会提示你修改端口号,如果你没有别的服务器,建议你把端口号修改为80,这样方便你以后调试程序。如果你已经有别的服务器占据了80或者你不怕以后调试时不厌其烦的在地址栏输入8080,那就保持8080。
然后开启servlet调试器。主要是为了在不修改web.xml文件的情况下也能运新servlet,随着学习的深入,你会体会到这样带来的便利性,但不建议企业服务器这么做,仅限于学习阶段。具体做法如下,在tomcat的根目录下,比如我的安转目录是D:\Apache Software Foundation\Tomcat 5.5找到conf文件夹下的web.xml文件.把其中如下的servlet和servlet-mapping元素注释去掉:
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
...
</servlet>
...
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
一切OK,进入第三步.
测试服务器.
测试服务器的基本配置. 开始 - 程序 - Apache Tomcat 5.5 - Monitor Tomcat - Start 来启动服务器. 在浏览器地址栏输入(注意:port是你设置的端口好)看能否正确显示Tomcat服务器说明页面.如不行,请检查以上配置.
测试html文件. hello.html写好,拷贝至 tomcat主目录\webapps\ROOT\ 下.在浏览器地址栏输入(注意文件名的大小写).
测试JSP文件. hello.jsp写好,拷贝至 tomcat主目录\webapps\ROOT\ 下.在浏览器地址栏输入(注意文件名的大小写).
测试servlet. 写好HelloServlet.java并编译.把HelloServlet.class拷贝至 tomcat主目录\webapps\ROOT\WEB-INF\classes(一般需要自己建一个classes文件夹)下,在浏览器地址栏输入 (这里可以看到开启servlet调试器的便利之处).