无法在web.xml或使用此应用程序部署的jar文件中解析http://java.sun.com/jsp/jstl/core

时间:2013-02-15 20:32:24

标签: mysql eclipse jsp tomcat jstl

我是新手jsp web开发和调试我的应用程序能够读取数据库会出现以下错误:

The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

我在多个网站上就这个问题研究了很长时间的互联网,无法解决任何问题。这些是我的规格:

IDE:eclipse / JSP版本:2.0 / Servlet版本:2.4 / JSTL版本:1.1.1 / Tomcat版本:7.0.35 /

这是我的WEB-INF / web.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
  <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
version="2.4">  
  <resource-ref>
    <description>Resource configuration for database connection</description>
    <res-ref-name>jdbc/TestDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
 </web-app>

这是我的META-INF / context.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<Context>
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
           maxActive="100" maxIdle="30" maxWait="10000"
           username="admin" password="admin" driverClassName="com.mysql.jdbc.Driver"
           url="jdbc:mysql://localhost:3306/checklist_pdnf"/>

 </Context>

这是我的jsp文件

<?xml version="1.0" encoding="UTF-8" ?>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

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

<sql:query var="db" dataSource="jdbs/TestDB">
select * from patient
</sql:query>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>    
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
<body>  
<div>
         <table>
    <c:forEach var="row" items="${db.rows}">    
            <tr>
            <td>row.getString("patient_medicalRecordNumber")</td>
            <td>row.getString("patient_lastName")</td>
            <td>row.getString("patient_firstName")</td>
            <td>row.getString("patient_middleName")</td>
            <td>row.getString("patient_dateOfBirth")</td>
            <td>row.getString("patient_gender")</td>
            <td>row.getString("patient_admissionDateTime")</td>
            <td>row.getString("patient_dischargeDateTime")</td>
            <td>row.getString("patient_attendingPhysician")</td>
            <td>row.getString("patient_locationRoom")</td>
        </tr>
    </c:forEach>    
     </table>
   </div> 
 </body>
</html>

1 个答案:

答案 0 :(得分:0)

根据该链接,您是否按照以下说明进行操作?

  

该JSP页面使用JSTL的SQL和Core标记库。您可以从Apache Tomcat Taglibs - 标准标记库项目中获取它 - 只需确保您获得1.1.x或更高版本。获得JSTL后,将jstl.jar和standard.jar复制到Web应用程序的WEB-INF / lib目录中。