无法运行jsp文件,jstl

时间:2015-05-04 13:13:06

标签: java html jsp

我是jsp的新手,我遇到了运行这个emp.jsp文件这个奇怪的问题。我知道这很基本,但我现在被困了两天:P。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Page</title>
</head>
<body>
    <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/tutorials" user="root" password="" />
    <sql:query var="result" dataSource="${connection }">
        select * from registration
    </sql:query>

    <table border="0" width="75%">
        <tr>
            <th>id</th>
            <th>name</th>
            <th>password</th>
            <th>usertype</th>
        </tr>
        <c:forEach var="col" items="${result.rows }">
        <tr>
            <td><c:out value="${col.id}"></c:out></td>
            <td><c:out value="${col.name}"></c:out></td>
            <td><c:out value="${col.password}"></c:out></td>
            <td><c:out value="${col.usertype}"></c:out></td>
        </tr>
        </c:forEach>
    </table>
</body>
</html>

错误就是这个

javax.servlet.ServletException: java.lang.NoClassDefFoundError:   javax/servlet/jsp/jstl/sql/SQLExecutionTag
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

这是@rajani提出的我的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Tutorials</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

3 个答案:

答案 0 :(得分:1)

jstl.jar 添加到您的WEB-INF/lib目录。

答案 1 :(得分:0)

确保您的类路径具有jstl依赖关系:

如果您使用的是Maven,请确保您具有jstl工件的依赖项:

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
</dependency>

答案 2 :(得分:0)

此异常表明运行时类路径中缺少JSTL API。你似乎只有JSTL impl。我建议删除它并使用jstl-1.2.jar而不是捆绑了API和impl。

另见:

https://stackoverflow.com/tags/jstl/info