gpt4 book ai didi

java - 包含无效表达式 : javax. el.ELException:

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:19 31 4
gpt4 key购买 nike

运行时错误:

index.jsp(12,8) PWC6038: "${sqlStatement == null}" contains invalid expression(s):
javax.el.ELException: Unable to find ExpressionFactory of type:
org.apache.el.ExpressionFactoryImpl
org.apache.jasper.JasperException: : javax.el.ELException: Unable to find ExpressionFactory of type: org.apache.el.ExpressionFactoryImpl

问题:

  1. 我将如何调试它?
  2. 无法找到类型为 org.apache.el.E​​xpressionFactoryImpl 的 ExpressionFactory <-- 这是什么意思?

这是我的

  • NetBeans IDE 7.3
  • Tomcat 7.0
  • MySql连接

这是 Murach 书中的一个简单的 sql 网关

索引.jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<c:if test="${sqlStatement == null}">
<c:set var="sqlStatment" value="select * from User" />
</c:if>

<h1>The SQL Gateway</h1>
<p>Enter an SQL statement and click the execute button. Then, information about the<br/>
statement will appear at the bottom of this page.
</p>

<p><b>SQL Statement:</b></p>

<form action="SqlGateway" method="POST">

<textarea name="sqlStatement" cols="60" rows="8">${sqlStatement}</textarea>
<br/><br/>
<input type="submit" value="Execute">

</form>

<p><b>SQL result:</b></p>
<p>${sqlResult}</p>

网络.xml

    <servlet>
<servlet-name>SqlGatewayServlet</servlet-name>
<servlet-class>sql.SqlGatewayServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SqlGatewayServlet</servlet-name>
<url-pattern>/SqlGateway</url-pattern>
</servlet-mapping>

我认为 servlet 没有任何问题,但如果您需要我发布它,请告诉我。

最佳答案

Could it be something wrong with my el-api.jar file

您应该在您的网络应用程序的/WEB-INF/lib 中有任何特定于servletcontainer 的JAR 文件。 Servlet 容器本身应该已经提供了特定于 Servlet 容器的 JAR 文件。

查看Tomcat 的/lib 文件夹,它已经包含了内部库、JSP、Servlet 和EL 库。你不需要通过你的 webapp 提供它们中的任何一个。如果你仍然这样做,运行时类路径可能会以灾难告终,因为存在重复的不同版本库。在您的具体情况下,您可能通过 webapp 提供了一个随机下载的 EL API,它与运行时类路径中找到的 EL impl 不匹配,因此无法通过抽象工厂模式找到正确的 impl。

因此,如果您在 /WEB-INF/lib 中删除特定于 servletcontainer 的 JAR,那么一切都应该很好。 /WEB-INF/lib 应该包含 特定于 webapp 本身并且尚未由 servletcontainer 提供的库。

另见:

关于java - 包含无效表达式 : javax. el.ELException:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979369/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com