基于JavaWeb的体育器材管理系统设计与实现

目 录
目 录 I
第1章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 本章小结 2
第2章 主要技术 3
2.1 Java 概述 3
2.2 JSP技术 3
2.3 Tomcat 3
2.4 MySQL 3
2.5 Eclipse 4
2.6 本章小结 4
第3章 需求分析 5
3.1 可行性分析 5
3.1.1 技术可行性分析 5
3.1.2 经济可行性分析 5
3.1.3 操作可行性分析 5
3.1.4 法律可行性分析 5
3.2 功能性需求分析 6
3.2.1 学生用例图分析 6
3.2.2 老师用例图分析 6
3.2.3 管理员用例图分析 7
3.3 非功能性需求分析 8
3.4 本章小结 9
第4章 系统详细设计与实现 10
4.1 总体功能设计 10
4.2功能模块详细设计 11
4.2.1注册模块详细设计 11
4.2.2登录模块详细设计 11
4.2.3预约器材模块详细设计 12
4.2.4用户管理模块详细设计 13
4.2.5体育器材类别管理模块详细设计 14
4.2.6体育器材管理模块详细设计 15
4.2.7公告管理模块详细设计 16
4.2.8预约管理模块详细设计 17
4.2.9个人信息管理模块详细设计 18
4.3数据库设计 19
4.3.1数据库概念模型设计 19
4.3.2数据库物理表结构设计 23
4.4 功能模块的设计与实现 27
4.4.1 首页模块 27
4.3.3注册模块 27
4.4.3登录模块 29
4.4.4预约器材模块 30
4.4.5用户管理模块 33
4.4.6器材类别管理管理模块 34
4.4.7公告管理模块 35
4.4.8体育器材管理模块 36
4.4.9预约管理模块 36
4.4.10 个人信息管理模块 37
4.5 本章小结 39
第5章 系统测试 40
5.1 软件测试目的 40
5.2 测试用例 40
5.3 本章小结 43
结 论 44
致 谢 45
参考文献 46
第4章 系统详细设计与实现
本章节主要对系统的总体功能进行概述,对核心功能进行详细设计,包括系统功能模块结构图展示、以及数据库的E-R概念模型设计,包括实体,以及流程图,数据库的物理表结构等相关内容。
4.1 总体功能设计
体育器材预约管理系统分为前台和后台两个部分,前台主要是展示器材信息,是面向学生和老师的,以下是各个角色对应的功能模块,其中除了学生注册、以及学生、老师、管理员登录、个人信息修改管理之外的功能模块外主要有以下核心功能。
1.用户管理模块:学生信息和教师信息、进行管理,增删改查的操作,三个角色都放在用户里面,每个角色,要求都要有增删改查,管理员不可以删除自己。
2.公告管理模块:管理员对公告信息进行管理,具有增删改查的操作,发布的公告可以在前台进行展示,老师和学生都可以进行查看。
3.器材类别管理 :管理员可以管理体育器材的类别,拥有增删改查的权限。
4.体育器材管理 :包括体育器材类别管理、体育器材管理、体育器材统计分析。管理员可管理体育器材、以及体育的器材类别、并能够对体育器材进行统计分析。
5.预约管理模块:包括体育器材预约审核、归还管理模块,学生或者老师可以预约之后管理员进行审核通过,预约到器材之后要进行归还,管理员也要进行审核才可以。
6.数据统计模块:统计预约器材的人数和器材的数量(折线或柱状图展示)。
7.个人信息维护模块:修改个人信息,学生、老师、管理员可以修改个人的信息。
在这里插入图片描述

图4-1 系统架构图

package edu.equipment.controller;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.model.Model;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import edu.equipment.model.Admin;
import edu.equipment.model.Appointment;
import edu.equipment.model.Board;
import edu.equipment.model.Equipment;
import edu.equipment.model.Student;
import edu.equipment.model.Teacher;
import edu.equipment.service.AdminService;
import edu.equipment.service.AppService;
import edu.equipment.service.BoardService;
import edu.equipment.service.EquipmentService;
import edu.equipment.service.StudentService;
import edu.equipment.service.TeacherService;

@Controller
public class WebController {
    
    
	@Autowired 
	AdminService as;
	
	@Autowired 
	StudentService sts;	
	
	@Autowired 
	TeacherService ts;
	@Autowired 
	BoardService boardService;
	@Autowired 
	EquipmentService eqs;	
	@Autowired 
	AppService apps;	
	
	//首页
	@RequestMapping("/webIndex")
    public ModelAndView webIndex(HttpSession session,ModelMap map ){
    
    
		Student u = (Student)session.getAttribute("student");	
			Equipment e = new Equipment();
			e.setStatus("1");
			 List<Equipment> list=eqs.findAll(e);
			 map.put("dataTotal1",list.size());
			 map.put("dataSize",8);
			 map.put("list",list);
			 map.put("user",u);
		return new ModelAndView("web/product");
	} 
	//学生登录
	@RequestMapping("/toWebLoginstu")
	public String toWebLogin() {
    
    
		return "web/login";
	}
	
	//详情页
	@RequestMapping("/boardDetail")
	public String boardDetail(HttpSession session,HttpServletRequest request,Integer id) {
    
    
		Board board=boardService.queryById(id);
		Admin admin=as.findById(board.getUid());
		request.setAttribute("board",board);
		request.setAttribute("admin",admin);
		return "web/board_detail";
	}
	
	@RequestMapping("/webLoginstu")
	//处理login.jsp传递的数据进行登陆校验
     public  ModelAndView webLogin(@RequestParam("stuno")String stuno,
		 HttpServletRequest request,@RequestParam("pwd")String pwd,
		 HttpSession session,HttpServletResponse response,ModelAndView mv,ModelMap map) throws ServletException, IOException {
    
    			
			Student u = sts.findByPhoneAndPwd(stuno,pwd);
			if(u==null ){
    
    
				mv.addObject("msg", "用户或者密码错误");
				mv.setViewName("web/login");		
			}else{
    
    
				session.setAttribute("student", u);	
				Equipment e = new Equipment();
				e.setStatus("1");
				 List<Equipment> list=eqs.findAll(e);
				 map.put("dataTotal1",list.size());
				 map.put("dataSize",8);
				 map.put("list",list);
				 map.put("user",u);
				 map.put("loginstate", "1");
				 session.setAttribute("loginstate", "1");	
				mv.setViewName("web/product");						
			}
		
		return mv;
	}
	@RequestMapping("/webProduct")
	public String webProduct(HttpSession session,ModelMap map) {
    
    
		Equipment p = new Equipment();
		 p.setStatus("1");
		 List<Equipment> list=eqs.findAll(null);
		 map.put("dataTotal1",list.size());
		 map.put("dataSize",8);
		 map.put("list",list);
		 Admin u = (Admin)session.getAttribute("user");
		 map.put("user",u);
		 String loginstate = (String) session.getAttribute("loginstate");
		 map.put("loginstate",loginstate);
		return "web/product";
	}
	
	//教师端
	@RequestMapping("/toWebLogintec")
	public String toWebLogintec() {
    
    
		return "web/logintec";
	}
	@RequestMapping("/webLogintec")
	//处理login.jsp传递的数据进行登陆校验
     public  ModelAndView webLogintec(@RequestParam("tno")String tno,
		 HttpServletRequest request,@RequestParam("pwd")String pwd,
		 HttpSession session,HttpServletResponse response,ModelAndView mv,ModelMap map) throws ServletException, IOException {
    
    			
			Teacher u = ts.findByPhoneAndPwd(tno,pwd);
			if(u==null ){
    
    
				mv.addObject("msg", "用户或者密码错误");
				mv.setViewName("web/login");		
			}else{
    
    
				session.setAttribute("teacher", u);	
				Equipment e = new Equipment();
				e.setStatus("1");
				 List<Equipment> list=eqs.findAll(e);
				 map.put("dataTotal1",list.size());
				 map.put("dataSize",8);
				 map.put("list",list);
				 map.put("teacher",u);
				 map.put("loginstate", "2");
				 session.setAttribute("loginstate", "2");	
				mv.setViewName("web/product");						
			}
		
		return mv;
	}
	@RequestMapping("/webLoginOut")
	public String webLoginOut(HttpSession session,ModelMap map) {
    
    
		session.removeAttribute("loginstate");
		session.removeAttribute("student");
		session.removeAttribute("teacher");
		Equipment e = new Equipment();
		e.setStatus("1");
		 List<Equipment> list=eqs.findAll(e);
		 map.put("dataTotal1",list.size());
		 map.put("dataSize",8);
		 map.put("list",list);
		return "web/product";
	}
	//注册
	
	@RequestMapping("/toWebRegister")
	public String toWebRegister() {
    
    
		return "web/register";
	}
	@RequestMapping("/webRegister")
	//处理login.jsp传递的数据进行登陆校验
     public  ModelAndView webRegister(HttpServletRequest request,Student s,ModelAndView mv) throws ServletException{
    
    			
			List<Student>users = sts.selectByEno(s.getStuno());
		
			if(users.size()>0){
    
    
				mv.addObject("msg", "学号重复 ,请重试");
				mv.setViewName("web/register");		
			}else{
    
    
				;
				Date date = new Date();
				SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				String d = formatter.format(date);
				s.setRegiste_time(d);
				sts.insert(s);
				
				mv.setViewName("web/login");						
			}
		
		return mv;
	}	
	
	
	
	
	
	
	@RequestMapping(value = "/selectWebProductData", method = RequestMethod.GET)
	@ResponseBody
    public String technologylistData(HttpServletRequest request, Equipment p){
    
    
        String ret = "";
        JSONObject json = new JSONObject();
        try {
    
    
        	 int page = p.getPage();
             int limit = p.getLimit();
             PageHelper.startPage(page, limit);
             p.setStatus("1");
             List<Equipment> list=eqs.findAll(p);
             PageInfo<Equipment> listPage = new PageInfo<Equipment>(list);
            ret = json.toJSONString(listPage);
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        return ret;
    }
	
	@RequestMapping("/webProductDetail")
	public String webProductDetail(HttpSession session,ModelMap map,Integer id) {
    
    
		Equipment p = eqs.findById(id);
		map.put("p", p);
		List<Board> list=boardService.findAll(null);
		 if(list.size()>5) {
    
    
			 list= list.subList(0, 4);
			}
		 map.put("list",list);
		 String loginstate = (String) session.getAttribute("loginstate");
		 map.put("loginstate",loginstate);
		return "web/detail";
	}
	
	

	
	@RequestMapping("/toaddorder")
	public String toaddorder(HttpSession session,ModelMap map,Integer id) {
    
    
		
		return "web/add_order";
	}
	
	@RequestMapping( "/addOrderInfo")
    @ResponseBody
    public String addequInfo(HttpServletRequest request,Appointment e)  {
    
    
		Student user=(Student)request.getSession().getAttribute("student");
		Teacher tec=(Teacher)request.getSession().getAttribute("teacher");
		String state=(String)request.getSession().getAttribute("loginstate");
		String msg ="";
			Date date = new Date();
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
			String d = formatter.format(date);
			SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMddhhmmss");
			String d2 = formatter2.format(date);
			e.setOrder_no(d2);
			e.setCreate_date(d);
			e.setStatus("2");
			e.setCode("0");
			if(StringUtils.equals(state,"1")) {
    
    
				e.setState("1");
				e.setStuno_or_tno(user.getStuno());
				e.setUid(user.getId());
			}else {
    
    
				e.setState("2");
				e.setStuno_or_tno(tec.getTno());
				e.setUid(tec.getId());
			}
			Equipment eq = eqs.findById(e.getE_id());
			if(eq.getStock()>e.getQuantity()) {
    
    
				
				apps.insert(e);
				eq.setStock(eq.getStock() - e.getQuantity());
				eqs.update(eq);
				msg="success";	
			}else {
    
    
				msg="nonum";	
			}
			
		
       return msg;
    }
	
	//公告
	@RequestMapping("/webNews")
	public String webNews(HttpSession session,ModelMap map) {
    
    
		List<Board> list=boardService.findAll(null);
		 map.put("dataTotal1",list.size());
		 map.put("dataSize",8);
		 if(list.size()>5) {
    
    
			 list= list.subList(0, 4);
			}
		 map.put("list",list);
		 Admin u = (Admin)session.getAttribute("user");
		
		 map.put("user",u);
		 String loginstate = (String) session.getAttribute("loginstate");
		 map.put("loginstate",loginstate);
		return "web/board";
	}
	@RequestMapping(value = "/selectWebNewsData", method = RequestMethod.GET)
	@ResponseBody
    public String selectWebNewsData(HttpServletRequest request, Board p){
    
    
        String ret = "";
        JSONObject json = new JSONObject();
        try {
    
    
        	 int page = p.getPage();
             int limit = p.getLimit();
             PageHelper.startPage(page, limit);
             List<Board> list=boardService.findAll(p);
             PageInfo<Board> listPage = new PageInfo<Board>(list);
            ret = json.toJSONString(listPage);
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        return ret;
    }
	
	
	/**********************************************************个人中心*********************************************/
	@RequestMapping("/toWebSetInfo")
	public  ModelAndView toWebSetInfo(HttpServletRequest request,
			 HttpSession session,HttpServletResponse response,ModelAndView mv,ModelMap map ) throws ServletException, IOException {
    
    		
		
			String loginstate =(String) session.getAttribute("loginstate");	
			if(StringUtils.equals("1", loginstate)) {
    
    
				Student s = (Student) session.getAttribute("student");	
				if(s==null){
    
    
					mv.setViewName("web/login");		
				}else{
    
    
					Student student = sts.findById(s.getId());
					map.put("student", student);		
					mv.setViewName("web/set");						
				}
			}else {
    
    
				Teacher t = (Teacher) session.getAttribute("teacher");	
				if(t==null){
    
    
					mv.setViewName("web/logintec");		
				}else{
    
    
					Teacher teacher = ts.findById(t.getId());
					map.put("teacher", teacher);		
					mv.setViewName("web/settec");						
				}
			}
			
		
		return mv;
	}
	
	
	@RequestMapping("/updateWebUserInfo")
	public String updateWebUserInfo(HttpSession session,HttpServletRequest request,@ModelAttribute Student record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Student user = sts.findById(record.getId());
       user.setPhone(record.getPhone());
       user.setNickname(record.getNickname());
       user.setBj(record.getBj());
       user.setRealname(record.getRealname());
       user.setMajor(record.getMajor());
       user.setSex(record.getSex());
       sts.update(user);
        map.put("student", user);
        session.setAttribute("student", user);
		return "web/set";
	}
	@RequestMapping("/updateWebUserPwd")
	public String updateWebUserPwd(HttpSession session,HttpServletRequest request,@ModelAttribute Student record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Student user = sts.findById(record.getId());
		user.setPwd(record.getPwd());
       
        sts.update(user);
        map.put("student", user);
        session.setAttribute("student", user);
		return "web/set";
	}
	
	@RequestMapping("/updateWebUserTX")
	public String updateWebUserTX(HttpSession session,HttpServletRequest request,@ModelAttribute Admin record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Student user = sts.findById(record.getId());
       user.setPhoto(record.getPhoto());
       
       sts.update(user);
        map.put("student", user);
        session.setAttribute("student", user);
		return "web/set";
	}
	//
	@RequestMapping("/toMyWebOrders")
	public  ModelAndView toMyWebComment(HttpServletRequest request,
		 HttpSession session,HttpServletResponse response,ModelAndView mv,ModelMap map,Appointment app ) throws ServletException, IOException {
    
    			
		Student u = (Student)session.getAttribute("student");
		if(u==null){
    
    
			mv.setViewName("web/login");		
		}else{
    
    
			map.put("student", u);	
			app.setUid(u.getId());
			List<Appointment> list=apps.findMyAll(app);
			 map.put("dataTotal1",list.size());
			 map.put("dataSize",8);
			mv.setViewName("web/my_orders");						
		}
		return mv;
	}
	@RequestMapping(value = "/selectWebMyOrdersData", method = RequestMethod.GET)
	@ResponseBody
    public String selectWebMyOrdersData( HttpSession session,HttpServletRequest request, Appointment app){
    
    
        String ret = "";
        JSONObject json = new JSONObject();
        try {
    
    
        	 int page = app.getPage();
             int limit = app.getLimit();
             PageHelper.startPage(page, limit);
             Student u = (Student)session.getAttribute("student");
             app.setUid(u.getId());
             app.setState("1");
             List<Appointment> list=apps.findMyAll(app);
             PageInfo<Appointment> listPage = new PageInfo<Appointment>(list);
            ret = json.toJSONString(listPage);
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        return ret;
    }
	
	@RequestMapping("/buyMyOrders")
	@ResponseBody
	public String buyMyOrders(HttpSession session,HttpServletRequest request,@RequestParam("id") Integer id)throws Exception{
    
    
		String msg = "";
		 Student u = (Student)session.getAttribute("student");
		if(u==null){
    
    
			msg =  "nologin";
		}else {
    
    
			Appointment app = apps.findById(id);
			app.setCode("1");
			Equipment eq = eqs.findById(app.getE_id());
			eq.setStock(eq.getStock()+app.getQuantity());
			apps.update(app);
			eqs.update(eq);
			msg = "ok";
		}
		return msg;
	}
	
	
	/******************************************************教师********************************************************/
	
	@RequestMapping("/updateWebUserInfotec")
	public String updateWebUserInfotec(HttpSession session,HttpServletRequest request,@ModelAttribute Teacher record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Teacher user = ts.findById(record.getId());
       user.setPhone(record.getPhone());
       user.setName(record.getName());
       user.setAge(record.getAge());
       user.setEducation(record.getEducation());
       user.setInsitute(record.getInsitute());
       user.setSex(record.getSex());
       user.setJob(record.getJob());
       ts.update(user);
        map.put("teacher", user);
        session.setAttribute("teacher", user);
		return "web/settec";
	}
	@RequestMapping("/updateWebUserPwdtec")
	public String updateWebUserPwdtec(HttpSession session,HttpServletRequest request,@ModelAttribute Teacher record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Teacher user = ts.findById(record.getId());
		user.setPwd(record.getPwd());
       
        ts.update(user);
        map.put("teacher", user);
        session.setAttribute("teacher", user);
		return "web/settec";
	}
	
	@RequestMapping("/updateWebUserTXtec")
	public String updateWebUserTXtec(HttpSession session,HttpServletRequest request,@ModelAttribute Teacher record,ModelMap map)throws Exception{
    
    
		System.out.print(record);	
		Teacher user = ts.findById(record.getId());
       user.setPhoto(record.getPhoto());
       
       ts.update(user);
        map.put("teacher", user);
        session.setAttribute("teacher", user);
		return "web/settec";
	}
	
	@RequestMapping("/toMyWebOrderstec")
	public  ModelAndView toMyWebOrderstec(HttpServletRequest request,
		 HttpSession session,HttpServletResponse response,ModelAndView mv,ModelMap map,Appointment app ) throws ServletException, IOException {
    
    			
		Teacher u = (Teacher)session.getAttribute("teacher");
		if(u==null){
    
    
			mv.setViewName("web/logintec");		
		}else{
    
    
			map.put("teacher", u);	
			app.setUid(u.getId());
			List<Appointment> list=apps.findMyAll(app);
			 map.put("dataTotal1",list.size());
			 map.put("dataSize",8);
			mv.setViewName("web/my_orderstec");						
		}
		return mv;
	}
	@RequestMapping(value = "/selectWebMyOrdersDatatec", method = RequestMethod.GET)
	@ResponseBody
    public String selectWebMyOrdersDatatec( HttpSession session,HttpServletRequest request, Appointment app){
    
    
        String ret = "";
        JSONObject json = new JSONObject();
        try {
    
    
        	 int page = app.getPage();
             int limit = app.getLimit();
             PageHelper.startPage(page, limit);
             Teacher u = (Teacher)session.getAttribute("teacher");
             app.setUid(u.getId());
             app.setState("2");
             List<Appointment> list=apps.findMyAll(app);
             PageInfo<Appointment> listPage = new PageInfo<Appointment>(list);
            ret = json.toJSONString(listPage);
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        return ret;
    }
	
	@RequestMapping("/buyMyOrderstec")
	@ResponseBody
	public String buyMyOrderstec(HttpSession session,HttpServletRequest request,@RequestParam("id") Integer id)throws Exception{
    
    
		String msg = "";
		Teacher u = (Teacher)session.getAttribute("teacher");
		if(u==null){
    
    
			msg =  "nologin";
		}else {
    
    
			Appointment app = apps.findById(id);
			app.setCode("1");
			Equipment eq = eqs.findById(app.getE_id());
			eq.setStock(eq.getStock()+app.getQuantity());
			apps.update(app);
			eqs.update(eq);
			msg = "ok";
		}
		return msg;
	}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/130991128