我创建了我的第一个webapplication。我设置了我的网络服务器(tomcat + apache2)并尝试在其上部署应用程序。当我测试应用程序时,它在我的测试环境中运行良好,但是当创建战争并部署它时,出现以下错误(异常):
HTTP状态500 -
输入例外报告
消息
description服务器遇到内部错误(),导致无法完成此请求。
例外
org.apache.jasper.JasperException:无法为JSP编译类:
生成的java文件中第14行发生错误 只能导入一种类型。 bitcoin.BitcoinHandler解析为包
jsp文件中的第16行:/Balance.jsp发生错误
BitcoinHandler无法解决
13:双倍你的币= 0.0;
14:随机rand = new Random();
15:
16:balance = new Double(BitcoinHandler.getBalance(“give”));
17:
18:
19:如果(余额> 2.5)
堆栈跟踪: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469) org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
注意Apache Tomcat / 7.0.27日志中提供了根本原因的完整堆栈跟踪。 Apache Tomcat / 7.0.27
应用程序无法找到WEB-INF / classes文件夹中的类。我不知道为什么!??有人可以帮助我吗?
评论中提供的代码
<%@page import="bitcoinmonitor.BitcoinHandler"%>
<%@page import="java.util.Random"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
double balance=0.0;
double yourcoins=0.0;
Random rand=new Random();
balance=new Double(BitcoinHandler.getBalance("give"));
答案 0 :(得分:0)
实际上您在异常报告中有一些信息,请仔细查看line: 16 in the jsp file: /Balance.jsp
您也可以在此处放置此文件中的代码以向我们提供更多信息。据我所知,您对BitcoinHandler
对象有疑问,可能是您没有将此类导入Balance.jsp
答案 1 :(得分:0)
这告诉我你的测试和生产环境不一样。有一种依赖或假设,即你所做的那些在失败的环境中没有得到妥善解决。
您正在使用JSP中的scriptlet代码,这是在寻找麻烦。我建议学习JSTL并编写servlet来验证和绑定请求,完成用例,并传递JSP所需的信息来显示。事实证明,你的设计规模很小,并且在90年代成为维护的噩梦。
答案 2 :(得分:0)
问题是JSP子目录..我现在把JSP放到根目录中,它最终像魅力一样工作..