org.apache.jasper.JasperException

时间:2011-03-07 10:19:39

标签: java jsp web-applications java-ee

当我第一次打开我的应用程序时,显示错误如

org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:183)
    org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:125)
    org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:107)
    org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:78)
    org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:383)

但是我再次刷新然后它会毫无错误地打开。

问题是什么以及如何解决这个问题?

请任何人帮助我......

3 个答案:

答案 0 :(得分:1)

看起来您的应用程序需要一些代码初始化,这需要时间。现在,当您打开页面时,它正在后台初始化事物,您会看到由于未初始化或部分初始化值而导致的错误。

您可以添加一些自动初始化程序或等待一段时间以完全加载它。

答案 1 :(得分:0)

以下是JspServletWrapper#handleJspException()来源的相关摘录。

456         // If the line number is less than one we couldn't find out
457         // where in the JSP things went wrong
458         int jspLineNumber = detail.getJspBeginLineNumber();
459         if (jspLineNumber < 1) {
460             throw new JasperException(ex);
461         }

显然,JSP在首次访问时是空的。你使用什么框架?我还没有看到一个框架,之前在启动时自动生成JSP文件或类似的东西。它可能需要一些配置微调。

答案 2 :(得分:0)

由于web.xml配置错误,我遇到了这个问题。

我尝试添加* .jar以供JspServlet服务。

您的web.xml中的Servlet映射确实出错了。