diff --git a/WebContent/admin/bookadd.jsp b/WebContent/admin/bookadd.jsp index 8743202..9e305bb 100644 --- a/WebContent/admin/bookadd.jsp +++ b/WebContent/admin/bookadd.jsp @@ -1,11 +1,11 @@ -<%@page import="java.sql.ResultSet"%> -<%@page import="javabean.JDBCBean"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="javabean.JDBCBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> - + bookadd @@ -19,39 +19,39 @@ <% - ResultSet librarySet = null; // 声明图书馆结果集变量 - ResultSet bookSortSet = null; // 声明书籍分类结果集变量 + ResultSet librarySet = null; //声明一个ResultSet对象用于存储图书馆数据 + ResultSet bookSortSet = null; // 声明一个ResultSet对象用于存储书籍分类数据 // 获取图书馆列表 - JDBCBean db2 = new JDBCBean(); // 创建JDBCBean对象 - String librarySql = "select * from library"; // SQL查询语句 - librarySet = db2.executeQuery( librarySql ); // 执行查询并赋值给librarySet + JDBCBean db2 = new JDBCBean(); // 创建JDBCBean对象db2 + String librarySql = "select * from library"; // SQL查询语句,选择所有图书馆记录 + librarySet = db2.executeQuery( librarySql ); // 执行SQL查询并将结果存储在librarySet中 // 获取书籍分类 - JDBCBean db3 = new JDBCBean(); // 创建另一个JDBCBean对象 - String bookSortSql = "select * from book_sort"; // SQL查询语句 - bookSortSet = db3.executeQuery( bookSortSql ); // 执行查询并赋值给bookSortSet + JDBCBean db3 = new JDBCBean(); // 创建JDBCBean对象db3 + String bookSortSql = "select * from book_sort"; // SQL查询语句,选择所有书籍分类记录 + bookSortSet = db3.executeQuery( bookSortSql ); // 执行SQL查询并将结果存储在bookSortSet中 %> -
+
- +
- +
- - <% while( librarySet.next() ){ %> - + <% while( librarySet.next() ){ %> + <%} %>
@@ -59,10 +59,10 @@
- - <% while(bookSortSet.next()){ %> - + <% while(bookSortSet.next()){ %> + <%} %>
@@ -70,62 +70,70 @@
- +
-
可借
-
不可借
+
可借
+
<
不可借
+
- +
+
- +
- - - + + diff --git a/WebContent/admin/bookborrowlist.jsp b/WebContent/admin/bookborrowlist.jsp index aaba5ea..5bd14d6 100644 --- a/WebContent/admin/bookborrowlist.jsp +++ b/WebContent/admin/bookborrowlist.jsp @@ -3,14 +3,13 @@ <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.Connection"%> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + 书籍借阅历史 - + + + bookedit + + + - - <% - JDBCBean db = new JDBCBean(); - int id = Integer.parseInt(request.getParameter("id")); - ResultSet resultSet = null; - ResultSet librarySet = null; - ResultSet bookSortSet = null; - String sql = "select * from books where id=" +id ; - resultSet = db.executeQuery(sql); - resultSet.next(); - String name = resultSet.getString("name"); - String author = resultSet.getString("author"); - int library_id = resultSet.getInt("library_id"); - int sort_id = resultSet.getInt("sort_id"); - String position = resultSet.getString("position"); - int status = resultSet.getInt("status"); - String description = resultSet.getString("description"); - db.close(); - // 获取图书馆列表 - JDBCBean db2 = new JDBCBean(); - String librarySql = "select * from library"; - librarySet = db2.executeQuery( librarySql ); - - - // 获取书籍分类 - JDBCBean db3 = new JDBCBean(); - String bookSortSql = "select * from book_sort"; - bookSortSet = db3.executeQuery( bookSortSql ); - - %> - -
- <%-- 隐藏id --%> - class="layui-hide"> - -
- -
- required lay-verify="required" placeholder="请输入书名" autocomplete="off" class="layui-input"> +<% + //创建数据库操作对象 + JDBCBean db = new JDBCBean(); + // 获取请求参数中的id值,并转换为整数类型 + int id = Integer.parseInt(request.getParameter("id")); + ResultSet resultSet = null; + ResultSet librarySet = null; + ResultSet bookSortSet = null; + // SQL查询语句,根据id查询书籍信息 + String sql = "select * from books where id=" + id; + // 执行查询操作 + resultSet = db.executeQuery(sql); + // 移动到结果集的第一行数据 + resultSet.next(); + // 获取书籍的各项属性值 + String name = resultSet.getString("name"); + String author = resultSet.getString("author"); + int library_id = resultSet.getInt("library_id"); + int sort_id = resultSet.getInt("sort_id"); + String position = resultSet.getString("position"); + int status = resultSet.getInt("status"); + String description = resultSet.getString("description"); + // 关闭数据库连接 + db.close(); + + // 获取图书馆列表 + JDBCBean db2 = new JDBCBean(); + String librarySql = "select * from library"; + librarySet = db2.executeQuery(librarySql); + + // 获取书籍分类列表 + JDBCBean db3 = new JDBCBean(); + String bookSortSql = "select * from book_sort"; + bookSortSet = db3.executeQuery(bookSortSql); +%> + + + + class="layui-hide"> + +
+ +
+ required lay-verify="required" placeholder="请输入书名" autocomplete="off" class="layui-input"> +
-
- -
- -
- required lay-verify="required" placeholder="请输入作者" autocomplete="off" class="layui-input"> + +
+ +
+ required lay-verify="required" placeholder="请输入作者" autocomplete="off" class="layui-input"> +
-
- -
- -
- + +
+ +
+ +
-
- -
- -
- + +
+ +
+ +
-
- -
- -
- required lay-verify="required" placeholder="请输入位置编号" autocomplete="off" class="layui-input"> + +
+ +
+ required lay-verify="required" placeholder="请输入位置编号" autocomplete="off" class="layui-input"> +
-
- -
- -
- > - > + +
+ +
+ > + > +
-
- -
- -
- + +
+ +
+ +
-
- -
-
- - +
+
+ + +
-
- <% - // 关闭资源 - bookSortSet.close(); - librarySet.close(); - resultSet.close(); - db.close(); + // 关闭资源 + bookSortSet.close(); //关闭书籍分类结果集 + librarySet.close(); //关闭图书馆结果集 + resultSet.close(); //关闭书籍信息结果集 + db.close(); //关闭数据库连接 %> - \ No newline at end of file + diff --git a/WebContent/admin/booklist.jsp b/WebContent/admin/booklist.jsp index a6f26a9..1a37e5c 100644 --- a/WebContent/admin/booklist.jsp +++ b/WebContent/admin/booklist.jsp @@ -1,244 +1,226 @@ -<%@page import="net.sf.json.JSONObject"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="javabean.JDBCBean"%> -<%@page import="java.util.Map"%> -<%@page import="java.util.HashMap"%> +<%@page import="net.sf.json.JSONObject"%> // 导入JSON库 +<%@page import="java.sql.ResultSet"%> // 导入SQL查询结果类 +<%@page import="javabean.JDBCBean"%> // 导入自定义数据库连接类 +<%@page import="java.util.Map"%> // 导入Map接口 +<%@page import="java.util.HashMap"%> // 导入HashMap类 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面编码为UTF-8 + + - - test - - - - + + test + + + + - <% - - JDBCBean libraryDb = new JDBCBean(); - JDBCBean bookSortDb = new JDBCBean(); - ResultSet librarySet = null; - ResultSet bookSortSet = null; - // 准备sql - String librarySql = "select * from library"; - String bookSortSql = "select * from book_sort"; - // 进行查询 - librarySet = libraryDb.executeQuery( librarySql ); - bookSortSet = bookSortDb.executeQuery( bookSortSql ); - // 准备json - JSONObject libraryJson = new JSONObject(); - JSONObject bookSortJson = new JSONObject(); - - // 遍历set - // 获取图书馆json - while( librarySet.next() ){ - libraryJson.put(librarySet.getString("id") , librarySet.getString("name")); - } - // 获取分类json - while( bookSortSet.next() ){ - bookSortJson.put(bookSortSet.getString("id") , bookSortSet.getString("name")); - } - librarySet.close(); - libraryDb.close(); - - %> - - - - - - -
- - - - - - - - - + + +
+ + + + + + + }); + - \ No newline at end of file + diff --git a/WebContent/admin/booklist_1.jsp b/WebContent/admin/booklist_1.jsp index b1cb282..7f11ba1 100644 --- a/WebContent/admin/booklist_1.jsp +++ b/WebContent/admin/booklist_1.jsp @@ -1,54 +1,51 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的语言为Java,字符编码为UTF-8,设置页面的编码为UTF-8 + + - - test - - - - + + test + + + + - - -
- - - \ No newline at end of file + diff --git a/WebContent/admin/borrowlist.jsp b/WebContent/admin/borrowlist.jsp index c1c6dbe..d586a16 100644 --- a/WebContent/admin/borrowlist.jsp +++ b/WebContent/admin/borrowlist.jsp @@ -1,92 +1,89 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的语言为Java,字符编码为UTF-8,设置页面的编码为UTF-8 + + - - 借阅记录 - + + 借阅记录 + - - - -
- - - - + +
+ + + + + - \ No newline at end of file + diff --git a/WebContent/admin/cardadd.jsp b/WebContent/admin/cardadd.jsp index 48f3f91..0728e4b 100644 --- a/WebContent/admin/cardadd.jsp +++ b/WebContent/admin/cardadd.jsp @@ -1,117 +1,115 @@ -<%@page import="javabean.Base"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="net.sf.json.JSONObject"%> -<%@page import="net.sf.json.JSONArray"%> -<%@page import="javabean.Admin"%> +<%@page import="javabean.Base"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.PreparedStatement"%> +<%@page import="java.sql.Connection"%> +<%@page import="net.sf.json.JSONObject"%> +<%@page import="net.sf.json.JSONArray"%> +<%@page import="javabean.Admin"%> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> + + - -图书证修改 - - - + + 图书证修改 + + + <% - Connection connection = null; - PreparedStatement pstmt = null; - ResultSet ruleSet = null; - String sql = "select * from rules"; - String result = ""; - connection = (Connection)Base.getConnection(); - pstmt = connection.prepareStatement(sql); - ruleSet = pstmt.executeQuery(); + Connection connection = null; // 声明数据库连接对象 + PreparedStatement pstmt = null; // 声明PreparedStatement对象 + ResultSet ruleSet = null; // 声明ResultSet对象,用于存储查询结果 + String sql = "select * from rules"; // 定义SQL查询语句 + String result = ""; // 定义结果字符串 + connection = (Connection)Base.getConnection(); // 获取数据库连接 + pstmt = connection.prepareStatement(sql); // 创建PreparedStatement对象并执行SQL查询 + ruleSet = pstmt.executeQuery(); // 执行查询并返回结果集 %> -
+ -
- -
- +
+ +
+
- + -
- -
- +
+ +
+
- + -
- -
- + <% while(ruleSet.next()){ %> + <%} %>
- -
- -
- - + +
+ +
+ +
- -
-
- - + +
+
+ +
- \ No newline at end of file + diff --git a/WebContent/admin/cardborrow.jsp b/WebContent/admin/cardborrow.jsp index e15544e..6ab4fa5 100644 --- a/WebContent/admin/cardborrow.jsp +++ b/WebContent/admin/cardborrow.jsp @@ -1,83 +1,90 @@ -<%@page import="javabean.Util"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="javabean.Base"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="javabean.JDBCBean"%> +<%@page import="javabean.Util"%> +<%@page import="java.sql.PreparedStatement"%> +<%@page import="java.sql.Connection"%> +<%@page import="javabean.Base"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="javabean.JDBCBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> + + - -借阅证借阅记录 - - - + + 借阅证借阅记录 + + + <% - String id = request.getParameter("id"); - Connection connection = (Connection)Base.getConnection(); - String sql = "select * from borrow_books,books where card_id=? and borrow_books.book_id = books.id"; - PreparedStatement pstmt = connection.prepareStatement(sql); - pstmt.setString(1, id); - ResultSet resultSet = null; - resultSet = pstmt.executeQuery(); - + // 获取请求参数"id"(即借阅证号) + String id = request.getParameter("id"); + // 获取数据库连接 + Connection connection = (Connection)Base.getConnection(); + // 定义SQL查询语句,查询借阅记录和对应书籍信息 + String sql = "select * from borrow_books,books where card_id=? and borrow_books.book_id = books.id"; + // 创建PreparedStatement对象,准备执行查询语句 + PreparedStatement pstmt = connection.prepareStatement(sql); + // 设置SQL语句中的占位符参数 + pstmt.setString(1, id); + // 执行查询,获取结果集 + ResultSet resultSet = null; + resultSet = pstmt.executeQuery(); %> +
- - - - - - - - - - - - - - - - - - - - - - - - - - <% - System.out.println(Util.getCurrentTimeString()); - %> - <% while(resultSet.next()){ %> - <%-- 图书超期 --%> - <%if(Util.getFormatDateTime(resultSet.getString("end_date")).compareTo(Util.getCurrentTimeString()) < 0 && resultSet.getString("return_date") == null){ %> - - <%} else{ %> - - <%} %> - - - - - - - - - - <%} %> - -
ID书籍ID书籍名借阅时间截止时间归还时间违规信息处理人
<%=resultSet.getString("card_id") %><%=resultSet.getString("book_id") %><%=resultSet.getString("books.name") %><%=Util.getFormatDateTime(resultSet.getString("borrow_date")) %><%=Util.getFormatDateTime(resultSet.getString("end_date"))%><%=resultSet.getString("return_date")!=null?Util.getFormatDateTime(resultSet.getString("return_date")) : "未归还" %><%=resultSet.getString("illegal")!=null?resultSet.getString("illegal"):""%><%=resultSet.getString("manager_id")!=null?resultSet.getString("manager_id"):"" %>
+ + + + + + + + + + + + + + + + + + + + + + + + + + <% + // 输出当前时间,用于调试 + System.out.println(Util.getCurrentTimeString()); + %> + <% while(resultSet.next()){ %> + <%-- 判断借阅书籍是否超期,且未归还 --%> + <%if(Util.getFormatDateTime(resultSet.getString("end_date")).compareTo(Util.getCurrentTimeString()) < 0 && resultSet.getString("return_date") == null){ %> + + <%} else{ %> + + <%} %> + + + + + + + + + + <%} %> + +
ID 书籍ID 书籍名 借阅时间 截止时间 归还时间 违规信息 处理人
<%=resultSet.getString("card_id") %> <%=resultSet.getString("book_id") %> <%=resultSet.getString("books.name") %> <%=Util.getFormatDateTime(resultSet.getString("borrow_date")) %> <%=Util.getFormatDateTime(resultSet.getString("end_date"))%> <%=resultSet.getString("return_date")!=null?Util.getFormatDateTime(resultSet.getString("return_date")) : "未归还" %> <%=resultSet.getString("illegal")!=null?resultSet.getString("illegal"):""%> <%=resultSet.getString("manager_id")!=null?resultSet.getString("manager_id"):"" %>
- \ No newline at end of file + diff --git a/WebContent/admin/cardedit.jsp b/WebContent/admin/cardedit.jsp index 136b21e..19df503 100644 --- a/WebContent/admin/cardedit.jsp +++ b/WebContent/admin/cardedit.jsp @@ -1,144 +1,145 @@ -<%@page import="javabean.Base"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="net.sf.json.JSONObject"%> -<%@page import="net.sf.json.JSONArray"%> -<%@page import="javabean.Admin"%> +<%@page import="javabean.Base"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.PreparedStatement"%> +<%@page import="java.sql.Connection"%> +<%@page import="net.sf.json.JSONObject"%> +<%@page import="net.sf.json.JSONArray"%> +<%@page import="javabean.Admin"%> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> + + - -图书证修改 - - - + + 图书证修改 + + + <% - // 获取借阅证信息 - String id = request.getParameter("id"); - - - // 获取rule - Connection connection = null; - PreparedStatement pstmt = null; - PreparedStatement infoPstmt = null; - ResultSet ruleSet = null; - ResultSet infoSet = null; - String sql = "select * from rules"; - String infoSql = "select * from borrow_card where id=?"; - String result = ""; - // 公用连接 - connection = (Connection)Base.getConnection(); - pstmt = connection.prepareStatement(sql); - infoPstmt = connection.prepareStatement(infoSql); - infoPstmt.setString(1,id); - infoSet = infoPstmt.executeQuery(); - infoSet.next(); - ruleSet = pstmt.executeQuery(); + // 获取借阅证ID参数 + String id = request.getParameter("id"); // 获取通过URL传递的“id”参数 + + // 初始化数据库连接及SQL语句 + Connection connection = null; // 声明数据库连接对象 + PreparedStatement pstmt = null; // 声明PreparedStatement对象,用于查询规则 + PreparedStatement infoPstmt = null; // 声明PreparedStatement对象,用于查询借阅证信息 + ResultSet ruleSet = null; // 声明ResultSet对象,用于存放规则查询结果 + ResultSet infoSet = null; // 声明ResultSet对象,用于存放借阅证信息查询结果 + String sql = "select * from rules"; // 查询规则的SQL语句 + String infoSql = "select * from borrow_card where id=?"; // 查询借阅证信息的SQL语句,使用占位符“?” + String result = ""; // 初始化字符串变量result,用于存储结果 + + // 获取数据库连接 + connection = (Connection)Base.getConnection(); // 调用Base类中的getConnection方法获取数据库连接 + pstmt = connection.prepareStatement(sql); // 准备执行规则查询SQL语句 + infoPstmt = connection.prepareStatement(infoSql); // 准备执行借阅证信息查询SQL语句 + infoPstmt.setString(1, id); // 设置查询借阅证信息SQL语句中的ID参数 + infoSet = infoPstmt.executeQuery(); // 执行查询并获取结果集 + infoSet.next(); // 将结果集指针移动到查询的第一行 + ruleSet = pstmt.executeQuery(); // 执行规则查询并获取结果集 %> -
- - -
- -
- class="layui-input" disabled> + + + + +
+ +
+ class="layui-input" disabled> +
-
- - -
- -
- lay-verify="required" autocomplete="off" placeholder="请输入姓名" class="layui-input"> + + +
+ +
+ lay-verify="required" autocomplete="off" placeholder="请输入姓名" class="layui-input"> +
-
- - -
- -
- placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required"> + + +
+ +
+ placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required"> +
-
- - -
- -
- -
-
- -
- -
- > - > -
-
- -
-
- - + + +
+ +
+ +
+
+ +
+ +
+ > + > +
+
+ +
+
+ + +
-
<% - Base.closeResource(connection, pstmt, ruleSet); + Base.closeResource(connection, pstmt, ruleSet); // 关闭数据库资源 %> - \ No newline at end of file + diff --git a/WebContent/admin/cardlist.jsp b/WebContent/admin/cardlist.jsp index ea4308e..9416436 100644 --- a/WebContent/admin/cardlist.jsp +++ b/WebContent/admin/cardlist.jsp @@ -1,181 +1,180 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> + + - - 借阅卡 - + + 借阅卡 + - + - -
- - - - - - - - + + + + + + + - - + + + - \ No newline at end of file + diff --git a/WebContent/admin/index.jsp b/WebContent/admin/index.jsp index e6499e6..906c8ab 100644 --- a/WebContent/admin/index.jsp +++ b/WebContent/admin/index.jsp @@ -1,95 +1,96 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 页面编码为UTF-8,确保中文等字符显示正确 + + // 定义文档类型为HTML5 + // 开始HTML文档,指定语言为英语 - - 系统管理员 - - - + // 定义文档的字符编码为UTF-8 + 系统管理员 // 页面标题,显示在浏览器标签上 + + // 引入layui的CSS文件,用于页面样式 + // 引入layui的JavaScript文件 - -
-
- + // 定义页面主体部分,应用layui的布局样式 +
// layui框架的布局容器,管理后台使用 +
// 头部区域 + // 左侧logo,显示为“系统管理员” -
- -
-
+ +
// 左侧导航栏区域,背景色为黑色 +
// 左侧导航区域的滚动部分 -
- -
+ +
// 页面内容区域 - + // 嵌套iframe,加载系统管理页面内容
- - - \ No newline at end of file + diff --git a/WebContent/admin/librarydata.jsp b/WebContent/admin/librarydata.jsp index 146ef4a..4775824 100644 --- a/WebContent/admin/librarydata.jsp +++ b/WebContent/admin/librarydata.jsp @@ -1,62 +1,63 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 页面编码为UTF-8,确保中文等字符显示正确 + + // 定义文档类型为HTML5 + // 开始HTML文档 - - ECharts + // 定义文档的字符编码为UTF-8 + ECharts // 页面标题,显示在浏览器标签上 - - + // 引入本地的echarts.js文件,用于图表渲染 + // 引入远程的jQuery库,提供AJAX等功能 - -
- + // 异步加载数据 + $.get('./libraryData').done(function (data) { // 使用jQuery的get方法从'./libraryData'接口异步请求数据 + if(data.code == 0){ // 判断返回的数据是否成功(code == 0) + // 填入数据 + myChart.setOption({ + xAxis: { + data: data.data.days // 设置x轴的数据为接口返回的days数组 + }, + series: [{ + // 根据名字对应到相应的系列 + name: '借书量', // 设置系列的名称为“借书量” + data: data.data.data, // 设置折线图的数据为接口返回的data数组 + type: 'line' // 设置图表类型为折线图 + }] + }); + }else{ + $('body').append($("
调用接口失败
")); // 如果接口调用失败,显示错误信息 + } + }); + - \ No newline at end of file + diff --git a/WebContent/admin/manageradd.jsp b/WebContent/admin/manageradd.jsp index 9f190c3..57ccc01 100644 --- a/WebContent/admin/manageradd.jsp +++ b/WebContent/admin/manageradd.jsp @@ -1,90 +1,87 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -管理员添加 - - - - + // 定义文档类型为HTML5 + // 开始HTML文档 + + // 定义文档的字符集为UTF-8 + 管理员添加 // 页面标题,显示在浏览器标签页上 + + // 引入layui的CSS样式文件 + // 引入layui的JS文件,提供UI交互功能 + -
-
- -
- + // 使用layui的表单样式,lay-filter用于表单过滤 +
// 表单项容器 + // 表单项标签,显示“姓名” +
// 输入框容器 + // 姓名输入框,设置必填验证
-
- -
- +
// 表单项容器 + // 表单项标签,显示“账号” +
// 输入框容器 + // 账号输入框,设置必填验证
-
- -
- +
// 表单项容器 + // 表单项标签,显示“密码” +
// 输入框容器 + // 密码输入框,设置必填验证
-
- -
- +
// 表单项容器 + // 表单项标签,显示“邮箱” +
// 输入框容器 + // 邮箱输入框,设置必填验证
- -
-
- + +
// 表单项容器 +
// 输入框容器 + // 提交按钮,触发表单提交
- \ No newline at end of file + diff --git a/WebContent/admin/manageredit.jsp b/WebContent/admin/manageredit.jsp index c0d4811..8361f3b 100644 --- a/WebContent/admin/manageredit.jsp +++ b/WebContent/admin/manageredit.jsp @@ -1,103 +1,109 @@ -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="javabean.Base"%> +<%@page import="java.sql.ResultSet"%> // 引入java.sql.ResultSet类,用于处理数据库查询结果集 +<%@page import="java.sql.PreparedStatement"%> // 引入java.sql.PreparedStatement类,用于执行数据库的SQL查询 +<%@page import="java.sql.Connection"%> // 引入java.sql.Connection类,用于连接数据库 +<%@page import="javabean.Base"%> // 引入自定义的Base类,用于数据库连接管理 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面编码为UTF-8,确保能够支持中文字符 + + // 定义文档类型为HTML5 + // 开始HTML文档 - -管理员修改 - - - - + // 设置页面字符编码为UTF-8 + 管理员修改 // 设置页面标题 + + // 引入layui的CSS文件,提供UI样式 + // 引入layui的JS文件,提供UI交互功能 + <% - String id = request.getParameter("id"); - Connection connection = (Connection)Base.getConnection(); - String sql = "select * from manager where id=?"; - PreparedStatement pstmt = connection.prepareCall(sql); - pstmt.setString(1,id); - ResultSet resultSet = pstmt.executeQuery(); - resultSet.next(); - + // 获取页面传递的参数id + String id = request.getParameter("id"); + // 获取数据库连接 + Connection connection = (Connection)Base.getConnection(); + // 编写SQL查询语句,获取管理员信息 + String sql = "select * from manager where id=?"; + // 创建PreparedStatement对象,防止SQL注入 + PreparedStatement pstmt = connection.prepareCall(sql); + // 设置查询参数 + pstmt.setString(1,id); + // 执行查询,获取结果集 + ResultSet resultSet = pstmt.executeQuery(); + // 移动结果集指针到第一行数据 + resultSet.next(); %> -
- lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input layui-hide"> -
- -
- lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input"> + // 创建layui表单,设置表单过滤器 + lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input layui-hide"> // 隐藏id输入框,用于传递修改的管理员ID +
// 表单项容器 + // 姓名标签 +
// 输入框容器 + lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input"> // 姓名输入框,填入从数据库中获取的管理员姓名
-
- -
- disabled lay-verify="required" placeholder="请输入账号" autocomplete="off" class="layui-input"> +
// 表单项容器 + // 账号标签 +
// 输入框容器 + disabled lay-verify="required" placeholder="请输入账号" autocomplete="off" class="layui-input"> // 账号输入框,显示从数据库中获取的管理员账号,禁用(不可编辑)
-
- -
- lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"> +
// 表单项容器 + // 密码标签 +
// 输入框容器 + lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"> // 密码输入框,填入从数据库中获取的管理员密码
-
- -
- lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input"> +
// 表单项容器 + // 邮箱标签 +
// 输入框容器 + lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input"> // 邮箱输入框,填入从数据库中获取的管理员邮箱
- -
-
- + +
// 表单项容器 +
// 输入框容器 + // 提交按钮,点击后提交表单
- \ No newline at end of file + diff --git a/WebContent/admin/managerlist.jsp b/WebContent/admin/managerlist.jsp index 154974f..cf36b91 100644 --- a/WebContent/admin/managerlist.jsp +++ b/WebContent/admin/managerlist.jsp @@ -1,118 +1,120 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的字符编码为UTF-8 + + // 定义文档类型为HTML5 + // 设置HTML文档的语言为英语 - - 借阅卡 - + // 设置页面字符编码为UTF-8 + 借阅卡 // 设置页面标题为“借阅卡” + // 引入layui的CSS文件,用于页面样式 - + - -
- - - - - - - // 引入layui的JavaScript文件,提供UI功能和交互 + + + + + + + + + // 头部工具栏事件 + table.on('toolbar(formFilter)', function(obj){ // 监听头部工具栏的事件 + var checkStatus = table.checkStatus(obj.config.id); // 获取选中行的数据 + switch(obj.event){ // 根据事件类型进行处理 + case 'add': // 添加管理员 + var addCardLayer = layer.open({ // 打开一个弹出层 + type: 2, // 弹出层类型为iframe + title: '添加管理员', // 弹出层标题 + area: ['800px', '500px'], // 弹出层的宽度和高度 + maxmin: true, // 允许最大化和最小化 + shadeClose: true, // 点击遮罩层关闭 + content: 'manageradd.jsp', // 弹出层内容页面 + }); + //layer.full(addCardLayer); // 此行已注释,可以让弹出层最大化 + }; + }); + + // 侧边工具栏事件 + table.on(('tool(formFilter)'), function(obj){ // 监听表格的工具栏事件 + var data = obj.data; // 获取当前行的数据 + var layEvent = obj.event; // 获取事件类型 + var id = data.id; // 获取管理员的ID + var tr = obj.tr; // 获取当前行的tr元素 + switch(obj.event){ // 根据事件类型进行处理 + case 'edit': // 编辑管理员 + layer.open({ // 打开一个弹出层 + type: 2, // 弹出层类型为iframe + title: '更改信息', // 弹出层标题 + area: ['800px', '600px'], // 弹出层的宽度和高度 + maxmin: true, // 允许最大化和最小化 + shadeClose: true, // 点击遮罩层关闭 + content: 'manageredit.jsp?id=' +id, // 弹出层内容页面,传递管理员ID作为参数 + }) + break; + case 'del': // 删除管理员 + layer.confirm('确定要删除么?',function(){ // 弹出确认框 + layer.msg("ok"); // 显示消息 + $.ajax({ // 使用AJAX发送删除请求 + url: './managerDel', // 删除管理员的URL + data: 'id=' +id, // 发送管理员ID + type: 'get', // 使用GET请求 + dataType: 'json', // 返回的数据格式为JSON + timeout: 3000, // 请求超时时间为3000毫秒 + success: function(data){ // 请求成功的回调函数 + layer.msg("???"); // 显示提示消息 + if(data.code == 0){ // 如果删除成功 + layer.msg(data.msg,{ // 显示成功消息 + icon: 6, // 成功图标 + anim: 5, // 动画效果 + time: 500 // 消息显示500毫秒 + }); + setTimeout(function(){ // 延时操作 + parent.location.reload(); // 刷新父页面 + },500); + }else{ // 如果删除失败 + layer.msg(data.code); // 显示错误消息 + } + }, + error: function(){ // 请求失败的回调函数 + layer.msg("连接超时"); // 显示连接超时消息 + } + }) + }) + } + }) +}); + - \ No newline at end of file + diff --git a/WebContent/admin/ruleadd.jsp b/WebContent/admin/ruleadd.jsp index ce06807..b4a7e98 100644 --- a/WebContent/admin/ruleadd.jsp +++ b/WebContent/admin/ruleadd.jsp @@ -1,119 +1,119 @@ -<%@page import="javabean.Common"%> -<%@page import="java.util.TreeMap"%> -<%@page import="java.util.HashMap"%> -<%@page import="java.util.Map"%> -<%@page import="java.util.ArrayList"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="javabean.Base"%> +<%@page import="javabean.Common"%> // 导入Common类,用于获取图书馆信息 +<%@page import="java.util.TreeMap"%> // 导入TreeMap类,用于存储图书馆数据 +<%@page import="java.util.HashMap"%> // 导入HashMap类,用于存储规则相关数据 +<%@page import="java.util.Map"%> // 导入Map接口,用于定义数据结构 +<%@page import="java.util.ArrayList"%> // 导入ArrayList类,用于存储列表数据 +<%@page import="java.sql.ResultSet"%> // 导入ResultSet类,用于处理数据库查询结果 +<%@page import="java.sql.PreparedStatement"%> // 导入PreparedStatement类,用于执行SQL查询 +<%@page import="java.sql.Connection"%> // 导入Connection类,用于数据库连接 +<%@page import="javabean.Base"%> // 导入Base类,可能是数据库连接工具类 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面编码为UTF-8 + + // 声明文档类型为HTML5 + // 开始HTML文档 - -规则添加 - - - - + // 设置页面字符集为UTF-8 + 规则添加 // 页面标题设置为“规则添加” + + // 引入layui框架的CSS文件,提供样式支持 + // 引入layui框架的JavaScript文件,提供组件和交互功能 + <% - // 获取图书馆map - Map libraryMap = Common.getLibraryMap(); + // 获取图书馆map + Map libraryMap = Common.getLibraryMap(); // 调用Common类的getLibraryMap方法,获取图书馆信息Map %> -
- -
- -
- + // 定义一个layui表单,使用layui样式 + // 隐藏的输入框,用于传递id,值为3 +
// 表单项 + // 表单标签“限制天数” +
// 输入框块 + // 输入框,要求输入限制天数 +
-
- -
- -
- + +
// 表单项 + // 表单标签“限制数量” +
// 输入框块 + // 输入框,要求输入限制数量 +
-
-
- -
- <% - for(String key : libraryMap.keySet()){ - %> - title=<%=libraryMap.get(key) %> checked> - <% - } - %> - +
// 表单项 + // 表单标签“限制图书馆” +
// 输入框块 + <% + // 遍历获取的libraryMap,生成多个checkbox + for(String key : libraryMap.keySet()){ // 遍历图书馆map的每一项 + %> + title=<%=libraryMap.get(key) %> checked> // 动态生成checkbox,checked表示默认选中 + <% + } + %> + +
-
-
- -
- +
// 表单项 + // 表单标签“逾期每天费用” +
// 输入框块 + // 输入框,要求输入逾期每天费用 +
-
-
-
- - +
// 表单项 +
// 输入框块 + // 提交按钮,点击提交表单 + // 重置按钮,重置表单内容 +
-
- - \ No newline at end of file + diff --git a/WebContent/admin/ruleedit.jsp b/WebContent/admin/ruleedit.jsp index 97b0f8d..2af13d3 100644 --- a/WebContent/admin/ruleedit.jsp +++ b/WebContent/admin/ruleedit.jsp @@ -1,148 +1,157 @@ -<%@page import="javabean.Common"%> -<%@page import="java.util.TreeMap"%> -<%@page import="java.util.HashMap"%> -<%@page import="java.util.Map"%> -<%@page import="java.util.ArrayList"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> -<%@page import="javabean.Base"%> +<%@page import="javabean.Common"%> // 导入Common类,提供图书馆映射等功能 +<%@page import="java.util.TreeMap"%> // 导入TreeMap类,可能用于存储图书馆数据 +<%@page import="java.util.HashMap"%> // 导入HashMap类,用于存储规则数据 +<%@page import="java.util.Map"%> // 导入Map接口,用于定义存储数据的映射 +<%@page import="java.util.ArrayList"%> // 导入ArrayList类,可能用于存储多个对象 +<%@page import="java.sql.ResultSet"%> // 导入ResultSet类,用于处理SQL查询的结果集 +<%@page import="java.sql.PreparedStatement"%> // 导入PreparedStatement类,用于执行SQL语句 +<%@page import="java.sql.Connection"%> // 导入Connection类,用于数据库连接 +<%@page import="javabean.Base"%> // 导入Base类,可能用于数据库连接和资源管理 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的字符编码为UTF-8 + + // 声明文档类型为HTML5 + // 开始HTML文档 - -规则添加 - - - - + // 设置页面字符集为UTF-8 + 规则添加 // 页面标题设置为“规则添加” + + // 引入layui框架的CSS文件,提供样式支持 + // 引入layui框架的JavaScript文件,提供组件和交互功能 + <% + // 获取请求参数id String id = request.getParameter("id"); - Connection connection = null; - PreparedStatement pstmt = null; - ResultSet resultSet = null; - String sql = ""; - - connection = (Connection)Base.getConnection(); - sql = "select * from rules where id = ?"; - pstmt = connection.prepareStatement(sql); - pstmt.setString(1, id); - resultSet = pstmt.executeQuery(); - resultSet.next(); - - String[] libraryList = resultSet.getString("borrow_library").split("、"); - // 获取图书馆map - Map libraryMap = Common.getLibraryMap(); + Connection connection = null; // 定义数据库连接对象 + PreparedStatement pstmt = null; // 定义PreparedStatement对象 + ResultSet resultSet = null; // 定义查询结果集对象 + String sql = ""; // 初始化SQL查询语句 + + // 获取数据库连接 + connection = (Connection)Base.getConnection(); + // 设置查询规则的SQL语句 + sql = "select * from rules where id = ?"; + // 创建PreparedStatement对象,执行SQL查询 + pstmt = connection.prepareStatement(sql); + pstmt.setString(1, id); // 设置查询条件(id) + // 执行查询,获取结果集 + resultSet = pstmt.executeQuery(); + resultSet.next(); // 移动到结果集的第一行 + + // 获取借书限制图书馆信息,并分割成数组 + String[] libraryList = resultSet.getString("borrow_library").split("、"); + // 获取图书馆信息映射 + Map libraryMap = Common.getLibraryMap(); %> -
- class="layui-hide"> -
- -
- required lay-verify="required" placeholder="请输入限制天数" autocomplete="off" class="layui-input"> + // 定义一个layui表单,使用layui样式 + class="layui-hide"> // 隐藏的输入框,用于传递规则的id +
// 表单项 + // 表单标签“限制天数” +
// 输入框块 + required lay-verify="required" placeholder="请输入限制天数" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的限制天数 +
-
- -
- -
- required lay-verify="required" placeholder="请输入限制数量" autocomplete="off" class="layui-input"> + +
// 表单项 + // 表单标签“限制数量” +
// 输入框块 + required lay-verify="required" placeholder="请输入限制数量" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的限制数量 +
-
-
- -
- <% - for(String key : libraryMap.keySet()){ - boolean flag = false; - %> - title=<%=libraryMap.get(key) %> - <% for(String key0 : libraryList){ - flag = false; - if(key0.equals(key)){ - flag = true; - } - if(flag == true) - out.print("checked"); - } - %>> - <% - } - %> - +
// 表单项 + // 表单标签“限制图书馆” +
// 输入框块 + <% + // 遍历图书馆map,生成多个checkbox,表示用户选择的图书馆 + for(String key : libraryMap.keySet()){ // 遍历图书馆map的每一项 + boolean flag = false; // 定义一个标志,用于判断是否选中 + %> + title=<%=libraryMap.get(key) %> + <% + // 遍历数据库中获取的已选图书馆列表,判断是否选中该图书馆 + for(String key0 : libraryList){ + flag = false; + if(key0.equals(key)){ + flag = true; // 如果图书馆ID匹配,设置flag为true + } + if(flag == true) + out.print("checked"); // 如果选中该图书馆,则勾选checkbox + } + %>> + <% + } + %> + +
-
-
- -
- required lay-verify="required" placeholder="请输入逾期每天费用" autocomplete="off" class="layui-input"> +
// 表单项 + // 表单标签“逾期每天费用” +
// 输入框块 + required lay-verify="required" placeholder="请输入逾期每天费用" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的逾期费用 +
-
-
-
- - +
// 表单项 +
// 输入框块 + // 提交按钮,点击后提交表单 + // 重置按钮,点击后重置表单内容 +
-
- <% - Base.closeResource(connection, pstmt, resultSet); + // 关闭数据库连接和其他资源 + Base.closeResource(connection, pstmt, resultSet); // 关闭数据库连接、PreparedStatement和ResultSet %> - \ No newline at end of file + diff --git a/WebContent/admin/rulelist.jsp b/WebContent/admin/rulelist.jsp index 44c5b7f..d340eed 100644 --- a/WebContent/admin/rulelist.jsp +++ b/WebContent/admin/rulelist.jsp @@ -1,119 +1,120 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的字符编码为UTF-8 + + // 声明HTML5文档类型 + // 开始HTML文档,指定语言为英语 - - 规则列表 - + // 设置页面的字符编码为UTF-8 + 规则列表 // 页面标题设置为“规则列表” + // 引入layui框架的CSS文件,用于样式支持 - - -
- - - - - - - // 引入layui框架的JavaScript文件,提供组件和交互功能 + + + + + + + + - \ No newline at end of file + diff --git a/WebContent/admin/sortadd.jsp b/WebContent/admin/sortadd.jsp index bf98bd1..0e1807b 100644 --- a/WebContent/admin/sortadd.jsp +++ b/WebContent/admin/sortadd.jsp @@ -1,79 +1,74 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -分类添加 - - - - - + // 声明文档类型为HTML5 + // 开始HTML文档 + + // 设置页面的字符编码为UTF-8 + 分类添加 // 页面标题为“分类添加” + + // 引入layui框架的CSS文件,用于页面样式 + // 引入layui框架的JavaScript文件,用于实现页面交互 + -
-
- -
- + // 创建一个layui表单,使用layui的样式,设置filter属性为"formFilter" +
// 创建一个表单项 + // 标签显示为“分类名” +
// 输入框的容器 + // 文本框输入,设置为必填,且有验证规则“required”
- -
- -
- + +
// 创建一个文本区域 + // 标签显示为“分类描述” +
// 输入框容器 + // 文本框区域,用于输入分类描述,设置高度为300px
- -
-
- + +
// 创建一个表单项 +
// 输入框容器 + // 提交按钮,设置lay-submit属性为提交表单,lay-filter为按钮的过滤标识
- - \ No newline at end of file + diff --git a/WebContent/admin/sortedit.jsp b/WebContent/admin/sortedit.jsp index 2d041e0..4dbdd6e 100644 --- a/WebContent/admin/sortedit.jsp +++ b/WebContent/admin/sortedit.jsp @@ -1,101 +1,109 @@ -<%@page import="javabean.Base"%> -<%@page import="java.sql.ResultSet"%> -<%@page import="java.sql.PreparedStatement"%> -<%@page import="java.sql.Connection"%> +<%@page import="javabean.Base"%> // 导入Base类,用于数据库连接 +<%@page import="java.sql.ResultSet"%> // 导入ResultSet类,用于处理查询结果 +<%@page import="java.sql.PreparedStatement"%> // 导入PreparedStatement类,用于执行SQL语句 +<%@page import="java.sql.Connection"%> // 导入Connection类,用于数据库连接管理 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -分类编辑 - - - - - + // 声明文档类型为HTML5 + // 开始HTML文档 + + // 设置页面的字符编码为UTF-8 + 分类编辑 // 页面标题为“分类编辑” + + // 引入layui框架的CSS文件,用于页面样式 + // 引入layui框架的JavaScript文件,用于实现页面交互 + + <% - String id = request.getParameter("id"); - Connection connection = null; - PreparedStatement pstmt = null; - ResultSet resultSet = null; - String sql = ""; - - connection = (Connection)Base.getConnection(); - sql = "select * from book_sort where id = ?"; - pstmt = connection.prepareStatement(sql); - pstmt.setString(1, id); - resultSet = pstmt.executeQuery(); - resultSet.next(); + // 获取请求参数中的id,表示要编辑的分类ID + String id = request.getParameter("id"); + + // 初始化数据库连接、PreparedStatement和ResultSet对象 + Connection connection = null; + PreparedStatement pstmt = null; + ResultSet resultSet = null; + String sql = ""; + + // 获取数据库连接 + connection = (Connection)Base.getConnection(); + // 设置查询语句,查询指定ID的分类信息 + sql = "select * from book_sort where id = ?"; + // 创建PreparedStatement对象,并设置参数 + pstmt = connection.prepareStatement(sql); + pstmt.setString(1, id); + // 执行查询,获取结果集 + resultSet = pstmt.executeQuery(); + // 移动游标到查询结果的第一行 + resultSet.next(); %> - -
- lay-verify="required" required autocomplete="off" class="layui-input layui-hide"> -
- -
- lay-verify="required" required autocomplete="off" placeholder="请输入分类名" class="layui-input"> + + // 创建一个layui表单,设置过滤器为"formFilter" + lay-verify="required" required autocomplete="off" class="layui-input layui-hide"> // 隐藏字段,用于提交分类ID +
// 创建一个表单项 + // 标签显示为“分类名” +
// 输入框容器 + lay-verify="required" required autocomplete="off" placeholder="请输入分类名" class="layui-input"> // 文本框,显示从数据库中查询到的分类名,设置为必填 +
-
- -
- -
- + +
// 创建一个文本区域 + // 标签显示为“分类描述” +
// 输入框容器 + // 文本框区域,显示从数据库查询到的分类描述,若为空则显示空字符串 +
-
- -
-
- + +
// 创建一个表单项 +
// 输入框容器 + // 提交按钮,设置lay-submit属性为提交表单,lay-filter为按钮的过滤标识 +
-
- + <% - Base.closeResource(connection, pstmt, resultSet); + // 关闭数据库资源 + Base.closeResource(connection, pstmt, resultSet); %> + - \ No newline at end of file + diff --git a/WebContent/admin/sortlist.jsp b/WebContent/admin/sortlist.jsp index 66053be..6751208 100644 --- a/WebContent/admin/sortlist.jsp +++ b/WebContent/admin/sortlist.jsp @@ -1,108 +1,107 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的字符编码为UTF-8 + // 声明文档类型为HTML5 + // 设置页面语言为英语 - - 借阅卡 - + // 设置页面字符编码为UTF-8 + 借阅卡 // 页面标题为“借阅卡” + // 引入layui的CSS文件,用于页面样式 - - -
- - - - - - - // 引入layui的JS文件,包含所有layui的功能 + + + + + + + - \ No newline at end of file + diff --git a/WebContent/admin/updatePassword.jsp b/WebContent/admin/updatePassword.jsp index 6cab7d5..77c96b0 100644 --- a/WebContent/admin/updatePassword.jsp +++ b/WebContent/admin/updatePassword.jsp @@ -1,89 +1,82 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - + pageEncoding="UTF-8"%> // 设置页面的编码方式为UTF-8 + // 声明文档类型为HTML5 + // HTML文档开始 - -修改密码 - - - - - + // 设置页面的字符编码为UTF-8 + 修改密码 // 设置页面标题为“修改密码” + + // 引入layui的CSS样式文件 + // 引入layui的JavaScript文件 + -
+ // 创建layui表单,设置formFilter作为表单过滤器 -
- -
- +
// 定义表单项 + // 设置标签为“旧密码” +
// 输入框所在块 + // 密码输入框,带有验证规则
- -
- -
- + +
// 定义表单项 + // 设置标签为“新密码” +
// 输入框所在块 + // 新密码输入框,带有验证规则
- -
- -
- + +
// 定义表单项 + // 设置标签为“确认密码” +
// 输入框所在块 + // 确认密码输入框,带有验证规则
- -
-
- +
// 定义表单项 +
// 输入框所在块 + // 提交按钮,点击提交表单
- - \ No newline at end of file + diff --git a/WebContent/adminLogin.html b/WebContent/adminLogin.html index 57c001f..6dcf545 100644 --- a/WebContent/adminLogin.html +++ b/WebContent/adminLogin.html @@ -1,67 +1,66 @@ - - + // 声明文档类型为HTML5 + // HTML文档开始 - -登录页面 - - - - - - - - - - + // 设置页面的字符编码为UTF-8 + 登录页面 // 设置页面标题为“登录页面” + // 设置视口,确保在移动设备上有良好的显示效果 + // 引入jQuery库(通过CDN) + + // 引入Bootstrap的CSS样式文件 + + // 引入Bootstrap的JS文件 + + // 引入Bootstrap的主题样式文件 + // 引入animate.css,提供CSS动画效果 + // 引入自定义的登录页面样式文件 -
-
-

系统管理员登录

-
- - - -
-
+
//使用Bootstrap的container类,设置容器 +
// 设置登录框,包含动画效果(从上方渐入) +

系统管理员登录

// 显示标题“系统管理员登录” +
// 表单使用POST方法提交 + // 输入框,要求用户输入账号,使用form-control样式 + // 输入框,要求用户输入密码,使用form-control样式 + // 提交按钮,点击时调用JS函数(不会刷新页面) +
-
-
- -
- - // 引入layer.js,用于弹窗提示 + + }) + - \ No newline at end of file + diff --git a/WebContent/loginManager.html b/WebContent/loginManager.html index 40b88a5..8230785 100644 --- a/WebContent/loginManager.html +++ b/WebContent/loginManager.html @@ -1,67 +1,67 @@ - - - - -图书管理员登录页面 - - - - - - - - - - + + + + + 图书管理员登录页面 + + + + + + + + + + - -
-
-

工作人员登录

-
- - - -
-
-
-
-
- + +
+
+

工作人员登录

+
+ + + +
+
+
+
+ +
\ No newline at end of file diff --git a/WebContent/loginReader.html b/WebContent/loginReader.html index 7cd5502..254c8d5 100644 --- a/WebContent/loginReader.html +++ b/WebContent/loginReader.html @@ -1,72 +1,71 @@ - -借阅者登录页面 - - - - - - - - - - - + + 借阅者登录页面 + + + + + + + + + + -
-
-

借阅者登录

-
- - - -
- -
+
+
+

借阅者登录

+
+ + + +
-
-
- -
- - + + + }); + return false; // 阻止表单默认提交行为 + }); + }); + - \ No newline at end of file + diff --git a/WebContent/manager/01nav.jsp b/WebContent/manager/01nav.jsp index 31a36e4..9c0380f 100644 --- a/WebContent/manager/01nav.jsp +++ b/WebContent/manager/01nav.jsp @@ -1,85 +1,134 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> + + + + - + + + + + 图书馆管理人员页面 - - + + + + + + +
+ + - + - +
- + + +
- +
- - - \ No newline at end of file + diff --git a/WebContent/manager/02borrow.jsp b/WebContent/manager/02borrow.jsp index 5f551f0..75026b1 100644 --- a/WebContent/manager/02borrow.jsp +++ b/WebContent/manager/02borrow.jsp @@ -1,114 +1,137 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> + + - -Insert title here - - - + + + Insert title here + + + + + + -

借阅图书

-
- -
-
- -
-
-
+

借阅图书

+ +
+ + + +
+ + +
+
+
-
- -
-
-
+ +
+
+ + +
+
+
-
- -
-
-
+
+ +
+ + +
+
+
+
-
- -
- - - - -
+ +
+ + +
+ + + + layui + .use( + [ 'form', 'layedit', 'laydate' ], + function() { + var form = layui.form, layer = layui.layer, layedit = layui.layedit, laydate = layui.laydate; + + + //日期 + laydate.render({ + elem : '#date1', + type : 'datetime', + format : 'yyyy-M-d H:m:s', + value: new Date() + }); + + + laydate.render({ + elem : '#date2', + type : 'datetime', + format : 'yyyy-M-d H:m:s' + }); + + + + //创建一个编辑器 + var editIndex = layedit + .build('LAY_demo_editor'); + + + //监听提交 + form.on('submit(demo1)', function(data) { + layer.alert(JSON.stringify(data.field), { + title : '最终的提交信息' + }) + return false; + }); + + //表单赋值 + layui.$('#LAY-component-form-setval').on( + 'click', function() { + form.val('example', { + "username" : "贤心" // "name": "value" + , + "password" : "123456", + "interest" : 1, + "like[write]" : true //复选框选中状态 + , + "close" : true //开关状态 + , + "sex" : "女", + "desc" : "我爱 layui" + }); + }); + + //表单取值 + layui.$('#LAY-component-form-getval').on( + 'click', function() { + var data = form.val('example'); + (JSON.stringify(data)); + }); + }); + }); + +
\ No newline at end of file diff --git a/WebContent/manager/03borrowSus.jsp b/WebContent/manager/03borrowSus.jsp index 28588c5..ad3b705 100644 --- a/WebContent/manager/03borrowSus.jsp +++ b/WebContent/manager/03borrowSus.jsp @@ -1,163 +1,137 @@ -<%@ page import="java.sql.*"%> -<%@ page import="javabean.EndTime"%> +<%@ page import="java.sql.*" %> +<%@ page import="javabean.EndTime" %> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> - -Insert title here + + Insert title here - - <% - String user = request.getParameter("userid"); - String book = request.getParameter("bookid"); - String date1 = request.getParameter("date1"); - - - //String date2 = request.getParameter("date2"); - String sql1 = "select * from borrow_card where ID =" + user; - - ResultSet rs1 = borrow.executeQuery(sql1); - - - if(session.getAttribute("manager")!=null){ - if (rs1.next()) { - - String rule = rs1.getString("rule_id"); - int cardstatus = Integer.parseInt(rs1.getString("STATUS")); - - String sql4="select*from rules where id = "+rule; - ResultSet rs4 = borrow.executeQuery(sql4); - int n =0; - String library = ""; - String[] libraryArray = {}; - int num = 0; - while(rs4.next()){ - n=rs4.getInt("limit_day"); - library = rs4.getString("borrow_library"); - libraryArray=library.split("、"); - num = rs4.getInt("borrow_num"); - } - - EndTime endtime = new EndTime(); - String end = endtime.show(n); - - if(cardstatus!=0){ - String sql2 = "select * from books where ID =" + book; - ResultSet rs2 = borrow.executeQuery(sql2); - - if(rs2.next()){ - - int status=Integer.parseInt(rs2.getString("STATUS")); - String lib = Integer.toString(rs2.getInt("library_id")); - for(int z=0;z +<% + String user = request.getParameter("userid"); // 获取请求参数中的用户ID + String book = request.getParameter("bookid"); // 获取请求参数中的图书ID + String date1 = request.getParameter("date1"); // 获取请求参数中的借阅日期 + // String date2 = request.getParameter("date2"); // 获取请求参数中的归还日期(被注释掉) - ResultSet rsSql = borrow.executeQuery(countSql); - int count=0; - while(rsSql.next()){ - count = rsSql.getInt("count"); - } - //out.println(count); - if(count - - - <% - String sql3="update books set STATUS=0 where ID="+book; - borrow.executeUpdate(sql3); - - } else { - %> - - <% - } - } catch (Exception e) { - %> - - <% - } - }else{ - %> - - <% - } - }else{ - %> - - <% - } - } - if(z==libraryArray.length-1 && !libraryArray[z].equals(lib)){ - %> - - <% - } - } - - }else{ - %> - - <% - } - }else{ - %> - - <% - } - } else { - %> - - <% + String sql1 = "select * from borrow_card where ID =" + user; // SQL查询语句,根据用户ID查询借阅卡信息 + ResultSet rs1 = borrow.executeQuery(sql1); // 执行SQL查询,返回结果集 + + if(session.getAttribute("manager")!=null){ // 检查会话中是否有管理员登录 + if (rs1.next()) { // 如果查询到借阅卡信息 + String rule = rs1.getString("rule_id"); // 获取借阅卡的规则ID + int cardstatus = Integer.parseInt(rs1.getString("STATUS")); // 获取借阅卡状态 + + String sql4="select*from rules where id = " + rule; // SQL查询语句,根据规则ID查询规则信息 + ResultSet rs4 = borrow.executeQuery(sql4); // 执行SQL查询,返回结果集 + int n = 0; // 初始化变量n + String library = ""; // 初始化图书馆字符串 + String[] libraryArray = {}; // 初始化图书馆数组 + int num = 0; // 初始化可借阅数量 + while(rs4.next()){ // 遍历规则结果集 + n = rs4.getInt("limit_day"); // 获取借阅天数限制 + library = rs4.getString("borrow_library"); // 获取可借阅的图书馆 + libraryArray = library.split("、"); // 将图书馆字符串分割成数组 + num = rs4.getInt("borrow_num"); // 获取可借阅数量 } - }else{ - %> - - <% - } - %> + EndTime endtime = new EndTime(); // 创建EndTime对象 + String end = endtime.show(n); // 计算并获取借阅结束日期 + if(cardstatus!=0){ // 如果借阅卡状态有效 + String sql2 = "select * from books where ID =" + book; // SQL查询语句,根据图书ID查询图书信息 + ResultSet rs2 = borrow.executeQuery(sql2); // 执行SQL查询,返回结果集 + if (rs2.next()) { // 如果查询到图书信息 + int status = Integer.parseInt(rs2.getString("STATUS")); // 获取图书状态 + String lib = Integer.toString(rs2.getInt("library_id")); // 获取图书所在图书馆ID + for(int z=0;z +('借阅成功!'); +window.location.href = "02borrow.jsp"; +<% + String sql3="update books set STATUS=0 where ID=" + book; // SQL更新语句,更新图书状态为不可借 + borrow.executeUpdate(sql3); // 执行SQL更新操作 +<% +} catch (Exception e) { // 如果发生异常 + // 显示借阅未成功消息并跳转页面 +%> +('借阅未成功!'); +window.location.href = "02borrow.jsp"; +<% + } +} else { // 如果插入失败 + // 显示借阅未成功消息并跳转页面 +%> +('借阅未成功!'); +window.location.href = "02borrow.jsp"; +<% + } +}else{ // 如果图书状态不可借 + // 显示图书已借出消息并跳转页面 +%> +('该图书已借出!'); +window.location.href = "02borrow.jsp"; +<% + } +}else{ // 如果已借阅数量达到或超过可借阅数量 + // 显示已达到借阅数量上限消息并跳转页面 +%> +('该用户已达到可借阅数量上限!若需还书,请先借阅其他书籍!'); +window.location.href = "02borrow.jsp"; +<% + } + }if(z==libraryArray.length-1 && !libraryArray[z].equals(lib)){ // 如果遍历完所有图书馆且图书不在可借阅范围内 + // 显示图书不在可借阅图书馆内消息并跳转页面 +%> +('该图书未在可借阅的图书馆内!'); +window.location.href = "02borrow.jsp"; +<% + } + } +}else{ // 如果查询不到图书信息 + // 显示图书不存在消息并跳转页面 +%> +('该图书不存在!'); +window.location.href = "02borrow.jsp"; +<% + } +}else{ // 如果借阅卡状态无效 + // 显示借阅卡已挂失消息并跳转页面 +%> +('借阅卡已挂失!'); +window.location.href = "02borrow.jsp"; +<% + } +} else { // 如果查询不到借阅卡信息 + // 显示用户不存在消息并跳转页面 +%> +('用户不存在!'); +window.location.href = "02borrow.jsp"; +<% + } +}else{ // 如果会话中没有管理员登录 + // 显示请先登录消息并跳转页面 +%> +('请先登录!'); +window.parent.location.href = "../loginManager.html"; +<% + } +%> - \ No newline at end of file + diff --git a/WebContent/manager/04judge.jsp b/WebContent/manager/04judge.jsp index d464854..e06f8d6 100644 --- a/WebContent/manager/04judge.jsp +++ b/WebContent/manager/04judge.jsp @@ -1,95 +1,96 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> - -Insert title here - - - + + Insert title here + + + -

查询图书是否逾期

-
+ +

查询图书是否逾期

+
-
- -
- -
-
-
-
+ + - -
- + +
+ +
+
- +
+ +
+ +
+ - -
+ //表单取值示例 + layui.$('#LAY-component-form-getval').on( + 'click', function() { + var data = form.val('example'); + (JSON.stringify(data)); + }); + }); + }); + +
- \ No newline at end of file + diff --git a/WebContent/manager/04judgeSus.jsp b/WebContent/manager/04judgeSus.jsp index ea9a38c..bb70b82 100644 --- a/WebContent/manager/04judgeSus.jsp +++ b/WebContent/manager/04judgeSus.jsp @@ -1,80 +1,79 @@ -<%@ page import="javabean.DateTime" %> -<%@ page import="javabean.CompareDate" %> -<%@ page import="java.sql.*" %> +<%@ page import="javabean.DateTime" %> // 导入自定义的DateTime类,用于获取当前日期时间 +<%@ page import="javabean.CompareDate" %> // 导入自定义的CompareDate类,用于比较日期 +<%@ page import="java.sql.*" %> // 导入Java SQL包,用于数据库操作 <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> // 设置页面语言为Java,内容类型和字符编码为UTF-8 - -Insert title here + + Insert title here - + // 使用JSP标签声明一个名为judge的会话范围的JavaBean对象,类为javabean.JDBCBean <% - String book = request.getParameter("bookid"); - session.setAttribute("book", book); - if(session.getAttribute("manager")!=null){ - DateTime date = new DateTime(); - String now = date.show(); - String bookid = request.getParameter("bookid"); - - String sql="select*from borrow_books where book_id = "+bookid; - ResultSet rs = judge.executeQuery(sql); - String end = ""; - String ret = ""; - String card = ""; - while (rs.next()) { - end = rs.getString("end_date"); - ret = rs.getString("return_date"); - card = rs.getString("card_id"); - } - if(ret==null){ - //CompareDate cd = new CompareDate(); - long n = CompareDate.show(now,end); - //out.println(sql); - //out.println(n); - //out.println(end); - //out.println(now); - session.setAttribute("days", n); - - String sql1="select*from borrow_card where id = "+card; - ResultSet rs1 = judge.executeQuery(sql1); - String rule = ""; - while (rs1.next()) { - rule = rs1.getString("rule_id"); - } - - String sql2="select*from rules where id = "+rule; - ResultSet rs2 = judge.executeQuery(sql2); - String fee = ""; - while (rs2.next()) { - fee = rs2.getString("overtime_fee"); - } - session.setAttribute("fee", fee); - %> - - <% - }else{ - %> - - <% + String book = request.getParameter("bookid"); // 从请求中获取参数bookid的值 + session.setAttribute("book", book); // 将bookid的值存储到会话属性中 + if(session.getAttribute("manager")!=null){ // 检查会话中是否存在manager属性,判断用户是否已登录 + DateTime date = new DateTime(); // 创建DateTime对象实例 + String now = date.show(); // 调用DateTime对象的show方法获取当前日期时间字符串 + String bookid = request.getParameter("bookid"); // 再次从请求中获取参数bookid的值 + + String sql="select*from borrow_books where book_id = "+bookid; // 构建SQL查询语句,查询借书记录表 + ResultSet rs = judge.executeQuery(sql); // 执行SQL查询,返回结果集 + String end = ""; // 初始化变量end,用于存储借书记录中的归还日期 + String ret = ""; // 初始化变量ret,用于存储借书记录中的归还日期 + String card = ""; // 初始化变量card,用于存储借书记录中的借书卡ID + while (rs.next()) { // 遍历结果集 + end = rs.getString("end_date"); // 获取归还日期 + ret = rs.getString("return_date"); // 获取实际归还日期 + card = rs.getString("card_id"); // 获取借书卡ID } - }else{ - %> - - <% + if(ret==null){ // 如果实际归还日期为空,表示书未归还 + //CompareDate cd = new CompareDate(); + long n = CompareDate.show(now,end); // 计算当前日期与归还日期之间的天数差 + //out.println(sql); + //out.println(n); + //out.println(end); + //out.println(now); + session.setAttribute("days", n); // 将天数差存储到会话属性中 + + String sql1="select*from borrow_card where id = "+card; // 构建SQL查询语句,查询借书卡信息 + ResultSet rs1 = judge.executeQuery(sql1); // 执行SQL查询,返回结果集 + String rule = ""; // 初始化变量rule,用于存储规则ID + while (rs1.next()) { // 遍历结果集 + rule = rs1.getString("rule_id"); // 获取规则ID + } + + String sql2="select*from rules where id = "+rule; // 构建SQL查询语句,查询规则信息 + ResultSet rs2 = judge.executeQuery(sql2); // 执行SQL查询,返回结果集 + String fee = ""; // 初始化变量fee,用于存储超时费用 + while (rs2.next()) { // 遍历结果集 + fee = rs2.getString("overtime_fee"); // 获取超时费用 + } + session.setAttribute("fee", fee); // 将超时费用存储到会话属性中 +%> + +window.location.href = "04return.jsp"; // 跳转到04return.jsp页面 + +<% +}else{ // 如果实际归还日期不为空,表示书已归还或不存在 +%> + +("该书未借出或不存在!"); +window.location.href = "04judge.jsp"; // 跳转到04judge.jsp页面 + +<% } +}else{ // 如果会话中不存在manager属性,表示用户未登录 +%> + +('请先登录!'); +window.parent.location.href = "../loginManager.html"; // 跳转到登录页面 +<% + } %> - \ No newline at end of file + diff --git a/WebContent/manager/04return.jsp b/WebContent/manager/04return.jsp index f9978cc..d5c430f 100644 --- a/WebContent/manager/04return.jsp +++ b/WebContent/manager/04return.jsp @@ -1,168 +1,149 @@ -<%@ page import="java.sql.*" %> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> // 导入Java SQL包,用于数据库操作 + // 使用JSP的useBean标签来创建一个名为judge的JavaBean对象,该对象在会话范围内有效 - -Insert title here - - - + + Insert title here + + - -

归还图书

-
- +
+

归还图书

+
<% - Object days = session.getAttribute("days"); - Object fee = session.getAttribute("fee"); - int d = Integer.parseInt(days.toString()); - float f = Float.parseFloat(fee.toString()); - String book = session.getAttribute("book").toString(); - String mes = ""; - String mes2 = ""; - float sum = 0; - if(d<0){ - mes = "已逾期"+(-d)+"天"; - sum = d*f*(-1); - mes2 = "罚款"+sum; - } - else{ - mes = "还剩"+d+"天"; - //mes2 = "无需罚款"; - } - session.setAttribute("mes",mes); - session.setAttribute("mes2",mes2); - %> - - -
- - <%=session.getAttribute("mes") %>
- <%=session.getAttribute("mes2") %> -
-
-
- -
- autocomplete="off" class="layui-input">
-
+ Object days = session.getAttribute("days"); // 从会话中获取“days”属性 + Object fee = session.getAttribute("fee"); // 从会话中获取“fee”属性 + int d = Integer.parseInt(days.toString()); // 将“days”属性转换为整数 + float f = Float.parseFloat(fee.toString()); // 将“fee”属性转换为浮点数 + String book = session.getAttribute("book").toString(); // 从会话中获取“book”属性并转换为字符串 + String mes = ""; // 初始化消息变量 + String mes2 = ""; // 初始化消息变量 + float sum = 0; // 初始化罚款总金额 + if(d<0){ // 如果天数小于0,表示逾期 + mes = "已逾期"+(-d)+"天"; // 设置逾期消息 + mes2 = "罚款"+sum+"元"; // 设置罚款消息 + }else{ // 如果天数不小于0,表示未逾期 + mes = "还剩"+d+"天"; // 设置剩余天数消息 + //mes2 = "无需罚款"; // 注释掉的代码,表示不需要罚款 + } + session.setAttribute("mes", mes); // 将消息存储到会话中 + session.setAttribute("mes2", mes2); // 将消息存储到会话中 + %> +
+ <%=session.getAttribute("mes") %>
// 显示会话中的逾期或剩余天数消息 + <%=session.getAttribute("mes2") %> // 显示会话中的罚款消息 +
+
+ +
+ autocomplete="off" class="layui-input">
// 显示图书编号输入框
+
- <% - - String sql2="select*from borrow_books where return_date is null and book_id = "+book; - ResultSet rs2 = judge.executeQuery(sql2); - String end = ""; - while (rs2.next()) { - - - %> + <% + String sql2="select*from borrow_books where return_date is null and book_id = "+book; // 查询未归还且图书ID匹配的借书记录 + ResultSet rs2 = judge.executeQuery(sql2); // 执行查询并获取结果集 + String end = ""; // 初始化截止日期变量 + while(rs2.next()){ // 遍历结果集 + %> +
+ +
+ >
// 显示截止日期输入框 +
+
-
- -
- >
-
+ <% } %> +
+ +
+
// 显示归还日期输入框
- - <%} %> -
- -
-
-
+
+
+ +
+
// 显示违规信息输入框
- -
- -
-
-
-
- -
- -
- ">
-
-
- -
- +
+ +
+ +
+ > // 显示管理员编号输入框,只读
- +
+ +
+ // 显示归还按钮 +
+ + - + }); + + //表单取值 + layui.$('#LAY-component-form-getval').on( + 'click', function() { + var data = form.val('example'); + layer.alert(JSON.stringify(data)); // 弹出数据 + }); + + }); +
\ No newline at end of file diff --git a/WebContent/manager/05returnSus.jsp b/WebContent/manager/05returnSus.jsp index a336d80..40d5d17 100644 --- a/WebContent/manager/05returnSus.jsp +++ b/WebContent/manager/05returnSus.jsp @@ -11,65 +11,66 @@ <% - String book = request.getParameter("bookid"); - String date1 = request.getParameter("date1"); - String ill = request.getParameter("ill"); + String book = request.getParameter("bookid");// 获取请求参数中的图书ID + String date1 = request.getParameter("date1"); // 获取请求参数中的归还日期 + String ill = request.getParameter("ill"); // 获取请求参数中的是否违规信息 //out.println(ill); - String managerid = request.getParameter("managerid"); + String managerid = request.getParameter("managerid"); // 获取请求参数中的管理员ID - if(session.getAttribute("manager")!=null){ + if(session.getAttribute("manager")!=null){ // 检查用户是否已登录 - String sql2 = "select * from books where ID =" + book; - ResultSet rs2 = ret.executeQuery(sql2); - - if(rs2.next()){ - //out.println(psw1 + " " + psw2); - //String id = session.getAttribute("manager").toString(); - int status=Integer.parseInt(rs2.getString("STATUS")); - if(status==0){ - String sql = "update borrow_books set RETURN_DATE='" + date1 + "',ILLEGAL='" + ill + "',MANAGER_ID='" + managerid + "' where manager_id is null and BOOK_ID="+ book; - - //out.println(sql); + String sql2 = "select * from books where ID =" + book; // 查询图书信息的SQL语句 + ResultSet rs2 = ret.executeQuery(sql2); // 执行查询并返回结果集 + + if(rs2.next()){ // 如果查询到图书信息 + //out.println(psw1 + " " + psw2); + //String id = session.getAttribute("manager").toString(); + int status=Integer.parseInt(rs2.getString("STATUS")); // 获取图书状态 + if(status==0){ // 如果图书状态为未借出(0) + String sql = "update borrow_books set RETURN_DATE='" + date1 + "',ILLEGAL='" + ill + "',MANAGER_ID='" + managerid + "' where manager_id is null and BOOK_ID="+ book; // 更新借书记录的SQL语句 + + //out.println(sql); try { - int i = ret.executeUpdate(sql); - - + int i = ret.executeUpdate(sql); // 执行更新操作,返回受影响的行数 + + //String sql1 = "update borrow_books set RETURN_DATE='" + date1 + "',ILLEGAL='" + ill + "',MANAGER_ID='" + managerid + "' order by BORROW_DATE desc limit 1 "; //int k = ret.executeUpdate(sql1); - - String sql3="update books set STATUS=1 where ID="+book; - ret.executeUpdate(sql3); + + String sql3="update books set STATUS=1 where ID="+book;// SQL更新语句,更新图书状态为已借出(1) + ret.executeUpdate(sql3);// 执行更新操作,返回受影响的行数 %> - + <% - - } catch (Exception e) { + + } catch (Exception e) { // 捕获异常 %> <% } - }else{ + }else{ // 如果图书状态不为未借出(0) %> <% } } - - }else{ + + }else{// 如果用户未登录 %> <% } diff --git a/WebContent/manager/06borrowTable.jsp b/WebContent/manager/06borrowTable.jsp index e33f105..420871e 100644 --- a/WebContent/manager/06borrowTable.jsp +++ b/WebContent/manager/06borrowTable.jsp @@ -1,5 +1,5 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> @@ -11,110 +11,114 @@ margin: 0 0px; } - + - - -
- - - - + + +
+ + + +条件搜索: +
+ +
+
+ +
+ + + + + + + + - \ No newline at end of file + diff --git a/WebContent/manager/07returnTable.jsp b/WebContent/manager/07returnTable.jsp index 7d8a3a2..4167949 100644 --- a/WebContent/manager/07returnTable.jsp +++ b/WebContent/manager/07returnTable.jsp @@ -1,114 +1,114 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - + pageEncoding="UTF-8"%> + - -Insert title here - - + + Insert title here + + - -
- - - - + +
+ + +条件搜索: +
+ +
+
+ +
+ + - + \ No newline at end of file diff --git a/WebContent/manager/08add.jsp b/WebContent/manager/08add.jsp index c802df7..88c59d1 100644 --- a/WebContent/manager/08add.jsp +++ b/WebContent/manager/08add.jsp @@ -1,69 +1,64 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - + pageEncoding="UTF-8"%> + - -Insert title here - - + + Insert title here + -
-
- -
- + +
+ +
+
-
- -
- +
+ +
+
- -
-
- + +
+
+
- \ No newline at end of file + diff --git a/WebContent/manager/08announcement.jsp b/WebContent/manager/08announcement.jsp index fc6f17b..87d7a54 100644 --- a/WebContent/manager/08announcement.jsp +++ b/WebContent/manager/08announcement.jsp @@ -1,109 +1,111 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> - - - -Insert title here + + + + + Insert title here -
- - - - - \ No newline at end of file diff --git a/WebContent/manager/08edit.jsp b/WebContent/manager/08edit.jsp index d9da8eb..3384e2b 100644 --- a/WebContent/manager/08edit.jsp +++ b/WebContent/manager/08edit.jsp @@ -1,82 +1,80 @@ -<%@page import="java.sql.*"%> -<%@page import="javabean.Base"%> +<%@page import="java.sql.*"%> +<%@page import="javabean.Base"%> <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - + pageEncoding="UTF-8"%> + - - - -Insert title here + + + + Insert title here - + <% - String id = request.getParameter("id"); - Connection connection = (Connection)Base.getConnection(); - String sql = "select * from announcement where id=?"; - PreparedStatement pstmt = connection.prepareCall(sql); - pstmt.setString(1,id); - ResultSet resultSet = pstmt.executeQuery(); - resultSet.next(); - + String id = request.getParameter("id"); + Connection connection = (Connection)Base.getConnection(); + String sql = "select * from announcement where id=?"; + PreparedStatement pstmt = connection.prepareCall(sql); + pstmt.setString(1,id); + ResultSet resultSet = pstmt.executeQuery(); + resultSet.next(); %> -
- lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input layui-hide"> -
- -
- lay-verify="required" required autocomplete="off" placeholder="请输入标题" class="layui-input"> + + lay-verify="required" required autocomplete="off" placeholder="请输入姓名" class="layui-input layui-hide"> +
+ +
+ lay-verify="required" required autocomplete="off" placeholder="请输入标题" class="layui-input"> +
-
- -
- lay-verify="required" placeholder="请输入公告" autocomplete="off" class="layui-input"> + +
+ lay-verify="required" placeholder="请输入公告" autocomplete="off" class="layui-input"> +
-
- -
-
- + +
+
+ +
-
diff --git a/WebContent/manager/09managerSelf.jsp b/WebContent/manager/09managerSelf.jsp index cd29cd2..c59a73c 100644 --- a/WebContent/manager/09managerSelf.jsp +++ b/WebContent/manager/09managerSelf.jsp @@ -1,194 +1,154 @@ -<%@ page import="java.sql.*" %> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - +<%@ page import="java.sql.*" %> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + - -Insert title here - - - - - - - - - - - - - + + Insert title here + + + + + + + + + + + + - -
- 管理员基本信息 -
- <% - String manacc = session.getAttribute("manager").toString(); - String sql = "select*from manager where ACCOUNT = '"+ manacc +"';"; - //out.print(sql); - ResultSet rs = gly.executeQuery(sql); - while(rs.next()){ -%> -

姓名:<%=rs.getString("name") %>


-

账号:<%=rs.getString("account") %>


-

邮箱:<%=rs.getString("email") %>


- - - - - - -<% - } -%> -
-
- - -