作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
管理员角色包含以下功能:
管理员登录,用户管理,服务点管理,共享单车管理,车辆分类管理,学生管理,自行车租赁管理,统计信息,密码修改等功能。
居民角色包含以下功能:
居民登录,基本信息查看等功能。
环境需要
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/ 登录
运行截图
相关代码
管理员控制器
package com.webike.web;
import com.webike.dto.JsonResult;
import com.webike.dto.Page;
import com.webike.enums.ResultEnum;
import com.webike.pojo.Admin;
import com.webike.pojo.Place;
import com.webike.service.AdminService;
import com.webike.utils.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
/**管理员controller
* Created by Ming on 2018/2/8.
*/
@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 "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));
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")
@ResponseBody
public Admin loadForm(String username){
Admin admin = adminService.findByUsername(username);
return admin;
}
//addOrUpdate
@RequestMapping("/addOrUpdate")
@ResponseBody
public JsonResult addOrUpdate(MultipartFile adminIcon, Admin admin, HttpServletRequest request){
if(admin.getAid() == null) return adminService.add(adminIcon,admin,request);
return adminService.update(adminIcon,admin,request);
}
}
自行车控制器
package com.webike.web;
import com.webike.dto.JsonResult;
import com.webike.dto.Page;
import com.webike.pojo.Bike;
import com.webike.pojo.Category;
import com.webike.pojo.Student;
import com.webike.service.BikeService;
import com.webike.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
/**
* Created by Ming on 2018/2/10.
*/
@Controller
@RequestMapping("/bike")
public class BikeController {
@Autowired
private BikeService bikeService;
@Autowired
private CategoryService categoryService;
//跳转到 bike管理页面
@RequestMapping("/bikeManage")
public String bikeManage(){
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();
}
}
分类控制器
package com.webike.web;
import com.webike.dto.JsonResult;
import com.webike.enums.ResultEnum;
import com.webike.pojo.Category;
import com.webike.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* Created by Ming on 2018/2/11.
*/
@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
@RequestMapping(value = "/addOrUpdate",method = RequestMethod.POST)
@ResponseBody
public JsonResult addOrUpdate(Category category){
if(category == null) return new JsonResult(false, ResultEnum.SYSTEM_ERROR);
if(category.getCid() == null ) return categoryService.add(category);
return categoryService.update(category);
}
//删除分类
@RequestMapping(value = "/remove",method = RequestMethod.POST)
@ResponseBody
public JsonResult remove(Integer cid){
return categoryService.deleteById(cid);
}
//回显分类的表单数据
@RequestMapping("/loadForm")
@ResponseBody
public Category loadForm(Integer cid){
return categoryService.findById(cid);
}
}
订单控制器
package com.webike.web;
import com.webike.dto.JsonResult;
import com.webike.dto.Page;
import com.webike.pojo.Orders;
import com.webike.pojo.Student;
import com.webike.service.OrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Created by Ming on 2018/2/13.
*/
@Controller
@RequestMapping("/orders")
public class OrdersController {
@Autowired
OrdersService ordersService;
//跳转到租赁管理页面
@RequestMapping("/ordersManage")
public String ordersMange(){
return "orders";
}
//添加或修改订单
@RequestMapping("/addOrUpdate")
@ResponseBody
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);
}
}
学生控制器
package com.webike.web;
import com.webike.dto.JsonResult;
import com.webike.dto.Page;
import com.webike.pojo.Student;
import com.webike.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
/**
* Created by Ming on 2018/2/9.
*/
@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){
return studentService.findById(sid);
}
}
如果也想学习本系统,下面领取。关注并回复:170ssm