基于javaweb的宿舍管理系统(java+jsp+ssm+spring+mysql)

基于javaweb的宿舍管理系统(java+jsp+ssm+spring+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220519002155

20220519002156

20220519002157

20220519002158

20220519002200

基于javaweb+jsp的宿舍管理系统(java+jsp+SSM+Spring+mysql)

一、项目简述

功能:包括学生管理,班级管理,宿舍管理,人员信息维 护。维修登记,卫生管理,访客管理等等。

二、项目运行

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

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven

角色信息控制层:

@Controller

public class RoleController {

@Autowired

private IRoleService roleService;

@Autowired

private IPermissionService permissionService;

@PreAuthorize(“hasRole(‘管理员’)”)

@ResponseBody

@RequestMapping(“/role/doAdd”)

public String doAdd(Role role){

//角色添加

return “ok”;

//添加角色

@RequestMapping(“/role/addRole”)

@PreAuthorize(“hasRole(‘管理员’)”)

@ResponseBody

public AjaxResult addRole(Role role){

System.out.println(“保存角色…”+role);

try {

roleService.saveRole(role);

return new AjaxResult();

} catch (Exception e) {

e.printStackTrace();

return new AjaxResult(“操作失败”);

@PreAuthorize(“hasRole(‘管理员’)”)

@RequestMapping(“/role/index”)

public String index(Model model){

List permisisons = permissionService.findAllPermisisons();

model.addAttribute(“permissions”,permisisons);

//返回角色

return “views/role/role_list”;

@RequestMapping(“/role/listpage”)

@ResponseBody

public PageList listpage(RoleQuery roleQuery){

System.out.println(“传递参数:”+roleQuery);

return roleService.listpage(roleQuery);

//修改用户editSaveUser

@RequestMapping(“/role/editSaveRole”)

@ResponseBody

public AjaxResult editSaveRole(Role role){

System.out.println(“修改角色…”+role);

try {

roleService.editSaveRole(role);

return new AjaxResult();

} catch (Exception e) {

e.printStackTrace();

return new AjaxResult(“修改失败”);

//添加角色

@RequestMapping(“/role/deleteRole”)

@ResponseBody

public AjaxResult deleteRole(Long id){

System.out.println(“删除角色…”+id);

AjaxResult ajaxResult = new AjaxResult();

try {

roleService.deleteRole(id);

} catch (Exception e) {

e.printStackTrace();

return new AjaxResult(“删除失败”);

return ajaxResult;

//添加角色权限 addRolePermission

@RequestMapping(“/role/addRolePermission”)

@ResponseBody

public AjaxResult addRolePermission(@RequestBody Map paramMap){

AjaxResult ajaxResult = new AjaxResult();

String roleId = (String)paramMap.get(“roleId”);

List permissionIds = (List) paramMap.get(“permissionIds”);

try {

//添加角色对应的权限

roleService.addRolePermission(roleId,permissionIds);

return ajaxResult;

}catch (Exception e){

e.printStackTrace();

return new AjaxResult(“保存权限失败”);

用户管理控制器:

/**

  • 用户管理控制器

*/

@RequestMapping(“/user/”)

@Controller

public class UserController {

@Autowired

private IUserService userService;

@Autowired

private IRoleService roleService;

@Resource

private ProcessEngineConfiguration configuration;

@Resource

private ProcessEngine engine;

@GetMapping(“/index”)

@ApiOperation(“跳转用户页接口”)

@PreAuthorize(“hasRole(‘管理员’)”)

public String index(String menuid,Model model){

List roles = queryAllRole();

model.addAttribute(“roles”,roles);

model.addAttribute(“menuid”,menuid);

//用户首页

return “views/user/user_list”;

@GetMapping(“/listpage”)

@ApiOperation(“查询用户分页数据接口”)

@ApiImplicitParams({

@ApiImplicitParam(name = “UserQuery”, value = “用户查询对象”, defaultValue = “userQuery对象”)

})

@ResponseBody

@PreAuthorize(“hasRole(‘管理员’)”)

public PageList listpage(UserQuery userQuery){

return userService.listpage(userQuery);

//添加用户

@PostMapping(“/addUser”)

@ApiOperation(“添加用户接口”)

@ResponseBody

public Map<String,Object> addUser(User user){

Map<String, Object> ret = new HashMap<>();

ret.put(“code”,-1);

if(StringUtils.isEmpty(user.getUsername())){

ret.put(“msg”,“请填写用户名”);

return ret;

if(StringUtils.isEmpty(user.getPassword())){

ret.put(“msg”,“请填写密码”);

return ret;

if(StringUtils.isEmpty(user.getEmail())){

ret.put(“msg”,“请填写邮箱”);

return ret;

if(StringUtils.isEmpty(user.getTel())){

ret.put(“msg”,“请填写手机号”);

return ret;

if(StringUtils.isEmpty(user.getHeadImg())){

ret.put(“msg”,“请上传头像”);

return ret;

if(userService.addUser(user)<=0) {

ret.put(“msg”, “添加用户失败”);

return ret;

ret.put(“code”,0);

ret.put(“msg”,“添加用户成功”);

return ret;

/**

  • 修改用户信息操作

  • @param user

  • @return

*/

@PostMapping(“/editSaveUser”)

@ApiOperation(“修改用户接口”)

@PreAuthorize(“hasRole(‘管理员’)”)

@ResponseBody

public Message editSaveUser(User user){

if(StringUtils.isEmpty(user.getUsername())){

return Message.error(“请填写用户名”);

if(StringUtils.isEmpty(user.getEmail())){

return Message.error(“请填写邮箱”);

if(StringUtils.isEmpty(user.getTel())){

return Message.error(“请填写手机号”);

try {

userService.editSaveUser(user);

return Message.success();

} catch (Exception e) {

e.printStackTrace();

return Message.error(“修改用户信息失败”);

//添加用户

@GetMapping(“/deleteUser”)

@ApiOperation(“删除用户接口”)

@ApiImplicitParams({

@ApiImplicitParam(name = “id”, value = “如:88”,required = true)

})

@PreAuthorize(“hasRole(‘管理员’)”)

@ResponseBody

public AjaxResult deleteUser(@RequestParam(required = true) Long id){

AjaxResult ajaxResult = new AjaxResult();

try {

userService.deleteUser(id);

} catch (Exception e) {

e.printStackTrace();

return new AjaxResult(“删除失败”);

return ajaxResult;

@PostMapping(value=“/deleteBatchUser”)

@ApiOperation(“批量删除用户接口”)

@PreAuthorize(“hasRole(‘管理员’)”)

@ResponseBody

public AjaxResult deleteBatchUser(String ids){

String[] idsArr = ids.split(“,”);

List list = new ArrayList();

for(int i=0;i<idsArr.length;i++){

list.add(idsArr[i]);

try{

userService.batchRemove(list);

return new AjaxResult();

}catch(Exception e){

return new AjaxResult(“批量删除失败”);

//查询所有角色

public List queryAllRole(){

return roleService.queryAll();

//添加用户的角色

@PostMapping(“/addUserRole”)

@ApiOperation(“添加用户角色接口”)

@ApiImplicitParams({

@ApiImplicitParam(name = “paramMap”, value = “如:{userId:1,[1,2,3,4]]}”)

})

@ResponseBody

public AjaxResult addUserRole(@RequestBody Map paramMap){

AjaxResult ajaxResult = new AjaxResult();

String userId = (String)paramMap.get(“userId”);

List roleIds = (List) paramMap.get(“roleIds”);

try {

//添加用户对应的角色

roleService.addUserRole(userId,roleIds);

return ajaxResult;

}catch (Exception e){

e.printStackTrace();

return new AjaxResult(“保存角色失败”);

//添加用户

@RequestMapping(“/regSaveUser”)

@ResponseBody

public Long addTeacher(User user){

System.out.println(“保存用户…”+user);

userService.addUser(user);

//保存工作流程操作

IdentityService is = engine.getIdentityService();

// 添加用户组

org.activiti.engine.identity.User userInfo = userService.saveUser(is, user.getUsername());

// 添加用户对应的组关系

Group stuGroup = new GroupEntityImpl();

stuGroup.setId(“stuGroup”);

Group tGroup = new GroupEntityImpl();

tGroup.setId(“tGroup”);

if(user.getType() == 2) {

//保存老师组

userService.saveRel(is, userInfo, tGroup);

if(user.getType() == 3) {

//保存学生组

userService.saveRel(is, userInfo, stuGroup);

Long userId = user.getId();

return userId;

/**

  • 修改密码页面

  • @return

*/

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

public String updatePwd(){

return “views/user/update_pwd”;

/**

  • 修改密码操作

  • @param oldPwd

  • @param newPwd

  • @return

*/

@ResponseBody

@PostMapping(“/update_pwd”)

public Message updatePassword(@RequestParam(name=“oldPwd”,required=true)String oldPwd,

@RequestParam(name=“newPwd”,required=true)String newPwd){

String username = CommonUtils.getLoginUser().getUsername();

User userByUserName = userService.findUserByUserName(username);

if(userByUserName!=null){

String password = userByUserName.getPassword();

BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

boolean matches = bCryptPasswordEncoder.matches(oldPwd, password);

if(!matches){

return Message.error(“旧密码不正确”);//true

userByUserName.setPassword(bCryptPasswordEncoder.encode(newPwd));

if(userService.editUserPassword(userByUserName)<=0){

return Message.error(“密码修改失败”);

return Message.success();

/**

  • 清除缓存

  • @param request

  • @param response

  • @return

*/

@ResponseBody

@PostMapping(“/clear_cache”)

public Message clearCache(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setHeader(“Cache-Control”,“no-store”);

response.setHeader(“Pragrma”,“no-cache”);

response.setDateHeader(“Expires”,0);

return Message.success();

文件上传接口:

@Controller

@Api(tags = “文件上传接口”)

public class FileUpload {

@Autowired

private IUserService userService;

@Value(“${lyy.upload.path}”)

private String uploadPath;

@RequestMapping(value=“/file/uploadFile”, method= RequestMethod.POST)

@ResponseBody

public AjaxResult upload(HttpServletRequest req, Integer id, @RequestParam(“file”) MultipartFile file){

try {

if(file.isEmpty()){

return new AjaxResult(“文件为空”);

String fileName = file.getOriginalFilename();

String suffixName = fileName.substring(fileName.lastIndexOf(“.”));

String uuidString = UUID.randomUUID().toString();

String newFileName= uuidString + suffixName;

File path = new File(uploadPath);

if (!path.exists()) path.mkdirs();

File savefile = new File(path,newFileName);

if (!savefile.getParentFile().exists()) savefile.getParentFile().mkdirs();

file.transferTo(savefile);

//更新用户表的头像

User user = new User();

user.setId(Long.parseLong(id+“”));

user.setHeadImg(newFileName);

userService.updateUserHeadImg(user);

return new AjaxResult();

} catch (IOException e) {

e.printStackTrace();

return null;

@RequestMapping(value = “/showimage/{image_name}”)

public String showphoto(@PathVariable(“image_name”) String image_name,HttpServletRequest request, HttpServletResponse response)

throws Exception {

response.setDateHeader(“Expires”, 0);

response.setHeader(“Cache-Control”, “no-store, no-cache, must-revalidate”);

response.addHeader(“Cache-Control”, “post-check=0, pre-check=0”);

response.setHeader(“Pragma”, “no-cache”);

response.setContentType(“image/jpeg”);

// 获得的系统的根目录

File fileParent = new File(File.separator);

// 获得/usr/CBeann目录

File file = null ;

String os = System.getProperty(“os.name”);

ServletOutputStream out = response.getOutputStream();

try {

if (os.toLowerCase().startsWith(“win”)) { //如果是Windows系统

file = new File(uploadPath +“\”+ image_name);

} else { //linux 和mac

file = new File(fileParent, uploadPath.substring(1) +“/”+ image_name);

IOUtils.copy(new FileInputStream(file),out);

out.flush();

} finally {

out.close();

return null;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值