Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql http://java.sun.com/jsp/jstl/core 无法在web.xml或与此应用程序一起部署的jar文件中解析_Mysql_Eclipse_Jsp_Tomcat_Jstl - Fatal编程技术网

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

Mysql http://java.sun.com/jsp/jstl/core 无法在web.xml或与此应用程序一起部署的jar文件中解析,mysql,eclipse,jsp,tomcat,jstl,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版

我不熟悉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>

数据库连接的资源配置
jdbc/TestDB
javax.sql.DataSource
容器
这是我的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>

从患者中选择*
row.getString(“患者\医疗记录编号”)
row.getString(“患者姓氏”)
row.getString(“患者名”)
row.getString(“患者姓名”)
row.getString(“患者出生日期”)
row.getString(“患者性别”)
row.getString(“患者\入院日期时间”)
row.getString(“患者出院时间”)
row.getString(“患者\看护医生”)
row.getString(“患者位置室”)

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

该JSP页面使用JSTL的SQL和核心标记库。您可以从ApacheTomcatTaglibs(标准标记库项目)获得它,只要确保获得1.1.x或更高版本即可。拥有JSTL后,将JSTL.jar和standard.jar复制到web应用程序的web-INF/lib目录


事实证明,我的JSP版本实际上是2.2,我记得我在Eclipse中打开了一个about页面以获取此信息,但无法重新找到它以进行回答。不过,如有必要,我会相应地更新此答案

使用的图书馆:

(1) javax.servlet.jsp.jstl-1.2.1.jar

(2) javax.servlet.jsp.jstl-api-1.2.1.jar

(3) javax.servlet-api-3.0.1.jar

(4) mysql-connector-java-5.1.23-bin.jar

从引用的pom.xml

依赖项的版本为:

a) javax.servlet-API3.1。(b) javax.el-api 2.2.1。(c) javax.servlet.jsp-api 1.2.1(d)javax.servlet.jsp.jstl-api 1.2.1。(e) jstl 1.2。(f) JSTLIMP1.2

web.xml中的引用:

`<web-app  
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> `
``

查看这篇文章,我不确定在哪里添加pom.xml。我一直在按照这个学习。我在邮局里试了所有的东西,但都没用。以下是我的规范:IDE:eclipsejsp版本:2.0servlet版本:2.4jstl版本:1.1.1tomcat版本:7.0.35我已经添加了这两个库。我只是不确定这是否是Tomcat的版本问题。不确定是什么原因造成的,就像你提取这些JAR一样,你会看到它们中存在TLD。另一种方法是将这些TLD显式地添加到WEB-INF/TLD文件夹中,并在WEB.xml中引用它们,您可以引用这一点[事实证明,这是jsp版本和相关servlet版本的引用等方面的问题。非常感谢您的帮助。我将很快添加答案。