当我试图在eclipse galileo IDE中运行struts 2应用程序时出现异常

时间:2012-04-03 09:52:42

标签: eclipse java-ee tomcat struts2

我收到以下错误:

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文件:

  • 共享记录-1.0.4.jar
  • 的freemarker-2.3.8.jar
  • OGNL-2.6.11.jar
  • struts2的核 - 2.0.12.jar
  • XWork的-2.0.6.jar

我正在使用Apache Tomcat v6.0。

请帮助我。

1 个答案:

答案 0 :(得分:0)

你应该照顾的事情很少

  • 确保您的罐子包含相同版本

根据你的帖子你有不同版本的不同罐子,就像你使用的是非常旧版本的S2核心而你正在使用不同版本的Xcore。

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

关于您的异常,它似乎是您的Web应用程序中的容器特定jar。因为您使用Eclipse作为IDE,您应该在项目的属性中将servletcontainer设置为Target Runtime。这样Eclipse就会自动将所有库都放在项目的构建路径中。

请参阅以下主题了解详情