如何使用 JSTL sql 标签

2023-12-14

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

<sql:setDataSource var="dataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/cloud" user="root"  password="root"
scope="session" /> 

<sql:query var="qryProvider" >
    SELECT * FROM `provider`;
</sql:query>

<table>
    <c:forEach var="row" items="${qryProvider.rows}">
        <tr>
            <td>${row.display_name}</td>

        </tr>
    </c:forEach>
</table>

我收到以下错误:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /testJSTL.jsp at line 8

5: url="jdbc:mysql://localhost:3306/cloud" user="root"  password="root"
6: scope="session" /> 
7:  
8: <sql:query var="qryProvider" >
9:     SELECT * FROM `provider`;
10: </sql:query>
11:  


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.lang.NullPointerException"
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
    org.apache.jsp.testJSTL_jsp._jspService(testJSTL_jsp.java:94)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

我试着跟随this tut,但是如果我写的话它会给我一个错误

<sql:query var="qryProvider" dataSource="${dataSource}" >

我对此很陌生,有人可以指出我正确的方向吗?


我的建议是忘记<sql>完全标记,并用纯 Java 进行所有数据库操作(在您首选的 MVC 框架的 servlet 或操作中)。该 servlet 将构建一个 bean 实例列表,准备好由 JSP 显示。使用RequestDispatcher将请求从 servlet 分派到 JSP。

即便是官方 Java EE 教程 says:

表 7-7 中列出的用于访问数据库的 JSTL SQL 标记是 专为快速原型设计和简单应用而设计。用于生产 应用程序、数据库操作通常封装在 JavaBeans 组件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 JSTL sql 标签 的相关文章

  • JAX-WS 入门 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐一些关于 JAX WS 入门的好教程吗 使用各种工具 如 wsgen 等 您可以从这里开始 通过 Java SE 6 平台介绍
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • 无法在 Intellij 中运行主类[重复]

    这个问题在这里已经有答案了 我有以下项目结构 ProjectRoot src Main examples libs My src文件夹被标记为sources在 Intellij 中 现在 当我想运行 Main 类时 出现以下错误 Excep
  • 存储过程函数中的动态表名

    我编写了一个存储过程函数来从表中获取名称 问题是我希望将表名作为参数传入 有几个不同的表我需要使用此函数 DELIMITER CREATE DEFINER root localhost FUNCTION getName tableName
  • Jenkins 未显示 Maven 编译器错误

    在 Jenkins 中构建多模块 maven 3 项目时 如果出现构建错误 我们会收到一条神秘消息 表明 Maven 编译器插件失败 这在上周才刚刚开始发生 INFO BUILD FAILURE INFO INFO Total time 1
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • MySQL LAST_INSERT_ID() 和 FOUND_ROWS()

    当 PHP 脚本每秒有数百个查询时会发生什么 它会影响这些函数吗 是否保证它们会返回当前脚本中最后一个插入语句中最后插入的 id 它会返回当前脚本中最后一次选择的行数吗 如果同时从另一个脚本进行新的插入或选择 在 FOUND ROWS 的情
  • 将 Python 列表(JSON 或其他)插入 MySQL 数据库

    所以我在Python中有一堆数组数据 嗯 相反 我有一个清单 我试图将此数组存储到 MySQL 数据库中的单个单元格中 我尝试使用 JSON 来序列化我的数据 但也许我不明白 JSON 是如何工作的 因此 在连接到我的数据库后 我尝试了上游
  • java绕中心旋转矩形

    我想围绕其中心点旋转一个矩形 它应该保留在应该绘制的位置并在该空间中旋转 这是我的代码 AffineTransform transform new AffineTransform transform rotate Math toRadian
  • 为休息服务实施 JUnit 测试

    我必须为我的休息服务实现一些 JUnit 测试 例如 这是我的休息服务之一 Path dni fe public class HelloWorld POST Path home Consumes MediaType APPLICATION
  • 始终将双精度舍入

    我怎么总是能把一个double to an int 并且永远不要将其四舍五入 我知道Math round double 但我希望它始终向上舍入 所以如果是的话3 2 四舍五入为 4 您可以使用Math ceil method 请参阅Java
  • BigDecimal汇总统计

    我有一个 BigDecimal 列表 List
  • javadoc 子集/java 库组织

    我自己从来没有运行过javadoc 无论是在命令行还是ant 的 javadoc 任务 http ant apache org manual Tasks javadoc html 我将使用 ant 我需要为我编写的库生成 javadoc 问
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • 如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

    我想简化调用 Oracle 数据库的 Groovy 脚本的执行 如何将 ojdbc jar 添加到默认类路径以便我可以运行 groovy RunScript groovy 代替 groovy cp ojdbc5 jar RunScript
  • ebean 映射到 BYTEA 的数据类型是什么?

    我有一个游戏 2 0 2 需要在数据库中存储一些文件的应用程序 我们使用 Ebean 作为 ORM 我相信我的数据库中需要一个 BYTEA 列来存储该文件 但我不确定在我的模型中使用什么数据类型 我应该使用某种Blob 或者只是一个byte
  • 使用 Hibernate Envers 的复合表

    我有一个带有复合表的应用程序 其中包含一个额外的列 一切正常 直到我们添加 Hibernate Envers Audited org hibernate MappingException 无法读取 no pack response Resp
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • mysql 中 INSERT 语句的计算列

    假设我想要一个表来记录其他表中的日期和列数 或者任何类型的数学 字符串连接等 CREATE TABLE log id INTEGER NOT NULL AUTO INCREMENT date DATETIME NOT NULL count

随机推荐

  • Object.ReferenceEquals 从未命中

    谁能告诉我为什么以下条件不成立 List
  • Ruby 中方法名称末尾的问号是什么意思?

    Ruby 中问号运算符的用途是什么 有时会出现这样的情况 assert product valid 有时它在一个if构造 它是一种代码风格约定 它指示方法返回布尔值 true 或 false 或指示 true 值 或 truthy 值 的对
  • 错误膨胀类片段 |片段没有创建视图

    我遇到这个问题 android view InflateException 二进制 XML 文件行 31 膨胀类片段时出错 片段 com myapp mgm QueryFragment 未创建视图 此问题仅在平板电脑模式下发生 如果应用程序
  • 创建类对象时,抛出错误

    class A constructor this name A M1 return M1 class B extends A constructor this id B M2 return M2 var b new B output Ref
  • 具有 Passport-local 策略的 Composer-rest-server

    我无法找到一个有效的解决方案来在composer rest server 中使用本地策略进行身份验证 事实上 只有一种可行的解决方案是使用 github 我尝试将 COMPOSER PROVIDERS 设置为 export COMPOSER
  • Pandas read_html 导致 TypeError

    我正在使用 bs4 解析 html 页面并提取表格 下面给出示例表格 我试图将其加载到 pandas 中 但是当我调用pddataframe pd read html LOTable skiprows 2 flavor bs4 我收到下面列
  • SQL Server 全文搜索转义字符?

    我正在执行 MS SQL Server 全文搜索查询 我需要转义特殊字符 以便可以搜索包含特殊字符的特定术语 是否有内置函数可以转义全文搜索字符串 如果没有 你会怎么做 坏消息 没有办法 好消息 您不需要它 因为无论如何它都没有帮助 我在我
  • Android 无法实例化活动:在路径上找不到类

    我已经将项目导入到 Eclipse 中 当我尝试运行它时 会抛出以下异常 java lang RuntimeException Unable to instantiate activity ComponentInfo com polygra
  • WSO2 API 管理器 - 向公众公开发布者和商店 URL

    我在用着WSO2 API 管理器用于创建和管理开发者社区 据我所知 API 管理器是在 WSO2 Carbon Server 上驱动的 该服务器又在 Apache Tomcat 上运行 到目前为止 我可以毫无问题地运行 WSO2 API 管
  • 如何在我的应用程序中包含 64 位和 32 位本机代码

    我无法将我的应用程序上传到 Playstore 并出现此错误 我还构建了 Android App Bundle 来上传应用程序 但再次出现此错误 此版本不符合 Google Play 64 位要求 以下 APK 或 App Bundle 可
  • 爱普生TM-T88V格式化

    我设置了一台运行 Ubuntu Server 12 04 的小机器 并直接插入 Epson TM T88V 起初我能够很好地打印 使用 lp 但自动切纸器无法工作 我意识到它只是没有使用驱动程序中包含的正确 PPD 文件 因此一旦我将打印机
  • 内联时扩展方法出错

    我想扩展一些系统类型 然后通过内联使用它们 type System String with member this foo n this n type System Boolean with member this foo n sprint
  • 无法从 WebStorm 中排除的文件夹中删除 node_modules

    Recently WebStorm marked node modules as excluded and I can t remove it from excluded list Furthermore in Directories me
  • 将参数传递给视图

    在我的 RCP 应用程序中 我有一个带有TreeViewer左侧为导航 右侧为我的视图文件夹 透视图看起来像这样 public void createInitialLayout IPageLayout layout layout setEd
  • 想要在 jQuery 中无限次地重复 div 上的动画吗?

    我想要的是 我在尝试着创建动画 using fadeIn fadOut jQuery 中的函数 我完成了动画 但它只工作一次 尽管我希望它重复多次 我尝试过的 我尝试使用 setInterval 函数执行此操作两次 其中使用 TotalDu
  • Android 7.0:'javax.net.ssl.SSLHandshakeException:连接被对等方关闭

    当我尝试从我的应用程序访问 https 网络服务时 它给出了 javax net ssl SSLHandshakeException 连接被对等方关闭 错误 相同的 Web 服务在 Chrome 浏览器中运行良好 此问题仅在 Android
  • AS3 中准确的 BPM 事件监听器

    我正在尝试以特定的 BPM 将动画与音乐同步 我尝试过使用计时器 但在处理以毫秒为单位的小间隔时它并不准确 我做了一些阅读 发现了一种替代方法 它使用一个小的无声音频文件和 SOUND COMPLETE 事件作为计时器 我在这段代码中使用了
  • Flink KeyedCoProcessFunction 处理状态

    I use KeyedCoProcessFunction使用来自另一个流的数据丰富主数据流的函数 Code class AssetDataEnrichment extends KeyedCoProcessFunction String Pa
  • 为什么这个整数除法会得到 0?

    有人可以告诉我为什么下面的代码会输出0在标记线上 似乎一切都是正确的 但是当我尝试在接近尾声时得到结果时 它每次都给我 0 include
  • 如何使用 JSTL sql 标签