基于javaweb的宠物医院管理系统设计和实现(java+springboot+ssm+mysql+jsp)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

基于javaweb+jsp的宠物医院管理系统(java+Springboot+ssm+mysql+jsp+maven)

一、项目简述

功能描叙: 医生信息,客户信息,宠物管理,浏览管理,诊断管理, 医生管理,用户管理等等模块。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Springboot+ SpringMVC + MyBatis + ThymeLeaf + HTML+ JavaScript + JQuery + Ajax + maven等等

管理员权限控制类:

/**

  • 管理员权限控制类

*/

@Controller(“Admin”)

@RequestMapping(“/admin”)

public class Adminontroller {

@Autowired

private PageService pageService;

@Autowired

private RoleService roleService;

@Autowired

private PageRoleService pageRoleService;

@Autowired

private UserRoleService userRoleService;

@Autowired

private UserService userService;

private final Logger logger = LoggerFactory.getLogger(Adminontroller.class);

/**

  • Method name: page

  • Descriiption: 跳转到页面设置页面

  • @param model

  • @return String

*/

@RequestMapping(“/page”)

public String page(Model model) {

List pageList = pageService.getAllPage();

model.addAttribute(“pageList”, pageList);

return “sa/page”;

/**

  • Method name: role

  • Descriiption: 跳转到角色设置页面

  • @param model

  • @return String

*/

@RequestMapping(“/role”)

public String role(Model model) {

return “sa/role”;

/**

  • Method name: getAllRole

  • Descriiption: 获取所有权限

  • @return List

*/

@RequestMapping(“/getAllRole”)

@ResponseBody

public List getAllRole() {

return roleService.getAllRole();

/**

  • Method name: getAllPage

  • Descriiption: 获取所有页面

  • @return List

*/

@RequestMapping(“/getAllPage”)

@ResponseBody

public List getAllPage() {

return pageService.getAllPage();

/**

  • Method name: getPageByRole

  • Descriiption: 获取某个角色的权限页面

*/

@RequestMapping(“/getPageByRole”)

@ResponseBody

public Object getPageByRole(Integer roleId) {

return pageService.getAllPageByRoleId(roleId);

/**

  • Method name: updatePageById

  • Descriiption: 根据页面id更新页面

  • @param page

  • @return ResultMap

*/

@RequestMapping(“/updatePageById”)

@ResponseBody

public ResultMap updatePageById(Page page) {

return pageService.updatePageById(page);

/**

  • Method name: addPage

  • Descriiption: 添加页面

  • @param page

  • @return Page

*/

@RequestMapping(“/addPage”)

@ResponseBody

public Page addPage(Page page) {

return pageService.addPage(page);

/**

  • Method name: delPageById

  • Descriiption: 根据页面id删除页面

  • @param id

  • @return ResultMap

*/

@RequestMapping(“/delPageById”)

@ResponseBody

public ResultMap delPageById(Integer id) {

if (null == id) {

return new ResultMap().fail().message(“参数错误”);

return pageService.delPageById(id);

/**

  • Method name: addRole

  • Descriiption: 增加角色

  • @param name

  • @return String

*/

@RequestMapping(“/addRole”)

@ResponseBody

public String addRole(String name) {

return roleService.addRole(name);

/**

  • Method name: delManageRole

  • Descriiption: 根据角色id删除角色

  • @param id

  • @return String

*/

@RequestMapping(“/delRole”)

@ResponseBody

public String delRole(int id) {

// 删除角色

boolean flag1 = roleService.delRoleById(id);

// 删除角色_权限表

boolean flag2 = pageRoleService.delPageRoleByRoleId(id);

// 删除某个角色的所有用户

boolean flag3 = userRoleService.delUserRoleByRoleId(id);

if (flag1 && flag2 && flag3) {

return “SUCCESS”;

return “ERROR”;

/**

  • Method name: updateRole

  • Descriiption: 根据权限id修改权限信息

  • @param id

  • @param name

  • @return String

*/

@RequestMapping(“/updateRole”)

@ResponseBody

public String updateRole(Integer id, String name) {

int n = roleService.updateRoleById(id, name);

if (n != 0) {

return “SUCCESS”;

return “ERROR”;

/**

  • Method name: addPageRoleByRoleId

  • Descriiption: 增加某个角色的权限页面

  • @param roleId

  • @param pageIds

  • @return String

*/

@RequestMapping(“/addPageRoleByRoleId”)

@ResponseBody

public String addPageRoleByRoleId(Integer roleId, Integer[] pageIds) {

if (null == roleId) {

return “ERROR”;

// 先删除老的权限

boolean flag1 = pageRoleService.delPageRoleByRoleId(roleId);

boolean flag2 = pageRoleService.addPageRoles(roleId, pageIds);

if (flag1 && flag2) {

return “SUCCESS”;

return “ERROR”;

/**

  • Method name: getAllUserByMap

  • Descriiption: 根据角色查询下面所有的人员/非角色下所有人员

*/

@RequestMapping(“/getAllUserByRoleId”)

@ResponseBody

public Object getAllUserByRoleId(Integer roleId, String roleNot, Integer page, Integer limit) {

if (null == roleNot) {

return userService.getAllUserByRoleId(roleId, page, limit);

return userService.getAllUserByNotRoleId(roleId, page, limit);

/**

  • Method name: delUserRoleByUserIdAndRoleId

  • Descriiption: 根据用户id权限id删除用户权限表

  • @param userId

  • @param roleId

  • @return ResultMap

*/

@RequestMapping(“/delUserRoleByUserIdAndRoleId”)

@ResponseBody

public ResultMap delUserRoleByUserIdAndRoleId(String userId, Integer roleId) {

return userRoleService.delUserRoleByUserIdAndRoleId(userId, roleId);

/**

  • Method name: selectUserRole

  • Descriiption: 跳转到选择用户角色页面

  • @return String

*/

@RequestMapping(“/selectUserRole”)

public String selectUserRole() {

return “sa/selectUserRole”;

/**

  • Method name: addUserRole

  • Descriiption: 增加用户的角色

  • @param roleId

  • @param userIds

  • @return String

*/

@RequestMapping(“/addUserRole”)

@ResponseBody

public String addUserRole(Integer roleId, String[] userIds) {

return userRoleService.addUserRole(roleId, userIds);

/**

  • Method name: userAddPage

  • Descriiption: 用户添加页面

  • @return String

*/

@RequestMapping(value = “/userAddPage”)

public String userAddPage() {

return “sa/userAdd”;

/**

  • Method name: userPage

  • Descriiption: 用户管理页面

  • @return String

*/

@RequestMapping(value = “/userPage”)

public String userPage() {

return “sa/userList”;

/**

  • Method name: getAllUserByLimit

  • Descriiption: 根据条件获取所有用户

  • @param userParameter

  • @return Object

*/

@RequestMapping(“/getAllUserByLimit”)

@ResponseBody

public Object getAllUserByLimit(UserParameter userParameter) {

return userService.getAllUserByLimit(userParameter);

/**

  • Method name: getAllDelUserByLimit

  • Descriiption: 获取所有删除用户

  • @param userParameter

  • @return Object

*/

@RequestMapping(“/getAllDelUserByLimit”)

@ResponseBody

public Object getAllDelUserByLimit(UserParameter userParameter) {

return userService.getAllDelUserByLimit(userParameter);

/**

  • Method name: delUser

  • Descriiption: 批量删除用户

  • @param ids

  • @return String

*/

@RequestMapping(value = “delUser”)

@ResponseBody

@Transactional

public String delUser(Long[] ids) {

Subject subject = SecurityUtils.getSubject();

User user = (User) subject.getPrincipal();

try {

for (Long id : ids) {

if (id.equals(user.getId())) {

return “DontOP”;

userService.delUserById(id);

return “SUCCESS”;

} catch (Exception e) {

logger.error(“根据用户id更新用户异常”, e);

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

return “ERROR”;

/**

  • Method name: addUserPage

  • Descriiption: 增加用户界面

  • @return String

*/

@RequestMapping(value = “/addUserPage”)

public String addUserPage(Long userId, Model model) {

model.addAttribute(“manageUser”, userId);

if (null != userId) {

User user = userService.selectByPrimaryKey(userId);

model.addAttribute(“manageUser”, user);

return “sa/userAdd”;

/**

  • Method name: checkUserId

  • Descriiption: 检测用户账号是否存在

  • @param userId

  • @return User

*/

@ResponseBody

@RequestMapping(“/checkUserId”)

public User checkUserId(Long userId) {

return userService.selectByPrimaryKey(userId);

/**

  • Method name: addUser

  • Descriiption: 用户添加

  • @param user

  • @return String

*/

@ResponseBody

@RequestMapping(“/addUser”)

public String addUser(User user) {

try {

user.setPassword(MD5.md5(user.getPassword()));

user.setCreateTime(new Date());

userService.addUser(user);

User u = userService.getUserByPhoneAndName(user.getPhone(), user.getName());

String[] ids = new String[1];

ids[0] = u.getId()+“”;

// 医生角色

userRoleService.addUserRole(3, ids);

return “SUCCESS”;

} catch (Exception e) {

return “ERR”;

/**

  • Method name: updateUser

  • Descriiption: 更新用户

  • @param user

  • @return String

*/

@ResponseBody

@RequestMapping(“/updateUser”)

public String updateUser(User user, Long oldId) {

return userService.updateUser(oldId, user);

/**

  • Method name: delUserPage

  • Descriiption: 已删除用户列表

  • @return String

*/

@RequestMapping(“/delUserPage”)

public String delUserPage() {

return “sa/userDelPage”;

登录控制类:

/**

  • 登录控制类

*/

@Controller(“OpenLogin”)

@RequestMapping()

public class LoginController {

@Autowired

private ResultMap resultMap;

@Autowired

private UserService userService;

@Autowired

private PageService pageService;

@Autowired

private UserRoleService userRoleService;

private final Logger logger = LoggerFactory.getLogger(LoginController.class);

/**

  • 返回 尚未登陆信息

*/

@RequestMapping(value = “/notLogin”, method = RequestMethod.GET)

@ResponseBody

public ResultMap notLogin() {

logger.warn(“尚未登陆!”);

return resultMap.success().message(“您尚未登陆!”);

/**

  • 返回 没有权限

*/

@RequestMapping(value = “/notRole”, method = RequestMethod.GET)

@ResponseBody

public ResultMap notRole() {

Subject subject = SecurityUtils.getSubject();

User user = (User) subject.getPrincipal();

if (user != null) {

logger.info(“{}—没有权限!”, user.getName());

return resultMap.success().message(“您没有权限!”);

/演示页面/

@RequestMapping(value = “/demo/table”, method = RequestMethod.GET)

public String demoTable() {

return “table”;

@RequestMapping(value = “/demo/tu”, method = RequestMethod.GET)

public String demoTu() {

return “tu”;

@RequestMapping(value = “/demo/tu1”, method = RequestMethod.GET)

public String tu1() {

return “tu1”;

@RequestMapping(value = “/demo/tu2”, method = RequestMethod.GET)

public String tu2() {

return “tu2”;

@RequestMapping(value = “/demo/tu3”, method = RequestMethod.GET)

public String tu3() {

return “tu3”;

/演示页面/

/**

  • Method name: logout

  • Descriiption: 退出登录

  • @return String

*/

@RequestMapping(value = “/logout”, method = RequestMethod.GET)

public String logout() {

Subject subject = SecurityUtils.getSubject();

User user = (User) subject.getPrincipal();

if (null != user) {

logger.info(“{}—退出登录!”, user.getName());

subject.logout();

return “login”;

/**

  • Method name: login

  • Descriiption: 登录验证

  • Remark:

  • @param username 用户名

  • @param password 密码

  • @return ResultMap

*/

@RequestMapping(value = “/login”)

@ResponseBody

public ResultMap login(String username, String password) {

return userService.login(username, password);

/**

  • Method name: login

  • Descriiption: 登录页面

  • @return String login.html

*/

@RequestMapping(value = “/index”)

public String login() {

return “login”;

/**

  • 注册页面 regist.html

*/

@RequestMapping(value = “/regist”)

public String regist() {

return “regist”;

/**

  • 注册

*/

@RequestMapping(value = “/doRegist”)

@ResponseBody

public ResultMap doRegist(User user) {

System.out.println(user);

User u = userService.getUserByPhoneAndName(user.getPhone(), null);

if (u != null){

return resultMap.success().message(“该手机号已注册!”);

try {

user.setPassword(MD5.md5(user.getPassword()));

user.setCreateTime(new Date());

userService.save(user);

String[] ids = new String[1];

ids[0] = user.getId()+“”;

// 普通用户

userRoleService.addUserRole(2, ids);

return resultMap.success().message(“注册成功”);

}catch (Exception e){

e.printStackTrace();

return resultMap.fail().message(“注册失败”);

/**

  • Method name: index

  • Descriiption: 登录页面

  • @return String login.html

*/

@RequestMapping(value = “/”)

public String index(Model model) {

Subject subject = SecurityUtils.getSubject();

User user = (User) subject.getPrincipal();

if (null != user) {

model.addAttribute(“user”, user);

List pageList = pageService.getAllRolePageByUserId(user.getId()+“”);

model.addAttribute(“pageList”, pageList);

return “index”;

} else {

return “login”;

/**

  • Method name: main

  • Descriiption: 进入主页面

  • index.html

*/

@RequestMapping(value = “/main”)

public String main(Model model) {

Subject subject = SecurityUtils.getSubject();

User user = (User) subject.getPrincipal();

if (null != user) {

model.addAttribute(“user”, user);

} else {

return “login”;

List pageList = pageService.getAllRolePageByUserId(user.getId()+“”);

model.addAttribute(“pageList”, pageList);

return “index”;

/**

  • Method name: checkUserPassword

  • Descriiption: 检测旧密码是否正确

  • @param password 旧密码

  • @return boolean 是否正确

*/

@RequestMapping(value = “/user/checkUserPassword”)

@ResponseBody

public boolean checkUserPassword(String password) {

return userService.checkUserPassword(password);

/**

  • Method name: updatePassword

  • Descriiption: 更新密码

  • @param password 旧密码

  • @return String 是否成功

*/

@RequestMapping(value = “/user/updatePassword”)

@ResponseBody

public String updatePassword(String password) {

return userService.updatePassword(password);

用户信息控制层:

/**

  • 用户控制

*/

@Controller(“User”)

@RequestMapping(“/user”)

public class UserController {

private final Logger logger = LoggerFactory.getLogger(UserController.class);

private final ResultMap resultMap;

@Autowired

private UserService userService;

@Autowired

private UserRoleService userRoleService;

@Autowired

public UserController(ResultMap resultMap) {

this.resultMap = resultMap;

/**

  • 返回有权限信息

*/

@RequestMapping(value = “/getMessage”, method = RequestMethod.GET)

public ResultMap getMessage() {

return resultMap.success().message(“您拥有用户权限,可以获得该接口的信息!”);

/**

  • 修改用户信息页面user/userEdit.html

*/

@RequestMapping(value = “/editUserPage”)

public String editUserPage(Long userId, Model model) {

model.addAttribute(“manageUser”, userId);

if (null != userId) {

User user = userService.selectByPrimaryKey(userId);

model.addAttribute(“manageUser”, user);

return “user/userEdit”;

/**

  • 更新数据库

*/

@ResponseBody

@RequestMapping(“/updateUser”)

public String updateUser(User user) {

return userService.updateUser(user);


基于javaweb的宠物医院管理系统设计和实现(java+springboot+ssm+mysql+jsp)相关推荐

  1. Java项目:宠物医院管理系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能描叙: 医生信息,客户信息,宠物管理,浏览管理,诊断管理, 医生管理,用户管理等等模块. 二.项目运行 环境配置: Jdk ...

  2. 基于javaweb的在线电影售票系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的在线电影售票系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

  3. 基于javaweb的在线心理测评系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的在线心理测评系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

  4. 基于javaweb的电影售票系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的电影售票系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclip ...

  5. 基于javaweb的超市进销存系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

    基于javaweb的超市进销存系统设计和实现(java+Springboot+ssm+mysql+jsp+maven) 一.项目简述 本系统主要实现的功能有: 用户管理,商品管理,销售管理,进货退货管 ...

  6. 基于javaweb的前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/ ...

  7. Java项目:网上商城系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: OnlineMall项目是一套电商系统,包括OnlineMall商城系 统及OnlineMall商城 ...

  8. Java项目:在线电影售票系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 前台: 1.正在上映的电影浏览查看. 2.影院信息浏览查看. 3.新闻咨询信息浏览查看. 4.地域信息查看切换. 5.用户注册 ...

  9. Java项目:前台+后台在线考试系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 学生以及老师的注册登录,在线考试,错题查询,学生管理,问题管理,错题管理,错题查询,分数查询,试卷管 ...

最新文章

  1. FastFormers:实现Transformers在CPU上223倍的推理加速
  2. NIO实例:Selector+SocketChannel实现多人聊天
  3. 戴尔携手英特尔揭示技术与员工潜能背后的真相
  4. Web报表工具FineReport二次开发JS之字符串
  5. 广西国家计算机二级考试报名官网,广西2018下半年全国计算机二级考试报名入口已开通...
  6. 站长之家bbs.chinaz.com宣布将于2018年7月15日永久关站
  7. 关于WordPress登录后跳转到指定页面
  8. 摩托罗拉linux专属游戏,摩托罗拉E680软件以及游戏应用大全
  9. 软件安装出现【安装程序集组件时出错】时处理方案
  10. [Unity][摄像机视角]多个摄像机之间切换
  11. Python脚本批量转换图片格式至ico
  12. 小米VR一体机、Oculus Go投屏到PC、TV教程
  13. Plsql ORA-00054的解决方法
  14. 人脸旋转对齐(opencv-python)
  15. 【Unity3D游戏开发学习笔记】(六)上帝之手—GameObject的操作
  16. java gps轨迹_记录 GPS 轨迹 LogGPS
  17. 重新整理秋招准备的思路-9.20
  18. C++中s.find()和s.rfind()的用法
  19. jQuery性能优化
  20. STM32CubeIDE导入机智云生成基于MDK的STM32工程

热门文章

  1. 逻辑思维500题之分析法
  2. “瑜珈山夜话”---序
  3. 输入一个数,按顺序打印这个数的每一位(C语言)
  4. 2019百家号自媒体运营攻略
  5. php 单页应用,有关单页应用的体验问题
  6. appscan漏洞之查询中的密码参数
  7. Python Flask 微信小程序点餐系统(五):管理员后台菜品模块
  8. python threading 停止和暂停线程
  9. 大学生做家教教java_基于jsp的大学生家教平台-JavaEE实现大学生家教平台 - java项目源码...
  10. 集聚新潮流:iOS音乐合成器七大亮星