通过JSP网页连接并读取MySQL数据库中的表

2023-11-20

学习任务要求:
  1. 配置JDBC使JSP网页能连接MYSQL数据库。
  2. 用Navicat Premium在MYSQL数据库中建立一张表。
  3. 在连接好后的JSP网页中显示出MYSQL数据库中的表。

前言

在前面,我们已经学习了如何建立、发布和访问JSP网页,在这篇文章中,我们来学习如何在JSP网页中显示MYSQL中建立的表。

一、JSP与MYSQL的连接

1.预备工作

1)确定已经安装了java和eclipse软件。
(学习参见:https://blog.csdn.net/qq_42446456/article/details/81065851)
2)确保安装了Navicat Premium与MySQL数据库。
(学习参见:[MySQL数据库] https://blog.csdn.net/qq_42446456/article/details/81123299;[Navicat Premium] https://blog.csdn.net/qq_42446456/article/details/81138147)
3)JSP网页的建立与访问有关知识。(学习参见:https://blog.csdn.net/qq_42446456/article/details/81570342)

2.连接设置

要使MYSQL数据库最终能连接上JSP网页,我们需要提前在tomcat中建立一个“连接桥梁”,而这个“连接桥梁”便是JDBC驱动。
下载JDBC驱动:mysql-connector-java-8.0.12.jar(下载地址:https://www.mysql.com/products/connector/)
点击下载转入下载选项。
1
选择将要下载的版本。
3
将压缩包下载到 tomcat 地址下的 lib 目录,如下图所示。
4
将压缩包中的mysql-connector-java-8.0.12.jar文件放置在 tomcat 地址下的 lib 文件夹中。
5
到此,软件的“桥梁”也就是JDBC文件就算是下载配置完毕了。

二、数据库中表格的制作

在制作表方面,我们使用Navicat Premium来连接数据库、创建数据库和数据表。Navicat Premium的下载安装不再赘述,详情见前博客:https://blog.csdn.net/qq_42446456/article/details/81138147
首先,我们打开软件并连接数据库。
6
打开连接,输入root密码,localhost,只需要计算机已经有能够登陆的数据库,一般就是已经配置好了。
假如连接不上数据库的话,就右键点击计算机(我的电脑)——管理——服务——把其中叫mySQL的服务启动,再连接就可以运行了。
7
如此一来,我们便可以在Navicat Premium中建立表格了,如下:
7

三、在JSP网页中显示创建的表格

1.启动Tomcat与mysql

1)Tomcat

在上一次博客当中,我们已经学习了如何下载、安装、启动Tomcat 和发表、查询JSP网页,详情见:
https://blog.csdn.net/qq_42446456/article/details/81570342
安装版有3种启动服务的方法。而解压版只有通过bin下的startup.bat或者doc命令,这可以算是安装版的好处吧。我们任意选择一种启动方式来进行。
我们也可以使用命令窗程序,输入“startup.bat”,回车。或者是直接双击bin目录下的“startup.bat”;
7
9
8
除了前面博客介绍的启动方法之外,类似以上步骤,皆可打开Tomcat;
启动检测:启动服务后,打开任意一个浏览器,在地址栏中输入 localhost:8080 然后按回车。如果弹出如下界面,表示tomcat安装成功并且启动起来了;
(注意:这里特别强调一下,冒号不能是中文状态下的,否则你会出错。)
10
同样,如若启动有问题,一定要检查一下自身的jdk是否安装配置正确。(不清楚自身jdk位置是否安装正确请查询前面博客)

2)MYSQL

同上介绍的,需要检查服务项是否开启,这是一个前提;
1
通过网络命令窗程序打开MYSQL数据库
12
所有前提弄好之后,才能正确连接数据库;
2

2.建立可连接数据库的JSP文件

在F:\tomcat\Apache Software Foundation\Tomcat 9.0\webapps\ROOT目录(以安装的实际目录为主)中建立一个新的 jsp 文件。
注意项:最重要的是编辑时选择 UTF-8 方式来编写代码。(出现的错误项请参见详情
11
编码详情如图:
14
代码详情:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="com.mysql.jdbc.Driver" %>   
<%@ page import="java.sql.*"%>
<html>
<head><title>通过JSP读取数据库中的表</title></head>
<body>
 <%  
	try {  
	Class.forName("com.mysql.jdbc.Driver");  加载数据库驱动
	String url = "jdbc:MySQL://localhost:3306/table1?&useSSL=false&serverTimezone=UTC"; //指向数据库table1
	String username = "root";  //数据库用户名
	String password = "965827";  //数据库用户密码
	Connection conn = DriverManager.getConnection(url, username, password);  //连接数据库
	if(conn != null){  
		out.print("数据库连接成功!");
		out.println("<br />"); 
		out.println("-------------------------------"); 
		out.print("<br />");            
		Statement stmt = null;  
		ResultSet rs = null;  
		String sql ="select * from student";  //查询语句
		stmt = conn.createStatement();  
		rs = stmt.executeQuery(sql);  
		out.println("执行结果如下所示:"); 
		out.println("<br />"); 
		out.println("-------------------------------"); 
		out.println("<br />"); 
		out.println("姓名" + "\t" + "姓别"+"\t"+"年龄"+"\t"+"工资");
		out.println("<br />");  
		while (rs.next()) {  
		out.println(rs.getString("姓名")+"   &nbsp  "+rs.getString("性别")+"  &nbsp "+rs.getInt("年龄")+"  &nbsp "+rs.getInt("工资")); //将数据库表格查询结果输出  
		out.print("<br />");  
		      }  			
		}
		else{  
			out.print("连接失败!");  
              }           
        }
		catch (Exception e) {        
            out.print("数据库连接异常!");  
             }  
%>      
</body>
</html>

3.JSP网页展示

利用 jsp 网页可以显示预期连接的 mysql中的数据库,我们可以有多种方式进行查询表格。

1)利用本机地址

前面我们已经学了,可以用网络命令来查询本机的 ip 地址。在这里,我们可以使用本机的 ip 来进行 jsp 网页的读取。
方式:IP地址 + :8080 + /***.jsp文件

2)直接查询

方式:localhost + :8080 + /***.jsp文件
14

3)127.0.0.1地址

方式:127.0.0.1 + :8080 + /***.jsp文件
15


以上便是如何通过JSP网页连接并读取MySQL数据库中的表这篇文章的全部内容了,如果大家有什么问题的话,欢迎批评指正和留言。如若喜欢的,请大家点击订阅和关注,谢谢大家!

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

通过JSP网页连接并读取MySQL数据库中的表 的相关文章

  • MySQL 薛定谔表:存在,但不存在

    我遇到了最奇怪的错误 有时 在创建或更改表时 我会收到 表已存在 错误 但是 DROP TABLE 返回 1051 未知表 所以我得到了一个无法创建 无法删除的表 当我尝试删除数据库时 mysql 崩溃了 有时它有助于创建另一个具有不同名称
  • 使用表白名单选项更新 Debezium MySQL 连接器

    我正在使用 Debezium 0 7 5 MySQL 连接器 并且我试图了解如果我想使用以下选项更新此配置 最好的方法是什么table whitelist 假设我创建了一个连接器 如下所示 curl i X POST H Accept ap
  • mysql时间比较

    我有 job start 和 job end 时间 timediff 会给我时间差 现在我想看看这项工作是否花费了超过 2 小时 30 分钟 我如何比较它 如果我这样做 我会收到错误 timediff job start job end g
  • 迁移问题:MS SQL > MySQL:插入缓冲区内存

    我在使用 MySQL Workbench 上的内置迁移工具时遇到问题 我正在将一个非常大的数据库从 MS SQL 2014 迁移到 MySQL MS SQL 服务器本地部署在我的 Windows 8 1 桌面上 MySQL 服务器在我的网络
  • “create_date”时间戳字段的默认值无效

    我有以下 sql 创建语句 mysql gt CREATE TABLE IF NOT EXISTS erp je menus gt id INT 11 NOT NULL AUTO INCREMENT gt name VARCHAR 100
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • parent_id 是外键(自引用)并且为 null?

    浏览 Bill Karwin 的书 SQL Antipatterns 第 3 章 Naive Trees 邻接表 父子关系 有一个注释表的示例 CREATE TABLE Comments comment id SERIAL PRIMARY
  • 错误 1305 (42000):保存点...不存在

    我的 MYSQL 数据库中有这个 SQL 存储过程为空 所以我猜没有隐式提交 DROP PROCEDURE IF EXISTS doOrder DELIMITER CREATE PROCEDURE doOrder IN orderUUID
  • 考虑到我的图像链接存储在MySQL数据库中,如何通过php显示存储在文件夹中的图像

    作为良好的做法 我只将图像链接存储在数据库中 问题是 我应该如何存储图像的链接 假设它在 c 上 c image jpg 我应该使用哪段 PHP 代码来显示该图像 我只显示路径 我该怎么做才能显示图像 我可以用这个吗 query SELEC
  • JSP编译时'tmpFile.renameTo(classFile) failed'的原因

    最近 我开始在 JBOss 4 0 5 JSP 应用程序中遇到奇怪的行为 JSP 编译在第一次 第二次 第三次 尝试时失败 但出现异常 17 24 29 909 ERROR jsp Servlet service for servlet j
  • 节点js(获取连接)

    var nodePort 3030 var express require express var app express var bodyParser require body parser var db require mysql va
  • 将jsp表导出到excel、word、pdf

    任何人都可以建议我任何库 jar 文件 我可以使用它们将我的表导出到 excel pdf word 请告诉我是否有任何可以在 jsp 中创建报告的库 还应该提到的是 您只需输出 HTML 表格并将响应类型设置为即可将表格导出到 Excela
  • 哪些mysql设置影响LOAD DATA INFILE的速度?

    让我来介绍一下情况 我们尝试将适量的行数 大约每天 10 20M 插入到宽度适中的 MyISAM 表中 Field Type Null Key Default Extra blah1 varchar 255 NO PRI blah2 var
  • Gmail 搜索怎么这么快?

    搜索这么多字符的最有效方法是什么 你怎么认为 假设网站是用 PHP 和 MySQL 构建的 我应该学习什么才能尽可能有效地构建它 有什么我应该学习的算法吗 文本索引算法 https stackoverflow com questions 4
  • MySQL 中的 INSERT 和 UPDATE 有什么区别?

    它似乎INSERT and UPDATE对我做同样的事情 有什么场合我应该使用INSERT代替UPDATE反之亦然 In 增删改查操作 http en wikipedia org wiki Create read update and de
  • 如何更改mysql.sock?

    我已经通过二进制安装安装了mysql并按照以下步骤操作http dev mysql com doc refman 5 0 en binary installation html http dev mysql com doc refman 5
  • MySQL Amazon RDS:超出锁定等待超时

    在 Mysql Amazon RDS 上 当我尝试运行以下 SQL 查询时 UPDATE table1 INNER JOIN table2 USING CommonColumn SET table1 col1 table2 x table1
  • 对不同的数据库和表进行一次性查询

    我有一个 Rails 应用程序 侧面有一个 WordPress 博客 完全单独位于 blog 客户想要 Rails 应用程序主页上的最新博客文章 因此我需要对 word press 数据库进行一次性 mysql 查询 我将如何在 Rails
  • 如何只允许从我的 iOS 应用程序访问我的 MySQL 数据库? (使用webapp作为数据库的网关)

    我的 iOS 应用程序需要连接到 mysql 服务器 为了实现这一目标 我想创建一个 Web 应用程序 充当客户端应用程序和服务器端数据库之间的中间人 我担心的是 有人可以简单地找出我的应用程序使用的 URL 并传递他们自己的 URL 参数

随机推荐

  • 文件搜索工具(Python实现)

    文章目录 文件搜索工具介绍 代码实现 实现思路 os walk函数 os path join函数 代码整体编写 打包成exe程序 效果展示 文件搜索工具介绍 文件搜索工具能够基于名称快速定位匹配的文件和文件夹位置 比如Everything就
  • 原来实现GCP用客户端登录这么简单啊

    充满活力的一天开始了 GCP 就是谷歌的一个云服务 进入VM实例列表通过 SSH 点击 在浏览器窗口打开 进入VPS服务器 下图 切换到管理员用户 sudo i 编辑sshd config文件 vi etc ssh sshd config
  • 一个jq投票,无论成功与否3秒后自动关闭提示框

    原文地址 http blog csdn net zjb574 article details 7759447
  • 超详细的Vue-router (路由)

    由于Vue在 开发时对路由支持的不足 于是官方补充了vue router插件 vue的单页面应用是基于路由和组件的 路由用于设定访问路径 并将路径和组件映射起 来 传统的页面应用 是用一些超链接来实现页面切换和跳转的 在vue router
  • 解决vCharts不兼容Echarts5+版本问题

    背景 在实际开发项目中 发现老项目里同时用到了vCharts和Echarts 此时的Echarts是低版本 并不会出现问题 但在漏洞扫描中Echarts需升级 此时项目开始报错 v charts 不能和echarts5 版本同时存在 当时的
  • 如何快速构建CMBD系统-glpi

    脚本后续更新及迭代将由kkitDeploy项目代替 https github com luckman666 kkitdeploy server 请大家持续关注kkitDeploy 一 CMBD系统构建步骤 起初 开发这套CMBD系统是为了帮
  • 华为OD机试真题-最大平分数组【2023Q1】

    题目描述 给定一个数组nums 可以将元素分为若干个组 使得每组和相等 求出满足条件的所有分组中 最大的平分组个数 输入描述 第一行输入 m 接着输入m个数 表示此数组 数据范围 1 lt M lt 50 1 lt nums i lt 50
  • Go语言里面的各种疑难杂症

    什么是闭包 闭包有什么缺陷 func AddUpper func int int var n int 10 return func x int int n n x return n func main f AddUpper fmt Prin
  • System Poles and Zeros 系统零点和极点

    LTI系统 连续的有s传递函数 离散的有z传递函数 s jw 所以连续传递函数的零极点都对应频率值 零点的物理意义是 某个频率的输入信号 正弦信号 不会产生任何输出 被block掉了 极点的物理意义是 某个频率的输入信号会产生无穷大的输出
  • C语言void指针(void*)

    Void指针 void 是一种通用指针类型 可以用来存储任何类型的指针 但不能直接解引用 在C语言中 void指针可以用来实现对类型不确定的数据的操作 或者用作函数的参数和返回类型 以便于处理不同类型的数据 以下是一些常见的void指针的用
  • 微信小程序消息订阅推送消息后端服务(.net core)

    废话不多说直接上代码 分为三部分 第一获取微信模板信息需要token 第二步发送微信模板信息 注意 该方法不需要进行任何修改 参数 access token 是第一步获取到的token 参数 body 是json字符串格式提示信息内容 第三
  • Cannot read property bindings of null 解决方法

    安装 babel preset env yarn add babel preset env 或 npm install babel preset env webpack config js presets env 替换成 presets b
  • rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令

    文章目录 一 RabbitMQ安装 1 1 二进制安装 1 2 rabbitmqctl工具 1 3 docker安装 二 rabbitmq基础命令 2 1 多租户与权限类 2 1 1 创建虚拟主机 2 1 2 查看虚拟主机信息 2 1 3
  • 泛微最新漏洞汇总

    泛微OA e cology前台接口SQL注入漏洞 POST mobile browser WorkflowCenterTreeData jsp node wftype 1 scope 2333 HTTP 1 1 Host Content T
  • 个人技术总结——uview-plus下的Http请求基本使用及相关使用

    这个作业属于哪个课程 软件工程 23年春季学期 这个作业要求在哪里 软件工程实践总结 个人技术总结 这个作业的目标 个人技术总结 其他参考文献 构建之法 CSDN社区 uni app官方文档 uview plus官方文档 目录 一 写在前面
  • vue发展历史简介

    基本介绍 Vue 是一套用于构建用户界面的 渐进式框架 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 最初它不过是个人项目 时至今日 已成为全世界三大前端框架之一 github 上拥有 17 8万 Star 领先于 Reac
  • mapState的使用(常用)

    mapState作用 可以辅助获取到多个state的值 怎么使用 1 在 vue组件中引入 在js块中引入 import mapState from vuex 2 在 vue组件中computed下定义一个对象 computed mapSt
  • Go中 Redis Client的使用

    文章目录 常见操作 List 操作 Pipeline 使用 在 Go 语言中使用 Redis 时 可以使用第三方库实现 Redis Client 的封装 本文介绍如何使用 Go 语言的 redisClient 去连接 Redis 服务器 并
  • Vue中数组的常用方法

    数组的方法分为变更方法和替换数组 变更方法 push push 方法可向数组的末尾添加一个或多个元素 并返回新的长度 pop pop 方法用于删除数组的最后一个元素并返回删除的元素 改变数组的长度 shift shift 方法用于把数组的第
  • 通过JSP网页连接并读取MySQL数据库中的表

    学习任务要求 配置JDBC使JSP网页能连接MYSQL数据库 用Navicat Premium在MYSQL数据库中建立一张表 在连接好后的JSP网页中显示出MYSQL数据库中的表 前言 在前面 我们已经学习了如何建立 发布和访问JSP网页