eclipse - JspFactory 类型未定义方法 getJspApplicationContext(ServletContext)

标签 eclipse jsp

这是我尝试运行 JSP 文件时在浏览器屏幕上看到的内容。

The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

堆栈跟踪:

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:312) org.apache.jasper.compiler.Compiler.compile(Compiler.java:299) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

当我运行它时,在 Tomcat 窗口上抛出了 jasper 异常。

最佳答案

The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

那个method是在 JSP 2.1 中引入的。这个问题有3个原因:

  1. 您使用的 JSP 容器版本太旧(例如,您至少需要 Tomcat 6.0 )。

  2. 您在 web.xml 中声明了错误的 Servlet 版本。 JSP 2.1 与 Servlet 2.5 齐头并进,因此您的 web.xml 至少应该按照 Servlet 2.5 规范进行声明(为此您仍然需要一个支持 Servlet 2.5/JSP 2.1 的 servletcontainer)。

  3. 您已将旧版本的特定于应用程序服务器的库复制到 webapp 的 /WEB-INF/lib 中,例如 servlet-api.jarjsp -api.jar 等等。你不应该永远那样做。它只会导致类加载冲突。在您的网络项目中删除它们,并在应用服务器中保留/取消触摸它们。

关于eclipse - JspFactory 类型未定义方法 getJspApplicationContext(ServletContext),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36132298/

相关文章:

mysql - 将 jsp 变量设置为链接 id 的值

Java AOP 或 i18n 注释

java - jar 中的类可以使用不同 jar 中的类吗

android - eclipse 集成开发环境 : Failed to initialize monitor thread error after installing Android SDK?

eclipse - 连接到 Eclipse 中的 Hortonworks VM 以进行 MapReduce 作业的 ConnectTimeoutException?

java - spring MVC去除页面url前缀和后缀

C++:与 vector push_back 相关的 Eclipse 代码检查器错误

java - 在 Eclipse IDE 中恢复已删除的文件

java - 如何告诉 Tomcat 在内部使用 UTF-8?

java - Tomcat 两个项目相互通信