【问题标题】:Exception when i tried to run struts 2 application in eclipse galileo IDE当我尝试在 eclipse galileo IDE 中运行 struts 2 应用程序时出现异常
【发布时间】:2012-04-03 18:11:57
【问题描述】:

我收到以下错误:

javax.servlet.ServletException: java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:342)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause 

java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
    org.apache.jsp.Login_jsp._jspInit(Login_jsp.java:34)
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

我在 WEB-INF-lib 中有以下 jar 文件:

  • commons-logging-1.0.4.jar
  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.0.12.jar
  • xwork-2.0.6.jar

我正在使用 Apache Tomcat v6.0。

请帮帮我。

【问题讨论】:

  • 请出示您的 web.xml。您的 jar 对 2.0.12 是正确的...如果这是一个新项目,那么最好使用最新的 struts2(版本 2.3.1.2)。

标签: eclipse jakarta-ee tomcat struts2


【解决方案1】:

有一些事情是你应该注意的

  • 确保您的 jars 包含相同版本

根据您的帖子,您有不同版本的不同 jar,例如您使用的是非常旧版本的 S2 核心,而您使用的是不同版本的 Xcore。

我的建议是从 S2 主页下载sample application,这不仅可以让您了解 S2 应用程序的结构,还可以清楚地了解应用程序中使用的 jar 版本。

关于您的异常,您的 Web 应用程序中似乎是特定于容器的 jar。由于您使用 Eclipse 作为 IDE,因此您应该在项目的属性中将 servletcontainer 设置为目标运行时。这样 Eclipse 将自动将其所有库放入项目的构建路径中。

详情请看下面的帖子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2019-01-25
    • 2016-03-14
    • 2016-02-01
    • 2015-11-07
    相关资源
    最近更新 更多