以图书管理系统举例(jsp+servlet+bean)

1.数据库的连接

package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DBUtil {
private static String url = "jdbc:mysql://localhost:3306/book system?&useSSL=false&serverTimezone=UTC";//要连接的库名
private static String user = "******";//数据库用户名
private static String password = "******";//数据库密码
private static String jdbcName="com.mysql.cj.jdbc.Driver";
private Connection con=null;
public static Connection getConnection() {
Connection con=null;
try {
Class.forName(jdbcName);
con=DriverManager.getConnection(url, user, password);
//System.out.println("数据库连接成功");
} catch (Exception e) {
// TODO Auto-generated catch block
//System.out.println("数据库连接失败");
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url,user,password);
System.out.println("连接成功"); } catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
return con;
}
public static void main(String[] args)throws SQLException { //测试数据表的连接
Connection conn = getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql ="select * from reader_information";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
System.out.println(getConnection());
while(rs.next()){
System.out.println("成功");
} } // return con; public static void close(Connection con) {
if(con!=null)
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
public static void close(Statement state, Connection conn) {
if(state!=null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} public static void close(ResultSet rs, Statement state, Connection conn) {
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(state!=null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} }

2.实体层

package bean;

public class Bean_book {
private int id;
private String name;
private String writer;
private String press;
private int num; 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 String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
} public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
} public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
} public Bean_book(int id, String name, String writer, String press,int num) {
this.id = id;
this.name = name;
this.writer = writer;
this.press = press;
this.num = num;
} public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", writer='" + writer + '\'' +
", press='" + press + '\'' +
", num=" + num +
'}';
}
}
package bean;

import java.util.Date;

public class Bean_borrowing {
private int id;
private String name;
private String writer;
private String press;
private Date time; 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 String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
} public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
} public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
} public Bean_borrowing(int id, String name, String writer, String press,Date time) {
this.id = id;
this.name = name;
this.writer = writer;
this.press = press;
this.time = time;
} public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", writer='" + writer + '\'' +
", press='" + press + '\'' +
", time=" + time +
'}';
}
}
package bean;

public class Bean_reader {

    private int uid;
private String name;
private String sex;
private String college;
private String password; public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
} public String getCollege() {
return college;
}
public void setCollege(String college) {
this.college = college;
} public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} public Bean_reader(int uid, String name, String sex, String college,String password) {
this.uid = uid;
this.name = name;
this.sex = sex;
this.college = college;
this.password = password;
} public Bean_reader(int uid,String password) {
this.uid = uid;
this.password = password;
} public String toString() {
return "Reader{" +
"uid=" + uid +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", college='" + college + '\'' +
", password=" + password +
'}';
}
}

3.Dao层数据访问,实现对数据的增、删、改、查

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import bean.Bean_reader;
import bean.Bean_book;
import bean.Bean_borrowing;
import db.DBUtil; public class Dao {
//dao层
private DBUtil dbutil=new DBUtil(); public Dao() {
// TODO Auto-generated constructor stub
}
public boolean insert_reader(Bean_reader bean) {//插入读者数据的方法
boolean f=false;
String sql="insert into reader_information(uid,name,sex,college,password) values('"+bean.getUid()+"','"+bean.getName()+"','"+bean.getSex()+"','"+bean.getCollege()+"'+'"+bean.getPassword()+"')";
Connection conn=DBUtil.getConnection();//数据库连接,加载驱动
Statement state=null;
try
{
state=conn.createStatement();//实例化Statement对象,方便对sql语句进行操作
System.out.println(conn);
state.executeUpdate(sql);
f=true;
//执行数据库更新操作用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,
//例如CREATETABLE和DROPTABLE,(创建表和删除表)
}catch(Exception e)//当try语句中s出现异常时,会执行catch中的语句
{
e.printStackTrace();//捕获异常的语句
}
finally //finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下。
{
DBUtil.close(conn);
}
return f;
} public boolean insert_book(Bean_book bean) {//插入图书数据的方法
boolean f=false;
String sql="insert into book_information(id,name,writer,press,num) values('"+bean.getId()+"','"+bean.getName()+"','"+bean.getWriter()+"','"+bean.getPress()+"','"+bean.getNum()+"')";
Connection conn=DBUtil.getConnection();//数据库连接,加载驱动
Statement state=null;
try
{
state=conn.createStatement();//实例化Statement对象,方便对sql语句进行操作
System.out.println(conn);
state.executeUpdate(sql);
f=true;
//执行数据库更新操作用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,
//例如CREATETABLE和DROPTABLE,(创建表和删除表)
}catch(Exception e)//当try语句中s出现异常时,会执行catch中的语句
{
e.printStackTrace();//捕获异常的语句
}
finally //finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下。
{
DBUtil.close(conn);
}
return f;
} public boolean insert_borrowing(Bean_borrowing bean) {//插入借阅图书数据的方法
boolean f=false;
String sql="insert into borrowing_information(id,name,writer,press,sysSysDate) values('"+bean.getId()+"','"+bean.getName()+"','"+bean.getWriter()+"','"+bean.getPress()+"','"+bean.getTime()+"')";
Connection conn=DBUtil.getConnection();//数据库连接,加载驱动
Statement state=null;
try
{
state=conn.createStatement();//实例化Statement对象,方便对sql语句进行操作
System.out.println(conn);
state.executeUpdate(sql);
f=true;
//执行数据库更新操作用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,
//例如CREATETABLE和DROPTABLE,(创建表和删除表)
}catch(Exception e)//当try语句中s出现异常时,会执行catch中的语句
{
e.printStackTrace();//捕获异常的语句
}
finally //finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下。
{
DBUtil.close(conn);
}
return f;
} public List<Bean_book> list(){//查询所有方法
String sql="select * from book_information order by id ASC";
Connection conn=DBUtil.getConnection();
Statement st=null;
List<Bean_book> list=new ArrayList<>();
ResultSet rs=null;
Bean_book bean=null;
try {
st=conn.createStatement();
st.executeQuery(sql);
rs=st.executeQuery(sql);
while(rs.next()) {
int id=rs.getInt("id");
String name = rs.getString("name");
String writer = rs.getString("writer");
String press = rs.getString("press");
int num=rs.getInt("num");
bean=new Bean_book(id,name,writer,press,num);
list.add(bean);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBUtil.close(rs, st, conn);
}
return list;
} public List<Bean_book> searchByName(String str) throws SQLException{//查询条件方法
String sql="select * from book_information where(name like '%"+str+"%')";
Connection conn=DBUtil.getConnection();
Statement st=null;
PreparedStatement pt = conn.prepareStatement(sql);
List<Bean_book> search=new ArrayList<>();
ResultSet rs=null;
Bean_book bean=null;
try {
pt=conn.prepareStatement(sql);
rs=pt.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name = rs.getString("name");
String writer = rs.getString("writer");
String press = rs.getString("press");
int num=rs.getInt("num");
bean=new Bean_book(id,name,writer,press,num);
search.add(bean);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBUtil.close(rs, st, conn);
}
return search;
} public List<Bean_book> searchByWriter(String str) throws SQLException{//查询条件方法
String sql="select * from book_information where(writer like '%"+str+"%')";
Connection conn=DBUtil.getConnection();
Statement st=null;
PreparedStatement pt = conn.prepareStatement(sql);
List<Bean_book> search=new ArrayList<>();
ResultSet rs=null;
Bean_book bean=null;
try {
pt=conn.prepareStatement(sql);
rs=pt.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name = rs.getString("name");
String writer = rs.getString("writer");
String press=rs.getString("press");
int num=rs.getInt("num");
bean=new Bean_book(id,name,writer,press,num);
search.add(bean);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBUtil.close(rs, st, conn);
}
return search;
} public boolean update(Bean_book bean) {//更新自减方法
String sql="update book_information set num='"+bean.getNum()+"',name='"+bean.getName()+"',writer='"+bean.getWriter()+"',press='"+bean.getPress()+"'where id='"+bean.getId()+"'";
Connection conn=DBUtil.getConnection();
boolean f=false;
Statement st=null;
try {
st=conn.createStatement();
st.executeUpdate(sql);
f=true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return f;
} public boolean delete_book(int id ) {//删除方法
String sql="delete from book_information where id='"+id+"'";
boolean f=false;
Connection conn =DBUtil.getConnection();
Statement st=null;
try {
st=conn.createStatement();
st.executeUpdate(sql);
f=true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
DBUtil.close(st, conn);
}
return f;
} public List<Bean_reader> find(){//查询
String sql="select * from reader_information";
Connection conn=DBUtil.getConnection();
Statement st=null;
List<Bean_reader> find=new ArrayList<>();
ResultSet rs=null;
Bean_reader bean=null;
try {
st=conn.createStatement();
st.executeQuery(sql);
rs=st.executeQuery(sql);
while(rs.next()) {
int uid=rs.getInt("uid");
String password = rs.getString("password");
bean=new Bean_reader(uid,password);
find.add(bean);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBUtil.close(rs, st, conn);
}
return find;
} }

4.servlet

package servlet;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import java.text.SimpleDateFormat; import bean.Bean_reader;
import bean.Bean_book;
import bean.Bean_borrowing;
import dao.Dao; /**
* Servlet implementation class servlet
*/
@WebServlet("/servlet")
public class servlet extends HttpServlet {
Dao dao = new Dao();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public servlet() {
super();
// TODO Auto-generated constructor stub
} private void insert_reader(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {//增
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
int uid = Integer.parseInt(request.getParameter("uid"));
String name = request.getParameter("name");
String sex = request.getParameter("sex");
String college= request.getParameter("college");
String password= request.getParameter("password");
Bean_reader bean=new Bean_reader(uid,name,sex,college,password); if(dao.insert_reader(bean)) {
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("add reader.jsp").forward(request, response);
}
} private void insert_book(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {//增
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String writer = request.getParameter("writer");
String press= request.getParameter("press");
int num = Integer.parseInt(request.getParameter("num"));
Bean_book bean=new Bean_book(id,name,writer,press,num); if(dao.insert_book(bean)) {
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("add book.jsp").forward(request, response);
}
} /*private void insert_borrowing(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {//增
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String writer = request.getParameter("writer");
String press= request.getParameter("press");
String time= request.getParameter("sysSysDate");
int num= Integer.parseInt(request.getParameter("num"));
num=num-1;
Bean_borrowing bean=new Bean_borrowing(id,name,writer,press,time);
Bean_book bean1=new Bean_book(id,name,writer,press,num); if(dao.insert_borrowing(bean)&&dao.update(bean1)) {
request.setAttribute("message", "订阅成功");
request.getRequestDispatcher("list book.jsp").forward(request, response);
}
}*/ private void list(HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
List<Bean_book> list = dao.list();
request.setAttribute("list", list);
request.getRequestDispatcher("list book.jsp").forward(request,response);
} private void list_admin(HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
List<Bean_book> list_admin = dao.list();
request.setAttribute("list", list_admin);
request.getRequestDispatcher("delete book.jsp").forward(request,response);
} private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//改
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String writer = request.getParameter("writer");
String press = request.getParameter("press");
int num= Integer.parseInt(request.getParameter("num"));
num=num-1; Bean_book bean=new Bean_book(id,name,writer,press,num);
dao.update(bean);
request.setAttribute("message", "订阅成功");
request.getRequestDispatcher("servlet?method=list").forward(request, response);
} private void delete_book(HttpServletRequest request, HttpServletResponse response) throws Exception, IOException {//删
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
int id=Integer.parseInt(request.getParameter("id"));
dao.delete_book(id); //进行数据库的删除操作
request.setAttribute("message", "删除成功");
request.getRequestDispatcher("servlet?method=list_admin").forward(request, response);
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
if("insert_reader".equals(method)) {
insert_reader(request,response);
}
else if("insert_book".equals(method)) {
insert_book(request,response);
}
/*else if("insert_borrowing".equals(method)) {
insert_borrowing(request,response);
}*/
else if("list".equals(method)) {
try {
list(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if("list_admin".equals(method)) {
try {
list_admin(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if("update".equals(method)) {
update(request,response);
}
else if("delete_book".equals(method)) {
try {
delete_book(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

条件查询

package servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import bean.Bean_book;
import dao.Dao; /**
* Servlet implementation class searchServlet_admin
*/
@WebServlet("/searchServlet_admin")
public class searchServlet_admin extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public searchServlet_admin() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String cxfs=request.getParameter("cxfs");
System.out.print(cxfs); String str=request.getParameter("value");
Dao dao=new Dao();
List<Bean_book> list = null; try {
if("1".equals(cxfs)){
list=dao.searchByName(str);
}
if("2".equals(cxfs)){
list=dao.searchByWriter(str);
}
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
request.setAttribute("list", list);
request.getRequestDispatcher("delete book.jsp").forward(request,response);
System.out.print(list.size());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import bean.Bean_book;
import dao.Dao; /**
* Servlet implementation class searchServlet
*/
@WebServlet("/searchServlet")
public class searchServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public searchServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String cxfs=request.getParameter("cxfs");
System.out.print(cxfs); String str=request.getParameter("value");
Dao dao=new Dao();
List<Bean_book> list = null; try {
if("1".equals(cxfs)){
list=dao.searchByName(str);
}
if("2".equals(cxfs)){
list=dao.searchByWriter(str);
}
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
request.setAttribute("list", list);
request.getRequestDispatcher("list book.jsp").forward(request,response);
System.out.print(list.size());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

5.JSP页面

<%@page import="java.sql.PreparedStatement"%>
<%@ page import="db.DBUtil"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body> <table id="addTable" class="table table-bordered "> <tr class="text-center row">
<td class="col-sm-2">
学号/工号
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="id" id="id" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
密码
</td>
<td class="col-sm-4">
<input type="password" class="form-control" name="password" id="password">
</td>
</tr> <tr class="text-center row">
<td>
登陆身份
</td>
<td colspan="3">
<select class="form-control" id="identity" name="identity">
<option value="读者">读者</option>
<option value="管理员">管理员</option>
</select>
</td>
</tr>
</table>
<input type="submit" value="登录" onclick="return next()"> <script type="text/javascript">
function next(){
var id=document.getElementById('id').value;
var password=document.getElementById('password').value; if(document.getElementById('identity').value=="读者"){
if(document.getElementById('id').value==''){
alert('学号/工号不能为空!');
document.getElementById('id').focus();
return false;
}
else if(document.getElementById('id').value.length!=8){
alert('学号/工号位数错误,请输入8位正确数字!');
document.getElementById('id').focus();
return false;
}
if(document.getElementById('password').value==''){
alert('密码不能为空!');
document.getElementById('password').focus();
return false;
}
window.location.href="reader_index.jsp?id="+id;
}
if(document.getElementById('identity').value=="管理员"){
if(document.getElementById('id').value==''){
alert('学号/工号不能为空!');
document.getElementById('id').focus();
return false;
}
else if(document.getElementById('id').value.length!=8){
alert('学号/工号位数错误,请输入8位正确数字!');
document.getElementById('id').focus();
return false;
}
if(document.getElementById('password').value==''){
alert('密码不能为空!');
document.getElementById('password').focus();
return false;
}
window.location.href="admin_index.jsp?id="+id;
}
}
</script> </body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>管理员主页</title>
</head>
<script type="text/javascript">
let id = location.search.split("=")[1];
alert("工号"+id+"你好!"); //弹出对话框
</script>
<body>
<div align="center" font-size="30px">
<h1>管理员</h1>
<div>
<a href="add reader.jsp">添加读者信息</a>
</div>
<div>
<a href="add book.jsp">添加新书信息</a>
</div>
<div>
<a href="servlet?method=list_admin">删除书目信息</a>
</div>
<div>
<a href="servlet?method=list">打印催还书目</a>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>读者功能页</title>
</head>
<script type="text/javascript">
let id = location.search.split("=")[1];
alert("欢迎您!"+"读者"+id); //弹出对话框
</script>
<body>
<div align="center" font-size="30px">
<h1>读者</h1>
<div>
<a href="servlet?method=list">浏览图书信息</a>
</div>
<div>
<a href="servlet?method=list">查询图书信息</a>
</div>
<div>
<a href="servlet?method=list">借阅图书</a>
</div>
<div>
<a href="servlet?method=list">浏览催还书目</a>
</div>
<div>
<a href="servlet?method=list">归还图书</a>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加新书信息</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>"); //弹出对话框
</script>
<%
}
%>
<form action="servlet?method=insert_book" method="post"> <table id="addTable" class="table table-bordered "> <tr class="text-center row">
<td class="col-sm-2">
图书编号
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="id" id="id" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
书名
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="name" id="name" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
作者名
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="writer" id="writer" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
出版社名
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="press" id="press" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
可借阅数量
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="num" id="num" >
</td>
</tr> </table>
<input type="submit" value="添加" onclick="check()">
</form>
</body>
<script type="text/javascript">
function check() //封装一个<body>中做成点击事件的函数
{
if(document.getElementById('id').value=='') {
alert('图书编号不能为空!');
document.getElementById('id').focus();
return false;
}
if(document.getElementById('name').value==''){
alert('书名不能为空!');
document.getElementById('name').focus();
return false;
}
if(document.getElementById('writer').value=='') {
alert('作者名不能为空!');
document.getElementById('writer').focus();
return false;
}
else if(document.getElementById('press').value==''){
alert('出版社名不能为空!');
document.getElementById('press').focus();
return false;
}
if(document.getElementById('num').value=='') {
alert('借阅数量不能为空!');
document.getElementById('num').focus();
return false;
}
} </script>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加读者信息</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>"); //弹出对话框
</script>
<%
}
%> <form action="servlet?method=insert_reader" method="post"> <table id="addTable" class="table table-bordered "> <tr class="text-center row">
<td class="col-sm-2">
学号
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="uid" id="uid" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
姓名
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="name" id="name" >
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
密码
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="password" id="password" >
</td>
</tr> <tr>
<td class="col-sm-2">
性别
</td>
<td class="col-sm-4">
<input type="radio" name="sex" id="sex" value="男">男
<input type="radio" name="sex" id="sex" value="女">女
</td>
</tr> <tr class="text-center row">
<td class="col-sm-2">
所在学院
</td>
<td class="col-sm-4">
<input type="text" class="form-control" name="college" id="college" >
</td>
</tr> </table>
<input type="submit" value="添加" onclick="check()">
</form>
</body>
<script type="text/javascript">
function check() //封装一个<body>中做成点击事件的函数
{
if(document.getElementById('id').value=='') {
alert('学号不能为空!');
document.getElementById('id').focus();
return false;
}
if(document.getElementById('name').value==''){
alert('姓名不能为空!');
document.getElementById('name').focus();
return false;
}
if(document.getElementById('college').value==''){
alert('所在学院不能为空!');
document.getElementById('college').focus();
return false;
}
} </script>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>删除</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>"); //弹出对话框
</script>
<%
}
%>
<div align="center">
<h1 >信息列表</h1>
<h1>
<form action="searchServlet_admin" method="post">
<select name="cxfs">
<option id="cxfs"value ="1">书名</option>
<option id="cxfs" value ="2">作者名</option>
</select>
<input type="text" id="value" name="value" placeholder="请输入条件">
<input type="submit" id="select" name="select" value="查询" />
</form> </h1>
<table >
<tr>
<td>图书编号</td>
<td>书名</td>
<td>作者名</td>
<td>出版社名称</td>
<td>可借阅数量</td>
<td align="center" colspan="2">操作</td>
</tr>
<c:forEach items="${list}" var="item">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.writer}</td>
<td>${item.press}</td>
<td>${item.num}</td>
<td><a href="servlet?method=delete_book&id=${item.id}">删除</a></td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>"); //弹出对话框
</script>
<%
}
%>
<div align="center">
<h1 >信息列表</h1>
<h3>当前时间:<input id="sysDate" style="font-size:18.72px;color:red;width: 320px;text-align: center;"></h3>
<h1>
<form action="searchServlet" method="post">
<select name="cxfs">
<option id="cxfs"value ="1">书名</option>
<option id="cxfs" value ="2">作者名</option>
</select>
<input type="text" id="value" name="value" placeholder="请输入条件">
<input type="submit" id="select" name="select" value="查询" />
</form> </h1>
<table >
<tr>
<td>图书编号</td>
<td>书名</td>
<td>作者名</td>
<td>出版社名称</td>
<td>可借阅数量</td>
<td align="center" colspan="2">操作</td>
</tr>
<c:forEach items="${list}" var="item">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.writer}</td>
<td>${item.press}</td>
<td>${item.num}</td>
<td><a href="servlet?method=update&id=${item.id}&name=${item.name}&writer=${item.writer}&press=${item.press}&num=${item.num}"
onclick="next()">订阅</a></td>
</tr>
</c:forEach>
</table>
</div>
</body> <script type="text/javascript">
/*---------- 动态获取系统当前日期方法start ------*/
setInterval(
"document.getElementById('sysDate').value=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",
1000);
setInterval(
"document.getElementById('sysSysDate').value=new Date().toLocaleString();",
1000); /*---------- 动态获取系统当前日期方法end ------*/ var d = new Date();
d.setMonth(d.getMonth()+3);
d=d.toLocaleString(); function next(){
alert('订阅成功!还书日期为'+d);
}
</script>
</html>

6.总结

1.与图书借阅相关的功能例如记录借阅时间还没有实现,待完善

2.没有实现登录的验证,只有简单的跳转,仍需要学习

3.关于参数传递不了解

4.实现了简单的MySQL增、删、改、查

5.存在冗余还没有修改

6.仍需要继续改进

7.数据库后台建表

用户信息表的密码暂时无用,还没有实现登陆验证

后文:https://www.cnblogs.com/Arisf/p/14141243.html

Java Web下MySQL数据库的增删改查(一)的更多相关文章

  1. Java Web下MySQL数据库的增删改查(二)

    前文:https://www.cnblogs.com/Arisf/p/14095002.html 在之前图书管理系统上做了改进优化 图书管理系统v2 首先是项目结构: 1.数据库的连接: 1 pack ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. Java连接本地MySQL数据库进行增删改查操作

    package Dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStat ...

  4. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  5. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  6. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  7. Java 使用控制台操作实现数据库的增删改查

    使用控制台进行数据库增删改查操作,首先创建一个Java Bean类,实现基础数据的构造,Get,Set方法的实现,减少代码重复性. 基本属性为 学生学号 Id, 学生姓名 Name,学生性别 Sex, ...

  8. 通过Loadruner对mysql数据库进行增删改查

    操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库  --> 数据库 ...

  9. c#winform简单实现Mysql数据库的增删改查的语句

    通过简单的SQL语句实现对数据库的增删改查. 窗口如下: 定义打开与关闭连接函数,方便每次调用: 增加指令: 删除指令: 修改指令: 查找指令: 表格情况:

随机推荐

  1. nagios介绍和安装

    官方support文献: https://support.nagios.com/kb/ 1.Nagios的监控模式: 主动式检查:NCPA.NRPE nagios安装后默认使用主动检查方式,远程执行代 ...

  2. 用notepad2代替notepad

    Windows自带的notepad.exe功能比较弱,notepad2是一个比较好的替代方案,但在任何系统调用notepad的时候都能用notepad2代替并不是一件容易的事,下面是一个解决方法: h ...

  3. 超硬核 Web 前端学霸笔记,学完就去找工作!

    文章和教程 Vue 学习笔记 Node 学习笔记 React 学习笔记 Angular 学习笔记 RequireJS 学习笔记 Webpack 学习笔记 Gulp 学习笔记 Python 学习笔记 E ...

  4. pikachu CSRF

    CSRF简介 CSRF 是 Cross Site Request Forgery 的 简称,中文名为跨域请求伪造在CSRF的攻击场景中,攻击者会伪造一个请求(一般是一个链接)然后欺骗目标用户进行点击, ...

  5. Vue2.0 axios 读取本地json文件

    参考:https://www.cnblogs.com/wdxue/p/8868982.html 1.下载插件 npm install axios --save 2.在main.js下引用axios i ...

  6. QT 资源文件的添加

  7. 回忆java输入输出流,走出误区

    input read 将一个XXX读入(input)---从输入流中读取数据的下一个字节(code操作的).output write 将一个类型的数据写入此流(code操作的)---然后把XXX输出( ...

  8. [转载]getContentPane()

    关于setContentPane()和getContentPane()的应用       我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件.但是,虽然它有 add 方法,却不能直接 ...

  9. Linux中增加组和用户

    新服务器增加用户: 1.创建一个新的组, groupadd oracle 2.useradd 命令用于建立用户账号(-g 指定用户所属的群组) useradd -g oracle oracle 3.再 ...

  10. Ubuntu16.04 Linux 下安装、配置SSH

    本人在Win7+VMware下利用两个ubuntu虚拟机安装.配置.测试了SSH. 在Server端安装openssh-server. sudo apt-get install ssh # 安装ssh ...