jsp JDBC技术连接数据库举例说明,jsp导入jar包问题

数据库表的大致结构如图:
在这里插入图片描述
创建表语句:
在这里插入图片描述
注意:id值一定要设置为自增!!(auto_increment)

1.首先创建Book的类,用于封装图书信息

package firs;
public class Book {
private int id;//编号
private String name;//图书名称
private double price;//价格
private int bookCount;//数量
private String author;//作者

//封装数据
public int getid() {
	return id;
}
public void setid(int id) {
	this.id=id;
}
public String getname() {
	return name;
}
public void setname(String name) {
	this.name=name;
}
public double getprice() {
	return price;
}
public void setprice(double price) {
	this.price=price;
}
public int getbookCount() {
	return bookCount;
}
public void setbookCount(int bookCount) {
	this.bookCount=bookCount;
}
public String getauthor() {
	return author;
}
public void setauthor(String author) {
	this.author=author;
}
}

2.创建index11.jsp页面,它是程序中的主页,用于放置添加图书信息所需要的表单,该表单提交到AddBook.jsp页面进行处理。完整代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加图书信息</title>
</head>
<body>
<form action="AddBook.jsp" method="post" onsubmit="return check(this);">
<table align="center" width="450">
<tr>
<td align="center" colspan="2">
<h2>添加图书信息</h2>
<hr>
</td>
</tr>
<tr>
<td align="right">图书名称:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td align="right">价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格:</td>
<td><input type="text" name="price"/></td>
</tr>
<tr>
<td align="right">数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;量:</td>
<td><input type="text" name="bookCount"/></td>
</tr>
<tr>
<td align="right">作&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;者:</td>
<td><input type="text" name="author"/></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="添&nbsp;加"/>
</td>
</tr>
</table>
</form>
</body>
</html>

3.创建AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。完整代码:

<%@page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%request.setCharacterEncoding("UTF-8"); //若要输入中文,必须带有该句,不然会出现乱码 %>
    <jsp:useBean id="book" class="firs.Book"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>处理页面</title>
</head>
<body>
<jsp:setProperty property="*" name="book"/><!-- 对Book类中的所有属性进行赋值 -->
<%
try{
	Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器
	String url="jdbc:mysql://localhost:3306/text";//数据库连接字符串
	String usename="root";//数据库用户名
	String passward="yj5211";//数据库密码
	Connection conn=DriverManager.getConnection(url,usename,passward);//创建Connection连接
	
	String sql="insert into tb_book(name,price,bookCount,author) values(?,?,?,?)";
	PreparedStatement ps=conn.prepareStatement(sql);
	ps.setString(1, book.getname());//给SQL语句中第一个参数赋值
	ps.setDouble(2, book.getprice());//给SQL语句中第二个参数赋值
	ps.setInt(3, book.getbookCount());//给SQL语句中第三个参数赋值
	ps.setString(4, book.getauthor());//给SQL语句中第四个参数赋值 
	int row=ps.executeUpdate();//执行更新操作,返回所影响的行数
	if(row>0){
		out.print("添加了"+row+"条数据!");//更新成功输出信息 
	}
	ps.close();//关闭PreparedStatement,释放资源
	conn.close();//关闭Connection,释放资源
	
}catch(Exception e){
	out.print("图书信息添加失败!");
	e.printStackTrace();
}
%>
<br>
<a href="index11.jsp">返回</a>
</body>
</html>

注意!!!!:jsp在导入jar包时和java不一样,直接将对应的jar包复制在
WebContent–>WEB–INF–>lib目录下就OK(本人亲测),如图:
在这里插入图片描述
运行实例如图:
在这里插入图片描述
在这里插入图片描述
运行程序后在MYSQL中查询表如下:
在这里插入图片描述