我的Web应用程序在IDE中测试时工作正常,但在Web服务器上不起作用(tomcat)

时间:2012-05-06 12:29:43

标签: java class jsp tomcat web-inf

我创建了我的第一个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"));

3 个答案:

答案 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放到根目录中,它最终像魅力一样工作..