前言

最近小白入门java web,想要写一个简单的登录页面,但是首先得连接数据库,所以先学习了jsp连接数据库。

准备

首先要导入JDBC的jar包,发现之前学习java se的时候涉及到过。

https://pan.baidu.com/s/1xweHOuFP3Xw9yVcXjLFJhw
提取码:0wkg

首先将jar包放入我们web项目的lib依赖文件夹下,如下图所示:

在这里插入图片描述
然后右键我们的项目选择build path
在这里插入图片描述
点击模块路径后选择添加外部jar,将我们lib目录下的mysql-connector-jar添加进去,应用并关闭。

这样的好处在于,这时候我们添加的jar包我们已经放到了项目里,也就是说我们的项目换台机器也就不用再次添加jdbc的jar包了,也就是我们俗称的“绝对路径”。

添加成功后,项目结构应该如下:
在这里插入图片描述

编写jsp文件

接下来在WebContent下右键New->file->jsp file

在这里我已经写好了,大家可以参照我给的注释去理解每一行代码的作用,与 java project 中的jdbc代码是完全一样的。

<%@ page language="java" contentType="text/html; charset=utf-8"
    %>
    <%@ page import="java.sql.*" %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
	//数据库路径,其中yiibaidb是我的数据库名称
	String url = "jdbc:mysql://localhost:3306/yiibaidb?serverTimezone=GMT%2B8";
	//告诉连接你的账号密码
	String username = "root";
	String password = "123456";
	/////////////
	try {
		
	String str = "NYC";
	//反射加载jdbc的Driver类
	Class.forName("com.mysql.cj.jdbc.Driver");
	//通过DriverManager获取Connection对象
	Connection con = DriverManager.getConnection(url,username,password);
	
	String sql = "select * from offices ";
	
	//通过PrepardStatement 准备sql语句
	PreparedStatement statement = con.prepareStatement(sql);
	
	//获取结果集
	ResultSet rs = statement.executeQuery();
	
	//声明结果集的结构
	ResultSetMetaData rsmd = rs.getMetaData();
	
	//获取结果集的列数
	int count = rsmd.getColumnCount();
	
	//对结果集进行遍历
	while(rs.next())
	{
		 
		out.println("");
		for(int i=1;i<count;i++)
		{
			out.println(rs.getString(i));
		}
		
		out.println("<br>");
	}

	%>
	
	//关闭我们的连接
<%	rs.close();
	
	statement.close();
	
	con.close();
		
}catch(Exception e)
{
	e.printStackTrace();
}



%>

</body>
</html>

在我的mysql中yiibaidb数据库下的office表内容是这样的
在这里插入图片描述

在我们的项目中右键run on server

运行结果如下:
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐