基于javaweb的在线健身房管理系统(java+springboot+jsp+html+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+springboot的在线健身房管理系统(java+SpringBoot+JSP+HTML+maven+mysql)
一、项目运行 环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + maven等等。
器材管理Controller控制层:
@Controller
@RequestMapping(“/qc”)
public class EquipmentController {
@Autowired
private EquipmentDaoImpl equipmentDao;
/**
-
@Descriiption: 器材管理-进入器材信息界面
-
xiaoc
-
@Date: 2020/4/12
*/
@RequestMapping(“/yemian”)
public String yemian(){
return “WEB-INF/jsp/CEquipment”;
/**
-
@Descriiption: 器材管理-根据器材名称分页查询
-
xiaoc
-
@Date: 2020/4/12
*/
@RequestMapping(“/query”)
@ResponseBody
public Map<String,Object> query(String hyname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put(“hyname”,hyname);
map1.put(“qi”,(pageNumber-1)*pageSize);
map1.put(“shi”,pageSize);
return equipmentDao.query(map1);
/**
-
@Descriiption: 器材管理-添加器材
-
xiaoc
-
@Date: 2020/4/12
*/
@RequestMapping(“/insert”)
@ResponseBody
public Map<String,Object> insert(Equipment equipment){
equipmentDao.insert(equipment);
return query(“”,5,1);
/**
-
@Descriiption: 器材管理-根据器材id删除
-
xiaoc
-
@Date: 2020/4/12
*/
@RequestMapping(“/delete”)
@ResponseBody
public Map<String,Object> del(int eqId){
equipmentDao.del(eqId);
return query(“”,5,1);
管理员登录Controller控制层:
@Controller
@RequestMapping(“/”)
public class AdminuserConntroller {
@Autowired
private AdminuserDao adminuserDao;
/**
-
@Descriiption: 输入端口号直接跳转登录界面
-
xiaoc
-
@Date: 2020/4/29
*/
@RequestMapping(“/”)
public String beforeLogin(){
return “login”;
/**
-
@Descriiption: 管理员登录验证方法
-
xiaoc
-
@Date: 2020/4/4
*/
@RequestMapping(“/dl/yz”)
public String login(String username, String password,HttpSession httpSession,Model model){
Subject subject= SecurityUtils.getSubject();
UsernamePasswordToken userToken=new UsernamePasswordToken(username,DigestUtils.md5Hex(password));
try{
subject.login(userToken);
Adminuser a= adminuserDao.findByAdminNameAndAdminPassword(username,DigestUtils.md5Hex(password));
httpSession.setAttribute(“user”,a);
return “WEB-INF/jsp/index”;
}catch (UnknownAccountException e){
model.addAttribute(“msg”,“用户名或密码错误,请重新输入”);
return “login”;
/*Adminuser a= adminuserDao.findByAdminNameAndAdminmima(username,password);
if(a!=null){
httpSession.setAttribute(“user”,a);
return “WEB-INF/jsp/index” ;
model.addAttribute(“mag”,“账号或密码错误”);
return “login”;*/
/**
-
@Descriiption: 退出登录后清楚session
-
xiaoc
-
@Date: 2020/5/1
*/
@RequestMapping(“/logout”)
public String logout(){
Subject subject = SecurityUtils.getSubject();
subject.logout();
return “redirect:/login”;
/**
-
@Descriiption: 跳转到修改密码界面
-
xiaoc
-
@Date: 2020/5/1
*/
@RequestMapping(“/updPassword”)
public String updPassword(){
return “WEB-INF/jsp/updPassword”;
/**
-
@Descriiption: 修改密码
-
xiaoc
-
@Date: 2020/5/1
*/
@RequestMapping(“/upd/updPassword”)
public String updPasswordConfirm(String oldPassword,String newPassword,String newPasswordAgain,HttpSession httpSession,Model model){
Pattern p = Pattern.compile(“^(?=.[A-Za-z])(?=.\d)(?=.[ @ @ @!.%#?&])[A-Za-z\d @ @ @!.%*#?&]{8,}$”);
Matcher m = p.matcher(newPassword);
if(!m.matches()){
model.addAttribute(“msg”,“新密码最少为8位并为字母+数字+特殊字符”);
return “WEB-INF/jsp/updPassword”;
if(!newPassword.equals(newPasswordAgain)){
model.addAttribute(“msg”,“两次输入新密码不一致,请重新输入”);
return “WEB-INF/jsp/updPassword”;
Adminuser adminuser=(Adminuser) httpSession.getAttribute(“user”);
if(null != adminuser){
if(!adminuser.getAdminPassword().equals(DigestUtils.md5Hex(oldPassword))){
model.addAttribute(“msg”,“原密码不正确,请重新输入”);
return “WEB-INF/jsp/updPassword”;
adminuserDao.updPassword(adminuser.getAdminId(), DigestUtils.md5Hex(newPassword));
Subject subject = SecurityUtils.getSubject();
subject.logout();
return “redirect:/login.jsp”;
课程管理Controller控制层:
@Controller
@RequestMapping(“/subject”)
public class SubjectController {
@Autowired
private SubjectDaoImpl subjectDaoImpl;
@Autowired
private SubjectDao subjectDao;
@Autowired
private PrivateCoachInfoDao privateCoachInfoDao;
/**
-
@Descriiption: 课程管理-进入课程信息界面
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/jin7”)
public String jin7(){
return “WEB-INF/jsp/subject”;
/**
-
@Descriiption: 课程管理-根据课程名称分页查询
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/query”)
@ResponseBody
public Map<String,Object> query(String subname, int pageSize, int pageNumber){
Map<String,Object> map1=new HashMap<String,Object>();
map1.put(“subname”,subname);
map1.put(“qi”,(pageNumber-1)*pageSize);
map1.put(“shi”,pageSize);
return subjectDaoImpl.query(map1);
/**
-
@Descriiption: 课程管理-根据课程id删除课程
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/del”)
@ResponseBody
public Map<String,Object> del(long subId,String subname, int pageSize, int pageNumber){
//先根据教练id在私教信息表里查询是否有其信息
List privateCoachInfoList = privateCoachInfoDao.queryBySubjectIdNative(subId);
if(privateCoachInfoList !=null && privateCoachInfoList.size() > 0){
//如果有,先循环删除
for(PrivateCoachInfo privateCoachInfo : privateCoachInfoList){
if(subId == privateCoachInfo.getSubject().getSubId()){
privateCoachInfoDao.delete(privateCoachInfo);
subjectDao.deleteById(subId);
Map<String,Object> map1=new HashMap<String,Object>();
map1.put(“subname”,subname);
map1.put(“qi”,(pageNumber-1)*pageSize);
map1.put(“shi”,pageSize);
return subjectDaoImpl.query(map1);
/**
-
@Descriiption: 课程管理-添加课程
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/add”)
@ResponseBody
public void save(Subject subject){
subjectDao.save(subject);
/**
-
@Descriiption: 课程管理-根据课程id查询课程信息
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/cha”)
@ResponseBody
public Optional one(long subId){
return subjectDao.findById(subId);
/**
-
@Descriiption: 课程管理-修改课程信息
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/upd”)
@ResponseBody
public void upd(Subject subject){
subjectDao.save(subject);
/**
-
@Descriiption: 课程管理-根据课程名称计算总课程数据
-
xiaoc
-
@Date: 2020/4/8
*/
@RequestMapping(“/count”)
@ResponseBody
public Long count (String subname){
subjectDaoImpl.count(subname);
return subjectDaoImpl.count(subname);
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系