Java 前台加后台精品图书管理系统的实现
作者:qq_1334611189 发布时间:2023-10-23 04:06:47
标签:Java,图书,管理系统,管理项目
一、项目简述
功能包括: 登录注册,办理借阅。借阅记录,预约借阅,借出未还, 借阅逾期,学生管理,图书管理,书库分类查询搜索。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
修改图书类型信息代码:
/**
* Servlet implementation class updateBookTypeServlet
*/
@WebServlet("/updateBookTypeServlet")
public class updateBookTypeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public updateBookTypeServlet() {
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());
}
/**
* @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);
//修改图书类型信息
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String name = request.getParameter("name");
int tid = Integer.parseInt(request.getParameter("tid"));
TypeDao typedao = new TypeDao();
typedao.updateTypeBook(tid,name);
response.sendRedirect("/books/admin_booktype.jsp");
}
}
登录图书管理系统主页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import = "com.rain.bean.AdminBean,com.rain.bean.HistoryBean,com.rain.dao.AdminDao" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="zh-CN" class="ax-vertical-centered">
<head>
<meta charset="UTF-8">
<title>图书馆管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="static/css/bootstrap.min.css" rel="external nofollow" >
<link rel="stylesheet" href="static/css/bootstrap-theme.min.css" rel="external nofollow" >
<link rel="stylesheet" href="static/css/bootstrap-admin-theme.css" rel="external nofollow" rel="external nofollow" >
<link rel="stylesheet" href="static/css/bootstrap-admin-theme.css" rel="external nofollow" rel="external nofollow" >
<script src="static/js/bootstrap.min.js"></script>
<script src="static/jQuery/jquery-3.1.1.min.js"></script>
<script src="static/js/bootstrap-dropdown.min.js"></script>
<script src="static/ajax-lib/ajaxutils.js"></script>
<script src="static/js/adminUpdateInfo.js"></script>
<script src="static/js/adminUpdatePwd.js"></script>
</head>
<script src="static/js/jquery.min.js"></script>
<script src="static/js/bootstrap.min.js"></script>
<body class="bootstrap-admin-with-small-navbar">
<%
AdminBean admin = new AdminBean();
String aid = (String)session.getAttribute("aid");
AdminDao admindao = new AdminDao();
admin = admindao.get_AidInfo2(aid);
%>
<nav class="navbar navbar-inverse navbar-fixed-top bootstrap-admin-navbar bootstrap-admin-navbar-under-small" role="navigation">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="collapse navbar-collapse main-navbar-collapse">
<a class="navbar-brand" href="/admin/admin.jsp" rel="external nofollow" ><strong>欢迎使用图书馆管理系统</strong></a>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" rel="external nofollow" role="button" class="dropdown-toggle" data-hover="dropdown"> <i class="glyphicon glyphicon-user"></i> 欢迎您, <s:property value="#session.admin.name"/> <i class="caret"></i></a>
<ul class="dropdown-menu">
<li><a href="#updateinfo" rel="external nofollow" data-toggle="modal">个人资料</a></li>
<li role="presentation" class="divider"></li>
<li><a href="#updatepwd" rel="external nofollow" data-toggle="modal">修改密码</a></li>
<li role="presentation" class="divider"></li>
<li><a href="/books/login.jsp" rel="external nofollow" >退出</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</nav>
<div class="container">
<!-- left, vertical navbar & content -->
<div class="row">
<!-- left, vertical navbar -->
<div class="col-md-2 bootstrap-admin-col-left">
<ul class="nav navbar-collapse collapse bootstrap-admin-navbar-side">
<li>
<a href="/books/admin_book.jsp" rel="external nofollow" ><i class="glyphicon glyphicon-chevron-right"></i> 图书管理</a>
</li>
<li>
<a href="/books/admin_user.jsp" rel="external nofollow" ><i class="glyphicon glyphicon-chevron-right"></i> 读者管理</a>
</li>
<li>
<a href="/books/admin_booktype.jsp" rel="external nofollow" ><i class="glyphicon glyphicon-chevron-right"></i> 图书分类管理</a>
</li>
<li>
<a href="/books/admin_borrow.jsp" rel="external nofollow" ><i class="glyphicon glyphicon-chevron-right"></i> 图书借阅信息</a>
</li>
<li>
<a href="/books/admin_history.jsp" rel="external nofollow" ><i class="glyphicon glyphicon-chevron-right"></i> 图书归还信息</a>
</li>
</ul>
</div>
<!-- content -->
<div class="col-md-10">
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="text-muted bootstrap-admin-box-title">图书管理</div>
</div>
<div class="bootstrap-admin-panel-content">
<ul>
<li>根据图书编号、图书名称查询图书基本信息</li>
<li>添加、修改、删除图书</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="text-muted bootstrap-admin-box-title">图书分类管理</div>
</div>
<div class="bootstrap-admin-panel-content">
<ul>
<li>根据分类名称查询图书分类信息</li>
<li>添加、修改、删除图书分类</li>
</ul>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="text-muted bootstrap-admin-box-title">图书借阅</div>
</div>
<div class="bootstrap-admin-panel-content">
<ul>
<li>展示所有正在借阅图书的信息</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="text-muted bootstrap-admin-box-title">图书归还</div>
</div>
<div class="bootstrap-admin-panel-content">
<ul>
<li>展示所有已归还图书的信息</li>
</ul>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="text-muted bootstrap-admin-box-title">读者管理</div>
</div>
<div class="bootstrap-admin-panel-content">
<ul>
<li>根据账号、姓名查询读者基本信息</li>
<li>添加、修改、删除读者信息</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-------------------------------------------------------------->
<form class="form-horizontal" method="post" action="/books/AdminServlet"> <!--保证样式水平不混乱-->
<!-- 模态框(Modal) -->
<div class="modal fade" id="updatepwd" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title" id="myModalLabel">
修改密码
</h4>
</div>
<div class="modal-body">
<!--正文-->
<input type="hidden" name="tip" value="1">
<input type="hidden" name="url" value="admin">
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label">原密码</label>
<div class="col-sm-7">
<input type="password" class="form-control" name="password" id="oldPwd" placeholder="请输入原密码">
<label class="control-label" for="oldPwd" style="display: none"></label>
</div>
</div>
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label">新密码</label>
<div class="col-sm-7">
<input type="password" class="form-control" name="password2" id="newPwd" placeholder="请输入新密码">
<label class="control-label" for="newPwd" style="display: none"></label>
</div>
</div>
<!--正文-->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="submit" class="btn btn-primary" >
修改
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</form>
<!-------------------------------------------------------------->
<!-------------------------个人资料模糊框------------------------------------->
<form class="form-horizontal" method="post" action="/books/AdminServlet"> <!--保证样式水平不混乱-->
<!-- 模态框(Modal) -->
<div class="modal fade" id="updateinfo" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title" id="ModalLabel">
个人资料
</h4>
</div>
<div class="modal-body">
<!--正文-->
<input type="hidden" name="tip" value="2">
<input type="hidden" name="url" value="admin">
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label">真实姓名</label>
<div class="col-sm-7">
<input type="text" class="form-control" id="name" name="name" placeholder="请输入您的真实姓名" value='<% out.write(admin.getName());%>'>
<label class="control-label" for="name" style="display: none"></label>
</div>
</div>
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label">手机号</label>
<div class="col-sm-7">
<input type="text" class="form-control" id="phone" name="phone" placeholder="请输入您的手机号" value='<% out.write(admin.getPhone());%>'>
<label class="control-label" for="phone" style="display: none"></label>
</div>
</div>
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label">邮箱</label>
<div class="col-sm-7">
<input type="text" class="form-control" id="email" name="email" placeholder="请输入您的邮箱" value='<% out.write(admin.getEmail());%>'>
<label class="control-label" for="email" style="display: none"></label>
</div>
</div>
<!--正文-->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="submit" class="btn btn-primary" >
修改
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</form>
<!-------------------------------------------------------------->
<div class="modal fade" id="modal_info" tabindex="-1" role="dialog" aria-labelledby="addModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="infoModalLabel">提示</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12" id="div_info"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" id="btn_info_close" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
</body>
</html>
图书操作代码:
/**
* @description: 图书操作
*/
@Controller
@RequestMapping("/admin/ch")
public class LibraryController {
//注入
@Autowired
private LibraryService libraryService;
/**
* 修改图书信息
*
* @param uploadFile 上传图片
* @param library 图书信息
* @return
*/
@RequestMapping(value = "/updateBook", method = RequestMethod.POST)
public String updateBook(MultipartFile uploadFile, TbLibrary library, HttpServletRequest request) {
try {
libraryService.updateOrSaveLibrary(uploadFile, library,request);
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:/admin/ch/loan_bookList.action";
}
/**
* 添加图书
*
* @param uploadFile 上传图片
* @param library 图书信息
* @return
*/
@RequestMapping(value = "/addBook", method = RequestMethod.POST)
public String addBook(MultipartFile uploadFile, TbLibrary library, HttpSession session,HttpServletRequest request) {
ActiveAdmin activeAdmin = (ActiveAdmin) session.getAttribute("activeAdmin");
library.setManagerId(activeAdmin.getUserid());
try {
libraryService.updateOrSaveLibrary(uploadFile, library,request);
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:/admin/ch/loan_bookList.action";
}
/**
* 根据 图书id 删除 图书
*
* @param id 图书id
* @return
*/
@RequestMapping("/delBookById")
public String delBook(int id) {
libraryService.delBookById(id);
return "redirect:/admin/ch/loan_bookList.action";
}
}
来源:https://blog.csdn.net/m0_59687645/article/details/121299938


猜你喜欢
- 默认日志 Logback :默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其
- 只需要在控件TextBox的keypress事件中写入如下代码即可满足要求:代码如下:if (e.KeyChar == '.'
- 本文实例为大家分享了Android实现录音声波图的具体代码,供大家参考,具体内容如下图像类:package com.akm.test;/**
- 1. 问题描述springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础
- 题目要求思路一:模拟迭代依次判断每个节点是否合法:左子树判断是否>low,合法就向左下走,不合法往右下;右子树判断是否<high
- selectMaps和selectList的区别selectList查询部分字段,会返回所有的,没查询的值为nullselectMaps 只
- 最近在使用Matrix进行绘图的操作。对Matrix的一些方法有了一些更深的体会,记下来,以便日后复习。Matrix常用的方法:一、变换方法
- 原理概述Lifecycle主要用于Activity、Fragment这一类具有状态的组件的状态监听,最主要的一个作用就是将原先Activit
- 运行在TCP之上常见的网络应用协议有比如HTTP、FTP、SMTP、POP3、IMAP。TCP是TCP/IP体系中最重要的传输协议,它提供全
- 我们还是来讨论c++吧,这几年在c++里面玩代码自动生成技术,而预处理是不可避免,也是不可或缺的重要工具。虽然boost pp预处理库在宏的
- 前言:从MVC到WebApi,路由机制一直是伴随着这些技术的一个重要组成部分。它可以很简单:如果你仅仅只需要会用一些简单的路由,如/Home
- 在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等。但是,在JDK 11添加了一些新的功能,如strip、s
- mybatis多层级collection嵌套json结构第一步查询第一层查询,将第一层的id传递到第二层当条件查询
- 前言腾讯动漫app v8.1.6 工具:jadx、frida、pixel3 安卓10提示:以下是本篇文章正文内容,案例可供参考一、问题1.1
- 本文实例讲述了Android显示网络图片的方法,分享给大家供大家参考。具体方法如下:一般来说,在Android中显示一张网络图片其实是非常简
- 前言本章是关于Java数组的最全汇总,本篇为汇总上篇,主要讲了一维数组的相关内容。数组是最常见的一种数据结构,它是相同类型的用一个标识符封装
- 注:图片来源于网络SpringBoot作为业内公认的优秀开源框架,它的 * 是如何实现呢?在这里首先对一些基础组件进行分析;1、事件Appl
- 简介本文我们将会讨怎么在Spring Boot中使用Properties。使用Properties有两种方式,一种是java代码的注解,一种
- 前言最近新整了个博客网站,同事在gitee上找的,还不错,gitee上的地址在这里:拾壹博客管理系统。别人的业务,再好也有不满足自己的地方,
- 1.方法重写子类写和父类一样的方法定义public void call(){System.out.println(“输出文字”); //父类