在本教程中,我们将学习如何使用 JSTL 的 SQL 查询标记。
JSTL
JavaServer Pages 标准标记库(JSTL) 是有用的 JSP 标记的集合,这些标记提供了许多 JSP 文件所共有的核心功能。 <sql:query>
标记执行 SQL SELECT 语句,并将结果保存在范围变量中。
通常,不建议从 JSP 页面访问数据库。 但是,对于简单的应用和测试,它可能会很有用。 在我们的应用中,我们将使用 JSTL 的 SQL 查询标记从 MySQL 数据库检索数据。 该项目是使用 Maven 构建的。 我们将应用部署在 Tomcat 上。
创建一个 MySQL 数据库
首先,我们在 MySQL 中创建testdb
数据库和Cars
表。
cars_mysql.sql
这是在 MySQL 中创建Cars
表的 SQL。
要创建数据库和表,我们使用mysql
监视工具。
MySQL 用sudo service mysql start
命令启动。
我们使用mysql
监视器连接到数据库。
CREATE DATABASE
语句创建一个名为testdb
的新数据库。
使用source
命令,加载并执行cars_mysql.sql
文件。
使用 Maven 启动项目
Apache Maven 是一个软件项目管理和理解工具。
使用maven-archetype-webapp
,我们创建了 Web 应用的框架。
Maven 创建了这个项目结构。
我们创建一个META-INF
目录和context.xml
文件。
应用
应用连接到先前创建的Cars
表,并检索其所有行。 要连接到数据库表,我们使用<sql:query>
标签。
Maven 项目对象模型(POM)文件是保存在名为pom.xml
的文件中的 Maven 项目的 XML 表示。
pom.xml
在pom.xml
文件中,我们声明 MySQL 驱动程序和 JSTL 库的依赖关系。
context.xml
context.xml
文件是 Web 应用的 Tomcat 配置文件。 在context.xml
文件中,我们定义了一个数据源。
web.xml
我们提供了一个标准的部署描述符。 请注意,Maven 可能会创建与您的 JSTL JAR 不兼容的部署描述符。
index.jsp
在index.jsp
文件中,我们连接到数据库,从Cars
表中检索数据,并将其显示在 HTML 表中。
我们需要声明 JSTL 核心和 sql 模块。
使用<sql:query>
标记,执行SELECT * FROM Cars
语句。 数据存储在carsList
变量中。 数据源由dataSource
参数指定。
<c:forEach>
变量通过carsList
变量,<c:out>
输出当前值。
构建和部署
现在,我们将构建和部署该应用。
我们建立项目。
我们启动 MySQL 和 Tomcat。
我们部署应用。
Figure: Displaying cars
我们在浏览器中导航到该应用,然后从数据库中获取数据。
这是 SQL 查询标记教程。 我们已经使用 JSTL,JSP,MySQL,Tomcat 和 Maven 构建了一个 Web 应用。