基于javaweb+jsp的游泳館會(huì)員管理系統(tǒng)(附源碼)
基于javaweb+jsp的游泳館會(huì)員管理系統(tǒng)
JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax
基礎(chǔ)JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可
開(kāi)發(fā)工具:eclipse/idea/myeclipse/sts等均可配置運(yùn)行
適用
課程設(shè)計(jì),大作業(yè),畢業(yè)設(shè)計(jì),項(xiàng)目練習(xí),學(xué)習(xí)演示等
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">游泳館會(huì)員管理系統(tǒng)</span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">游泳館會(huì)員管理系統(tǒng)</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="AuthServlet?action=logout">退出</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<!-- 側(cè)邊欄 -->
<jsp:include page="menu.jsp">
<jsp:param value="active" name="User_active"/>
</jsp:include>
</div>
<br>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<div class="row">
<div class="col-sm-7">
<div class="input-group">
<input class="form-control" type="hidden" id="searchColumn" name="searchColumn" value="real_name"/>
public Member get(Serializable id) {
Member vo = null;
try {
Connection c = Util.getConnection();
Statement s = c.createStatement();
String sql = "select * from `t_member` where id = " + id;
ResultSet rs = s.executeQuery(sql);
if (rs.next()) {
vo = new Member();
vo.setId(rs.getLong("id"));
vo.setMemberName(rs.getString("member_name"));
vo.setMemberAddress(rs.getString("member_address"));
vo.setMemberSex(rs.getString("member_sex"));
vo.setMemberPhone(rs.getString("member_phone"));
vo.setMemberEmail(rs.getString("member_email"));
vo.setMemberText(rs.getString("member_text"));
}
c.close();
</div>
<!-- info -->
<div class="modal fade" id="modal-info" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
import com.demo.util.Util; import com.demo.service.CoachService; import com.demo.service.impl.CoachServiceImpl; import com.demo.vo.Coach; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.Serializable; import java.util.HashMap;
<div class="form-group hidden">
<label for="edit-createTime" class="control-label">創(chuàng)建時(shí)間:</label>
<input type="text" class="form-control" name="createTime" id="edit-createTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-line btn-rect btn-success" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-line btn-rect btn-primary">提交</button>
</div>
</form>
return false;
}
}
//@Override
public Equipment get(Serializable id) {
Equipment vo = null;
try {
Connection c = Util.getConnection();
Statement s = c.createStatement();
String sql = "select * from `t_equipment` where id = " + id;
<label for="edit-createDate" class="control-label">創(chuàng)建時(shí)間:</label>
<input type="text" class="form-control" name="createDate" id="edit-createDate">
</div>
<div class="form-group hidden">
<label for="edit-createTime" class="control-label">創(chuàng)建時(shí)間:</label>
<input type="text" class="form-control" name="createTime" id="edit-createTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-line btn-rect btn-success" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-line btn-rect btn-primary">提交</button>
</div>
</form>
</div>
</div>
</div>
<!-- delete -->
<div class="modal fade" id="modal-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="NoticeServlet">
</div>
<!-- add -->
<div class="modal fade" id="modal-add" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="CoachServlet" onsubmit="return addCheck()">
<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="myModalLabel">增加教練</h4>
</div>
<div class="modal-body">
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="text" class="form-control" name="action" value="add">
</div>
<div class="form-group">
alert("姓名不能為空");
return false;
}
if (document.getElementById("add-coachAge").value.trim().length == 0) {
alert("年齡不能為空");
return false;
}
if (document.getElementById("add-coachPhone").value.trim().length == 0) {
alert("聯(lián)系方式不能為空");
return false;
}
return true;
}
//編輯表單提交之前進(jìn)行檢查,如果return false,則不允許提交
function editCheck() {
//根據(jù)ID獲取值
if (document.getElementById("edit-coachName").value.trim().length == 0) {
alert("姓名不能為空");
return false;
}
Random random = new Random();
g.setColor(getRandomColor(180, 250));// 隨機(jī)設(shè)置要填充的顏色
g.fillRect(0, 0, width, height);// 填充圖形背景
// 設(shè)置初始字體
g.setFont(new Font("Times New Roman", Font.ITALIC, height));
g.setColor(getRandomColor(120, 180));// 隨機(jī)設(shè)置字體顏色
// 用于保存最后隨機(jī)生成的驗(yàn)證碼
StringBuilder validationCode = new StringBuilder();
// 驗(yàn)證碼的隨機(jī)字體
String[] fontNames = {"Times New Roman", "Book antiqua", "Arial"};
for (int i = 0; i < 4; i++) {
// 隨機(jī)設(shè)置當(dāng)前驗(yàn)證碼的字符的字體
g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));
// 隨機(jī)獲得當(dāng)前驗(yàn)證碼的字符
char codeChar = codeChars.charAt(random.nextInt(charsLength));
validationCode.append(codeChar);
// 隨機(jī)設(shè)置當(dāng)前驗(yàn)證碼字符的顏色
vo = new Coach();
vo.setId(rs.getLong("id"));
vo.setCoachName(rs.getString("coach_name"));
vo.setCoachSex(rs.getString("coach_sex"));
vo.setCoachAge(rs.getString("coach_age"));
vo.setCoachPhone(rs.getString("coach_phone"));
vo.setCoachText(rs.getString("coach_text"));
}
c.close();
} catch (Exception e) {
e.printStackTrace();
}
return vo;
}
//@Override
public Map<String, Object> list(Map<String, Object> params) {
List<Coach> list = new ArrayList();
int totalCount = 0;
<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">用戶</h4>
</div>
<div class="modal-body">
<table class="table table-striped table-hover" style="font-size: 15px;">
<tr>
<td style="width: 15%;">用戶名:</td>
<td><b id="info-username"></b></td>
</tr>
<tr>
<td style="width: 15%;">姓名:</td>
public void update(Member vo) {
String sql = "update `t_member` set `member_name` = ? ,`member_address` = ? ,`member_sex` = ? ,`member_phone` = ? ,`member_email` = ? ,`member_text` = ? where `id` = ?";
try {
Connection c = Util.getConnection();
PreparedStatement ps = c.prepareStatement(sql);
ps.setString(1, vo.getMemberName());
ps.setString(2, vo.getMemberAddress());
ps.setString(3, vo.getMemberSex());
ps.setString(4, vo.getMemberPhone());
ps.setString(5, vo.getMemberEmail());
ps.setString(6, vo.getMemberText());
ps.setLong(7, vo.getId());
</div>
<div class="modal-body">
確認(rèn)要?jiǎng)h除該公告記錄嗎?
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="hidden" class="form-control" name="action" value="delete">
<input type="text" class="form-control" name="id" id="delete-id">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-line btn-rect btn-success" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-line btn-rect btn-success">刪除</button>
</div>
</form>
</div>
</div>
</div>
</body>
<script>
$('#modal-delete').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
vo.setId(rs.getLong("id"));
vo.setEquipmentName(rs.getString("equipment_name"));
vo.setEquipmentBuytime(rs.getString("equipment_buytime"));
vo.setEquipmentCount(rs.getString("equipment_count"));
vo.setEquipmentText(rs.getString("equipment_text"));
list.add(vo);
}
String sqlCount = "select count(*) from `t_equipment` where 1=1 " + condition;
ps = c.prepareStatement(sqlCount);
rs = ps.executeQuery();
if (rs.next()) {
totalCount = rs.getInt(1);
vo.setCoachName(rs.getString("coach_name"));
vo.setCoachSex(rs.getString("coach_sex"));
vo.setCoachAge(rs.getString("coach_age"));
vo.setCoachPhone(rs.getString("coach_phone"));
vo.setCoachText(rs.getString("coach_text"));
list.add(vo);
}
String sqlCount = "select count(*) from `t_coach` where 1=1 " + condition;
ps = c.prepareStatement(sqlCount);
rs = ps.executeQuery();
if (rs.next()) {
totalCount = rs.getInt(1);
}
rs.close();
ps.close();
c.close();
} catch (Exception e) {
e.printStackTrace();
<!-- delete -->
<div class="modal fade" id="modal-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="NoticeServlet">
<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">刪除公告</h4>
</div>
<div class="modal-body">
確認(rèn)要?jiǎng)h除該公告記錄嗎?
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="hidden" class="form-control" name="action" value="delete">
<input type="text" class="form-control" name="id" id="delete-id">
</div>
</div>
<div class="modal-footer">
params.put("startIndex", pb.getStartIndex());
params.put("pageSize", pb.getPageSize());
List list = (List) memberService.list(params).get("list");//根據(jù)分頁(yè)參數(shù)startIndex、pageSize查詢出來(lái)的最終結(jié)果list
pb.setServlet("MemberServlet");
pb.setSearchColumn(searchColumn);
pb.setKeyword(keyword);
pb.setList(list);
request.getSession().setAttribute("pageBean", pb);
request.getSession().setAttribute("list", pb.getList());
response.sendRedirect("member_list.jsp");
}
}
package com.demo.servlet;
import com.demo.util.Util;
import com.demo.service.UserService;
import com.demo.service.impl.UserServiceImpl;
import com.demo.vo.User;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
<button type="button" class="btn btn-line btn-rect btn-success" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-line btn-rect btn-primary">提交</button>
</div>
</form>
</div>
</div>
</div>
<!-- info -->
<div class="modal fade" id="modal-info" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form>
<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">設(shè)備</h4>
</div>
<div class="modal-body">
<table class="table table-striped table-hover" style="font-size: 15px;">
<tr>
<td style="width: 15%;">名字:</td>
<td style="width: 15%;">手機(jī):</td>
<td><b id="info-memberPhone"></b></td>
</tr>
<tr>
<td style="width: 15%;">郵箱:</td>
<td><b id="info-memberEmail"></b></td>
</tr>
<tr>
<td style="width: 15%;">備注:</td>
<td><b id="info-memberText"></b></td>
</tr>
let vo = eval('(' + voString + ')');
modal.find('#edit-id').val(vo.id);
modal.find('#edit-noticeName').val(vo.noticeName);
modal.find('#edit-noticeText').val(vo.noticeText);
modal.find('#edit-noticeType').val(vo.noticeType);
modal.find('#edit-createDate').val(vo.createDate);
}
})
})
$('#modal-info').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
let modal = $(this);
$.ajax({
url: 'NoticeServlet?action=get&id=' + id,
type: "get",
success: function (voString) {
let vo = eval('(' + voString + ')');
modal.find('#info-noticeName').text(vo.noticeName);
modal.find('#info-noticeText').text(vo.noticeText);
modal.find('#info-noticeType').text(vo.noticeType);
if (document.getElementById("edit-equipmentCount").value.trim().length == 0) {
alert("數(shù)量不能為空");
return false;
}
return true;
}
</script>
</html>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>公告管理</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/jquery-3.5.1.js"></script>
<script src="js/bootstrap.js"></script>
</head>
<body>
Map<String, Object> map = noticeService.list(params);
request.getSession().setAttribute("list", map.get("list"));
Integer totalRecord = (Integer) map.get("totalCount");//根據(jù)查詢條件取出對(duì)應(yīng)的總記錄數(shù),用于分頁(yè)
String pageNum = Util.decode(request, "pageNum");//封裝分頁(yè)參數(shù)
com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);
params.put("startIndex", pb.getStartIndex());
params.put("pageSize", pb.getPageSize());
List list = (List) noticeService.list(params).get("list");//根據(jù)分頁(yè)參數(shù)startIndex、pageSize查詢出來(lái)的最終結(jié)果list
pb.setServlet("NoticeServlet");
pb.setSearchColumn(searchColumn);
pb.setKeyword(keyword);
pb.setList(list);
request.getSession().setAttribute("pageBean", pb);
request.getSession().setAttribute("list", pb.getList());
response.sendRedirect("notice_list.jsp");
}
}
package com.demo.dao.impl;
$('#modal-info').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
let modal = $(this);
$.ajax({
url: 'NoticeServlet?action=get&id=' + id,
type: "get",
success: function (voString) {
let vo = eval('(' + voString + ')');
modal.find('#info-noticeName').text(vo.noticeName);
modal.find('#info-noticeText').text(vo.noticeText);
modal.find('#info-noticeType').text(vo.noticeType);
modal.find('#info-createDate').text(vo.createDate);
}
})
})
function searchList() {
window.location.href = "NoticeServlet?action=list&searchColumn="+document.getElementById("searchColumn").value+"&keyword=" + document.getElementById("search_keyword").value;
}
//增加表單提交之前進(jìn)行檢查,如果return false,則不允許提交
function addCheck() {
</div>
<div class="modal-footer">
<button type="button" class="btn btn-line btn-rect btn-success" data-dismiss="modal">關(guān)閉</button>
</div>
</form>
</div>
</div>
</div>
<!-- edit -->
<div class="modal fade" id="modal-edit" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="NoticeServlet" onsubmit="return editCheck()">
<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">更新公告</h4>
</div>
<div class="modal-body">
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
運(yùn)行環(huán)境
Java≥6、Tomcat≥7.0、MySQL≥5.5
開(kāi)發(fā)工具
eclipse/idea/myeclipse/sts等均可配置運(yùn)行
技術(shù)框架
JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax
基礎(chǔ)JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可
適用
課程設(shè)計(jì),大作業(yè),畢業(yè)設(shè)計(jì),項(xiàng)目練習(xí),學(xué)習(xí)演示等
功能說(shuō)明
登錄、注冊(cè)、退出、用戶模塊、公告模塊、教練模塊、設(shè)備模塊、會(huì)員模塊的增刪改查管理











源代碼
游泳館會(huì)員管理系統(tǒng)(課程設(shè)計(jì))
http://xiazai.jb51.net/202204/yuanma/swim_jb51.rar
到此這篇關(guān)于基于javaweb+jsp的游泳館會(huì)員管理系統(tǒng)的文章就介紹到這了,更多相關(guān)javaweb游泳館會(huì)員管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(1)
- JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(3)
- JavaWeb倉(cāng)庫(kù)管理系統(tǒng)詳解
- 基于javaweb+jsp實(shí)現(xiàn)學(xué)生宿舍管理系統(tǒng)
- JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(2)
- 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車(chē)輛管理系統(tǒng)
- 基于javaweb+jsp實(shí)現(xiàn)個(gè)人日記管理系統(tǒng)
- 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)
- JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過(guò)程
相關(guān)文章
從java源碼分析線程池(池化技術(shù))的實(shí)現(xiàn)原理
這篇文章主要介紹了從java源碼分析線程池(池化技術(shù))的實(shí)現(xiàn)原理,池化技術(shù)是一種編程技巧,當(dāng)程序出現(xiàn)高并發(fā)時(shí),能夠明顯的優(yōu)化程序,降低系統(tǒng)頻繁創(chuàng)建銷(xiāo)毀連接等額外開(kāi)銷(xiāo),下文更多的相關(guān)介紹需要的小伙伴可以參考一下2022-04-04
SpringMvc web.xml配置實(shí)現(xiàn)原理過(guò)程解析
這篇文章主要介紹了SpringMvc web.xml配置實(shí)現(xiàn)原理過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Spring中@Value讀取properties作為map或list的操作
這篇文章主要介紹了Spring中@Value讀取properties作為map或list的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java使用FastExcel導(dǎo)入支持多種時(shí)間格式
FastExcel 是一個(gè)采用純 java 開(kāi)發(fā)的 excel 文件讀寫(xiě)組件,支持 Excel'97(-2003)(BIFF8)文件格式,本文主要介紹了如何使用FastExcel導(dǎo)入支持多種時(shí)間格式,感興趣的可以了解2024-12-12
JAVA序列化Serializable及Externalizable區(qū)別詳解
這篇文章主要介紹了JAVA序列化Serializable及Externalizable區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Java實(shí)現(xiàn)的不同圖片居中剪裁生成同一尺寸縮略圖功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的不同圖片居中剪裁生成同一尺寸縮略圖功能,涉及java針對(duì)圖片的讀取、屬性修改等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09

