基于javaweb+mysql的ssm+maven校园共享自行车管理系统(java+ssm+jsp+easyui+bootstrap+mysql)

基于javaweb+mysql的ssm+maven校园共享自行车管理系统(java+ssm+jsp+easyui+bootstrap+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SSM+Maven校园共享自行车管理系统(java+ssm+jsp+easyui+bootstrap+mysql)

项目介绍

管理员角色包含以下功能: 管理员登录,用户管理,服务点管理,共享单车管理,车辆分类管理,学生管理,自行车租赁管理,统计信息,密码修改等功能。

用户角色包含以下功能: 用户登录,基本信息查看等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:是;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+EasyUI+BootStrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
    }

}

/**
 */
@Controller
@RequestMapping("/place")
public class PlaceController {

    @Autowired
    private PlaceService placeService;

    //跳转到  place 页面
    @RequestMapping("/placeManage")
    public String placeMange(){
        return "place";
    }

    //显示所有服务点
    @RequestMapping("/showAll")
    @ResponseBody
    public List<Place> showAll(){
        return placeService.findAll();
    }

    //添加或更新服务点 addOrUpdate
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult addOrUpdate(Place place){
        if(place == null) return new JsonResult(false, ResultEnum.SYSTEM_ERROR);
        if(place.getPid() == null ) return placeService.add(place);
        return placeService.update(place);
    }
    @RequestMapping("/loadForm")
    @ResponseBody
    public Category loadForm(Integer cid){
        return categoryService.findById(cid);
    }

}

/**
 */
@Controller
@RequestMapping("/place")
public class PlaceController {

    @Autowired
    private PlaceService placeService;

    //跳转到  place 页面
    @RequestMapping("/placeManage")
    public String placeMange(){
        return "place";
    }

    //显示所有服务点
    @RequestMapping("/showAll")
    @ResponseBody
    public List<Place> showAll(){
        return placeService.findAll();
    }

    //添加或更新服务点 addOrUpdate
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    }

    //显示所有的学生
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Student> show(Integer page,Integer rows){
        return studentService.findAllToPage(page,rows);
    }

    //删除一个学生
    @RequestMapping(value = "/remove",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult remove( Integer sid){
        return studentService.removeById(sid);
    }

    //回显 指定一个student数据到student页面的弹出框表单中
    @RequestMapping("/loadForm")
    @ResponseBody
    public Student loadForm(Integer sid){
        return studentService.findById(sid);
    }

}

    //回显 指定一个student数据到student页面的弹出框表单中
    @RequestMapping("/loadForm")
    @ResponseBody
    public Student loadForm(Integer sid){
        return studentService.findById(sid);
    }

}

/**
 */
@Controller
@RequestMapping("/category")
public class CategoryController {

    @Autowired
    private CategoryService categoryService;

    //跳转到category页面
    @RequestMapping("/categoryManage")
    public String categoryMange(){
        return "category";
    }

    //显示所有分类
    @RequestMapping("/showAll")
    @ResponseBody
    public List<Category> showAll(){
       return categoryService.findAll();
    }

    //添加或更新分类 addOrUpdate
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

/**
 */
@Controller
@RequestMapping("/orders")
public class OrdersController {

    @Autowired
    OrdersService ordersService;

    //跳转到租赁管理页面
    @RequestMapping("/ordersManage")
    public  String ordersMange(){
        return "orders";
    }

    //添加或修改订单
    @RequestMapping("/addOrUpdate")
public class AdminController {

    @Autowired
    private AdminService adminService;

    //跳转到首页
    @RequestMapping("/index")
    public String index(){
        return "index";
    }

    //验证登陆
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    public String login(Admin admin, Model model, HttpSession session){
        String message = adminService.checkUserPwd(admin);
        if("成功".equals(message)) {
            //注入Session
            Admin realAdmin = adminService.findByUsername(admin.getaUsername());

            session.setAttribute("admin",realAdmin);
            //更新登陆的时间
            admin.setaLoginTime(new Date());
            admin.setaUpdateTime(new Date());
            admin.setaPassword(null);
            adminService.upDate(admin);
            return "redirect:index";
        }

        model.addAttribute("msg",message);
        return "forward:/login.jsp";
    }
    //退出登陆
    @RequestMapping("/logout")
    public String logout(HttpSession session){
        session.invalidate();
        return "redirect:/login.jsp";
    }

    //跳转到修改密码的页面
    @RequestMapping("/rePassword")
    public String rePassword(){
        return "rePassword";
    }
    //修改提交的密码
    @RequestMapping("/submitResetPwd")
    @ResponseBody
    public JsonResult submitResetPwd(String password, String newPassword,HttpSession httpSession){
        Admin admin = (Admin) httpSession.getAttribute("admin");
        if(!admin.getaPassword().equals(MD5Util.getMD5(password)))
            return new JsonResult(false,ResultEnum.OLD_PASSWORD_ERROR);
        admin.setaPassword(MD5Util.getMD5(newPassword));
     * @param saveDir  在images文件夹下面的哪个文件夹
     * @param request
     * @return 返回一个文件路径 如果null则上传失败
     */
    public static String uploadImage(MultipartFile multipartFile,String saveDir, HttpServletRequest request){
            if(!multipartFile.getContentType().startsWith("image/"))
                return null;
            String filename = multipartFile.getOriginalFilename();
            String type = filename.substring(filename.lastIndexOf("."));
            String newFilename = UUIDUtil.getUUIDByTime()+type;
            String path = request.getServletContext().getRealPath("/images/"+saveDir)+"/"+newFilename;
            try{
                FileCopyUtils.copy(multipartFile.getInputStream(), new FileOutputStream(path));
                return "images/"+saveDir+"/"+newFilename;
            }catch (IOException e){
                e.printStackTrace();
                return null;
            }

    }
}

/**
 */
public interface AdminService {

    //验证登陆
    public String checkUserPwd(Admin admin);

    //更新
    public boolean upDate(Admin admin);

    //
    public Admin findByUsername(String username);

    //显示所有用户用PageBean封装
    Page<Admin> findAllToPage(Integer page, Integer rows);

    JsonResult deleteById(Integer aid);

    List<Place> loadPlace();


/**
 */
@Controller
@RequestMapping("/student")
public class StudentController {

    @Autowired
    private StudentService studentService;

    //跳转到student管理 jsp页面
    @RequestMapping("/studentManage")
    public String studentManage(){
        return "student";
    }

    //添加或更新一个学生
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult add(MultipartFile studentIcon, Student student, HttpServletRequest request){
        if(student.getSid() == null || "".equals(student.getSid()))
        return studentService.add(studentIcon,student,request);
        return studentService.update(studentIcon,student,request);
    }

    //显示所有的学生
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Student> show(Integer page,Integer rows){
        return studentService.findAllToPage(page,rows);
    }

    //删除一个学生
    @RequestMapping(value = "/remove",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult remove( Integer sid){
        return studentService.removeById(sid);
    }

    //回显 指定一个student数据到student页面的弹出框表单中
    @RequestMapping("/loadForm")
    @ResponseBody
    public Student loadForm(Integer sid){
    public JsonResult addOrUpdate(Orders orders){
        if(orders.getOid() == null) return ordersService.add(orders);
            return ordersService.update(orders);
    }

    //点击修改按钮,加载订单表单
    @RequestMapping("/loadForm")
    @ResponseBody
    public Orders loadForm(Integer oid){
        return ordersService.findById(oid);
    }

    //显示所有的订单
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Orders> show(Integer page, Integer rows){
        return ordersService.findAllToPage(page,rows);
    }

    //删除订单
    @RequestMapping("/remove")
    @ResponseBody
    public JsonResult remove(Integer oid,Integer oBid,String oState){
        return ordersService.deleteById(oid,oBid,oState);
    }

}

/**
 */
public class FileUtil {
    /**
     *
     * @param multipartFile 上传的文件
     * @param saveDir  在images文件夹下面的哪个文件夹
     * @param request
     * @return 返回一个文件路径 如果null则上传失败
     */
    public static String uploadImage(MultipartFile multipartFile,String saveDir, HttpServletRequest request){
    @Override
    public Page findAllToPage(Integer page, Integer rows) {
        Page<Student> sPage = new Page<>();
        List<Student> lists = studentMapper.findToPage((page-1)*rows,rows);
        sPage.setRows(lists);
        sPage.setTotal(studentMapper.countByExample(new StudentExample()));
        return sPage;
    }

    @Override
    public JsonResult add(MultipartFile studentIcon, Student student,HttpServletRequest request) {
        if(!studentIcon.isEmpty()){
            String path = FileUtil.uploadImage(studentIcon, "studentIcon", request);
            if(path == null) return new JsonResult(false, ResultEnum.UPLOAD_TYPE_ERROR);
            student.setsIcon(path);
        }

        student.setsCreateTime(new Date());
        student.setsUpdateTime(new Date());
        if(student.getsSex() == null) student.setsSex("男");
        try{
            int   i = studentMapper.insertSelective(student);
            return    i > 0 ?  new JsonResult(true, ResultEnum.ADD_SUCCESS)
                    : new JsonResult(false, ResultEnum.ADD_FAIL);
        }catch (Exception e){
            e.printStackTrace();
            return new JsonResult(false, ResultEnum.REPEAT_ERROR);
        }
    }

    @Override
    public JsonResult removeById(Integer sid) {
        if(sid == null) return new JsonResult(false, ResultEnum.DELETE_FAIL);
        int i = studentMapper.deleteByPrimaryKey(sid);
        return i > 0 ? new JsonResult(true, ResultEnum.DELETE_SUCCESS) : new JsonResult(false, ResultEnum.DELETE_FAIL);
    }

    @Override
    public Student findById(Integer sid) {
        if(sid != null){
 */
public interface BikeService {

    JsonResult add(MultipartFile bikeIcon, Bike bike, HttpServletRequest request,Integer bCount);

    JsonResult update(MultipartFile bikeIcon,Bike bike,HttpServletRequest request);

    Page<Bike> findAllToPage(Integer page, Integer rows);

    //当前bike d掉 和 更新该分类的数量
    JsonResult deleteById(String bids,String cids);

    Bike findById(Integer bid);
}

/**
 */
@Controller
@RequestMapping("total")
public class TotalController {
    @Autowired
    private TotalService totalService;

    @RequestMapping("/totalManage")
    public String totalMange(Model model){
        Total totalBean = totalService.getTotalBean();
        model.addAttribute("total",totalBean);
        return "total";
    }
        Admin admin = (Admin) httpSession.getAttribute("admin");
        if(!admin.getaPassword().equals(MD5Util.getMD5(password)))
            return new JsonResult(false,ResultEnum.OLD_PASSWORD_ERROR);
        admin.setaPassword(MD5Util.getMD5(newPassword));
        admin.setaUpdateTime(new Date());
        boolean isSuccess = adminService.upDate(admin);
        if(isSuccess) return new JsonResult(isSuccess, ResultEnum.UPDATE_SUCCESS);
        return new JsonResult(isSuccess, ResultEnum.UPDATE_FAIL);
    }

    //跳转到用户管理页面

    @RequestMapping("/adminManage")
    public String adminMange(){
        return "admin";
    }

    //显示用户页面
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Admin> showAll(Integer page, Integer rows){
        return adminService.findAllToPage(page,rows);
    }

    //删除用户
    @RequestMapping("/remove")
    @ResponseBody
    public JsonResult remove(Integer aid){
        return adminService.deleteById(aid);
    }

    // 加载服务点到表单下拉框 loadPlace
    @RequestMapping("/loadPlace")
    @ResponseBody
    public List<Place> loadPlace(){
        return adminService.loadPlace();
    }

    //回显用户表单
    @RequestMapping("/loadForm")

}

/**
 */
@Controller
@RequestMapping("/student")
public class StudentController {

    @Autowired
    private StudentService studentService;

    //跳转到student管理 jsp页面
    @RequestMapping("/studentManage")
    public String studentManage(){
        return "student";
    }

    //添加或更新一个学生
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult add(MultipartFile studentIcon, Student student, HttpServletRequest request){
        if(student.getSid() == null || "".equals(student.getSid()))
        return studentService.add(studentIcon,student,request);
        return studentService.update(studentIcon,student,request);
    }

    //显示所有的学生
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Student> show(Integer page,Integer rows){
        return studentService.findAllToPage(page,rows);
    }

    //删除一个学生
    public Page<Bike> show(Integer page, Integer rows){
        return bikeService.findAllToPage(page,rows);
    }

    //删除单车和更新单车的分类
    @RequestMapping(value = "/remove",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult remove(String bids,String cids){
        return bikeService.deleteById(bids,cids);
    }
    //点击修改回显bike弹出表单
    @RequestMapping("/loadForm")
    @ResponseBody
    public Bike loadForm(Integer bid){
        return bikeService.findById(bid);
    }

    //回显bike分类
    @RequestMapping(value = "/loadCategory",method = RequestMethod.POST)
    @ResponseBody
    public List<Category> loadCategory(){
        return categoryService.findAll();
    }

}

/**
 */
@Controller
@RequestMapping("/student")
public class StudentController {


/**
 */
@Controller
@RequestMapping("/place")
public class PlaceController {

    @Autowired
    private PlaceService placeService;

    //跳转到  place 页面
    @RequestMapping("/placeManage")
    public String placeMange(){
        return "place";
    }

    //显示所有服务点
    @RequestMapping("/showAll")
    @ResponseBody
    public List<Place> showAll(){
        return placeService.findAll();
    }

    //添加或更新服务点 addOrUpdate
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult addOrUpdate(Place place){
        if(place == null) return new JsonResult(false, ResultEnum.SYSTEM_ERROR);
        if(place.getPid() == null ) return placeService.add(place);
        return placeService.update(place);
    }

    //删除服务点
    @RequestMapping(value = "/remove",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult remove(Integer pid){
        return placeService.deleteById(pid);
    }


/**管理员controller
 */
@Controller
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    private AdminService adminService;

    //跳转到首页
    @RequestMapping("/index")
    public String index(){
        return "index";
    }

    //验证登陆
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    public String login(Admin admin, Model model, HttpSession session){
        String message = adminService.checkUserPwd(admin);
        if("成功".equals(message)) {
            //注入Session
            Admin realAdmin = adminService.findByUsername(admin.getaUsername());

            session.setAttribute("admin",realAdmin);
            //更新登陆的时间
            admin.setaLoginTime(new Date());
            admin.setaUpdateTime(new Date());
            admin.setaPassword(null);
            adminService.upDate(admin);
            return "redirect:index";
        }

        model.addAttribute("msg",message);
        return "forward:/login.jsp";
    }
    //退出登陆
    @RequestMapping("/logout")
    public String logout(HttpSession session){
        session.invalidate();
        return "redirect:/login.jsp";
    }

    //跳转到修改密码的页面
    @RequestMapping("/rePassword")
    public String rePassword(){
        return "bike";
    }

    //添加或更新bike
    @RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult addOrUpdate(MultipartFile bikeIcon, Bike bike, HttpServletRequest request,Integer bCount){
        if(bCount != null) return bikeService.add(bikeIcon,bike,request,bCount);
            return bikeService.update(bikeIcon,bike,request);
    }

    //showAll bike
    @RequestMapping("/showAll")
    @ResponseBody
    public Page<Bike> show(Integer page, Integer rows){
        return bikeService.findAllToPage(page,rows);
    }

    //删除单车和更新单车的分类
    @RequestMapping(value = "/remove",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult remove(String bids,String cids){
        return bikeService.deleteById(bids,cids);
    }
    //点击修改回显bike弹出表单
    @RequestMapping("/loadForm")
    @ResponseBody
    public Bike loadForm(Integer bid){
        return bikeService.findById(bid);
    }

    //回显bike分类
    @RequestMapping(value = "/loadCategory",method = RequestMethod.POST)
    @ResponseBody
    public List<Category> loadCategory(){
        return categoryService.findAll();
    }

}

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值