学习目的:
- 通过JSP网页连接到MySQL数据库
- 在MySQL数据库中建立一张数据表
- 将建立的表显示在JSP网页中
准备工作:
01. 用Navicat Premium建立数据表
打开Navicat Premium–>【连接】–>【MySQL】–>【连接名:新建数据库的名字,此处为“本地”】;【主机:你本机的ip地址或者直接输入’localhost’】;【端口:一般为默认的3306】;【用户名:默认为‘root’】;【密码:进入mysql命令时设置的密码】–>【确定】。之后点击建立的连接就可查看数据库内容。

【Navicat Premium 具体建表过程参见:
https://blog.youkuaiyun.com/yangdan1025/article/details/80578675 】
建立一张简单的成绩表:

02. Tomcat的设置
① 将JDBC驱动【mysql-connector-java-8.0.11-bin.jar】文件拷贝到Tomcat安装目录下的【lib】文件夹中。用于JDBC连接数据库。
注意:拷贝后须重启Tomcat,否则无效,会导致无法找到文件。


② 启动Tomcat
- 双击bin目录下的【startup.bat】,或者在bin目录下打开命令窗口,输入【startup.bat】,回车。

- 右键点击任务栏Tomcat图标,【Start service】灰色字体,否则点击【Start service】启动。

③ 测试
启动后打开任意浏览器,在浏览器的地址栏中输入【http://localhost:8080/】 或是【http://127.0.0.1:8080】,如果出现以下界面,说明安装配置成功。

BUG:当输入【http://localhost:8080/】 或是【http://127.0.0.1:8080】时均无法打开网页,显示如下界面

Reason:有可能是默认的8080端口被占用了
Resolve:进入Tomcat 9.0的安装目录下,打开目录下的【conf】文件中的【serve.xml】(右键编辑),将端口号8080改为【80】。


或者直接卸载重装程序,重装时端口号不默认,改为80.
改完以后,在浏览器地址栏输入【http://localhost:80】或【localhost】,此时测试成功。

其他参见:https://jingyan.baidu.com/article/455a9950a312a5a166277812.html
03. JSP连接数据库
① 建立JSP文件
在Tomcat安装目录下找到【webapps】—>【ROOT】中建立一个JSP文件(此处为gra.jsp)

② 连接数据库
将以下代码部分写入文件【gra.jsp】
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.mysql.jdbc.Driver" %>
<html>
<head>
<title>通过JSP读出数据表</title>
</head>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver"); //驱动程序名
String url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC"; // 获取mysql连接地址
String username = "root"; //数据库用户名
String password = "1025"; //数据库用户密码
Connection conn = DriverManager.getConnection(url, username, password); //连接状态
//若数据库连接成功,则输出查询到的数据结果
if(conn != null){
out.println("-------------------");
out.print("数据库连接成功!");
out.println("-------------------");
out.println(" ");
out.print("<br />");
out.print("<br />"); //换行
Statement stmt = null; //给实例赋初值为0
ResultSet rs = null; //给结果赋初值为0
String sql = "SELECT * FROM grade"; //查询语句,查询成绩表中的数据保存到sql
stmt = conn.createStatement(); //把该对象也就是stmt将SQL语句传递给数据库管理系统执行,通常来说产生结果集,返回给ResultSet对象
rs = stmt.executeQuery(sql);
out.println("-------------------");
out.print("查询结果:");
out.println("-------------------");
out.print("<br />");
out.println(" ");
out.print("<br />");
out.println("学号" +  " + "姓名"+"\t "+"数学成绩"+" "+"语文成绩");
out.print("<br />");
//当结果集中还有数据时,依次输出这些数据
//resultSet是你查询的结果集合,rs.next相当于一个指针返回true或false,起始位置为0,每调用一次向下移动一下,如果返回true说明还有记录
while (rs.next()) {
//将查询结果输出
out.println(rs.getString("学号")+"    "+rs.getString("姓名")+"   "+rs.getString("数学成绩")+"   "+rs.getString("语文成绩"));
out.print("<br />");
}
}
else{
out.print("连接失败!");
}
//抛出异常
}catch (Exception e) {
out.print("数据库连接异常!");
}
%>
</body>
</html>
注:一定要设置编码格式为【UTF-8】,否则会出现中文乱码
以下为editplus的【UTF-8】编码方式设置。
【文档】—>【文本编码】—>【转化文本编码】—>【UTF-8】


04. 在JSP网页中显示数据表


这篇博客旨在教读者如何通过JSP连接到MySQL数据库,并在网页中展示数据表。首先,使用Navicat Premium创建数据表,然后将JDBC驱动放入Tomcat的lib目录,设置Tomcat并确保其正常运行。接着,创建JSP文件并编写代码连接数据库,最终实现在JSP页面上显示数据表。

4万+

被折叠的 条评论
为什么被折叠?



