JSP连接数据库(MySQL)

JSP链接数据库(MySQL)
最近在学JSP,记录一下关于JSP链接数据库的一些笔记。
首先通过两个JSP网页模拟一个验证查询的功能:
1.index.jsp(简单的一个验证表单):

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		<form action="check.jsp" method="post">
		<input type="text" name="uname"><br>
		<input type="submit" name="提交"><br>
		</form>
</body>
</html>

因为自己这里用的数据库比较单一,所以就只打算通过查询名称进行验证;
2.check.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@  page import="java.sql.*" import="java.uitl.*"%><!-- 注意这里的导包格式 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		<%
		String driver = "com.mysql.cj.jdbc.Driver";
	       String url = "jdbc:mysql://localhost:3306/zxy?&useSSL=false&serverTimezone=UTF-8&useSSL=false&serverTimezone = GMT";
	       String username = "root";
	       String password = "zxy170518.";
	       Connection connection = null;//链接数据库
	       PreparedStatement pstmt=null;//执行sql语句 
	      // Statement stmt=null;
	       ResultSet rs=null;//存放结果集(查询使用)
	        try {
				Class.forName(driver);//建立连接mysql
				connection=DriverManager.getConnection(url,username,password);
				if(!connection.isClosed())
		        {out.print("数据库连接成功!");}//验证是否连接成功
				String sql="select * from tb1 where name = ?";
				pstmt=connection.prepareStatement(sql);//对sql语句进行预编译
				
				String names=request.getParameter("uname");//获取到index中的uname,传递方法是post

				pstmt.setString(1, names);//对sql语句中的“?”进行定义
				
				rs=pstmt.executeQuery();//接收所查询到的结果集
				
				int count=-1;//判断是否查询成功的变量
				
				if(rs.next())
				{count=rs.getInt(1);}
				if(count>0)
				{out.print("查询成功!");}else
				{out.print("查询失败!");}
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}catch(SQLException e)
	        {e.printStackTrace();
	        }finally {
				try {
					if(rs!=null)
					{rs.close();}
					if(pstmt!=null)
					{pstmt.close();}
					if(connection!=null)
					{connection.close();}
				}catch(SQLException e)
				{e.printStackTrace();}
			}
		%>
</body>
</html>

实验结果:
这是MySQL的内容:

index.jsp:
在这里插入图片描述
结果:
在这里插入图片描述
因为mysql里面没有name为toms,所以显示查询失败;
改为tom之后:
在这里插入图片描述
总:JSP链接数据库本身就不是很复杂的技术,但是自己在做的过程中还是遇到了很多小问题:
1.在提交之后check页面没有内容,并且程序内报错,显示驱动有问题;
这个错误一般是因为导包的问题,web项目只需要把对应数据库所提供的jar包复制到项目目录下的WEB-INF/lib中即可;
2.对于代码;
其实本身不算是问题,主要是我自己做的时候是仿着别人做的,然后自己再做了一遍,发现仿的时候跟自己做的时候好像不是那么一回事,诸如对执行sql语句对象PreparedStatement的使用,因为还有一个叫Statement的,自己很容易搞混淆,所以对这两个所带的方法和一些语法上的格式,需要额外注意,PreparedStatement在使用的时候,需要先对sql语句进行预编译,而Statement就不用;
本人的处女贴,如果文章中有什么错误,还望指点指点。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值