基于javaweb+mysql的ssm画室管理系统(java+ssm+jsp+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM画室管理系统(java+ssm+jsp+jquery+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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目;
6.数据库:MySql 5.7、8.0等版本均可;
技术栈
-
后端:Spring+springmvc+mybatis
-
前端:JSP+css+javascript+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目;
-
将项目中config/db.properties配置文件中的数据库配置改为自己的配置;
-
运行项目,在浏览器中输入http://localhost:8080/ 登录;
用户账号/密码: user/123456
管理员账号/密码:admin/admin
public String login(UserVo userVo, Model model) {
// 最外层的if是判断session是否为空 为空就跳转到登录界面
// uservo不可能为空的,只是里面的属性可能为空 所以要判断session是否为空 就要判断里面的属性 而不是判断userVo本身 (坑!)
if (null != userVo.getLoginname()) {
// String code = WebUtils.getHttpSession().getAttribute("code").toString();// if (userVo.getCode().toLowerCase().equals(code)) {
Useruser=this.userService.login(userVo);
if (null != user) {
// 放入session
WebUtils.getHttpSession().setAttribute("user", user);
WebUtils.getHttpSession().setMaxInactiveInterval(240 * 60);
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 重置用户密码
*/
@RequestMapping("resetUserPwd")
public ResultObj resetUserPwd(UserVo userVo) {
try {
this.userService.resetUserPwd(userVo.getUserid());
return ResultObj.RESET_SUCCESS;
} catch (Exception e) {
} else {
return"system/main/login";
};
/**
* 得到登录验证码
* @throws IOException
*/
@RequestMapping("getCode")
publicvoidgetCode(HttpServletResponse response, HttpSession session)throws IOException {
// 定义图形验证码的长和宽
LineCaptchalineCaptcha= CaptchaUtil.createLineCaptcha(116, 36, 4, 50);
*/
@RequestMapping("saveUserRole")
public ResultObj saveUserRole(UserVo userVo) {
try {
this.userService.saveUserRole(userVo);
return ResultObj.DISPATCH_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DISPATCH_ERROR;
/*
* 修改个人信息
*/
* 添加角色
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo) {
try {
this.roleService.addRole(roleVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
/*
* 修改角色
*/
@RequestMapping("updateRole")
public ResultObj updateUserInfo(UserVo userVo) {
try {
Stringheadimg= userVo.getHeadimg();
if (headimg.endsWith(SysConstast.FILE_UPLOAD_TEMP)) {
StringfilePath= AppFileUtils.updateFileName(headimg, SysConstast.FILE_UPLOAD_TEMP);
userVo.setHeadimg(filePath);
// 把原来的删除
Useruser=this.userService.queryUserInfo(userVo.getUserid());
AppFileUtils.removeFileByPath(user.getHeadimg());
this.userService.updateUserInfo(userVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
/*
* 批量删除用户
*/
@RequestMapping("deleteBatchUser")
public ResultObj deleteBatchUser(UserVo userVo) {
try {
this.userService.deleteBatchUser(userVo.getIds());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
/*
* 删除角色
*/
@RequestMapping("deleteRole")
public ResultObj deleteRole(RoleVo roleVo) {
try {
this.roleService.deleteRole(roleVo.getRoleid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
/**
* 角色管理控制器
*/@RestController@RequestMapping("role")publicclassRoleController {
@Autowired
private RoleService roleService;
/*
* 加载角色列表返回DataGridView
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllmeenu(RoleVo roleVo) {
returnthis.roleService.queryAllRole(roleVo);
/*
* 添加角色
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 加载角色管理分配菜单的JSON
*/
@RequestMapping("initRoleMenuTreeJson")
public DataGridView initRoleMenuTreeJson(Integer roleid) {
System.out.println(roleid);
returnthis.roleService.initRoleMenuTreeJson(roleid);
/*
* 保存角色与菜单的关系
*/
@RequestMapping("saveRoleMenu")
@RequestMapping("loadAllUser")
public DataGridView loadAllmeenu(UserVo userVo) {
returnthis.userService.queryAllUser(userVo);
/*
* 注册用户--查询用户名是否存在
*/
@RequestMapping("queryLoginName")
public ResultObj queryLoginName(UserVo userVo) {
Integercount=this.userService.queryLoginName(userVo.getLoginname());
if (count != 0) {
return ResultObj.USER_EXIST;
*/@RestController@RequestMapping("role")publicclassRoleController {
@Autowired
private RoleService roleService;
/*
* 加载角色列表返回DataGridView
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllmeenu(RoleVo roleVo) {
returnthis.roleService.queryAllRole(roleVo);
/*
} else {
return ResultObj.USER_SIGNUP_CODE_ERROR_MSG;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.SIGNUP_ERROR;
/*
* 添加用户
*/
@RequestMapping("addUser")
public ResultObj addUser(UserVo userVo) {
@RequestMapping("loadAllRole")
public DataGridView loadAllmeenu(RoleVo roleVo) {
returnthis.roleService.queryAllRole(roleVo);
/*
* 添加角色
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo) {
try {
this.roleService.addRole(roleVo);
try {
this.roleService.deleteRole(roleVo.getRoleid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 批量删除角色
*/
@RequestMapping("deleteBatchRole")
public ResultObj deleteBatchRole(RoleVo roleVo) {
try {
/*
* 加载角色列表返回DataGridView
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllmeenu(RoleVo roleVo) {
returnthis.roleService.queryAllRole(roleVo);
/*
* 添加角色
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo) {
try {
return ResultObj.UPDATE_ERROR;
/*
* 删除用户
*/
@RequestMapping("deleteUser")
public ResultObj deleteUser(UserVo userVo) {
System.out.println(userVo);
System.out.println(userVo.getUserid());
try {
this.userService.deleteUser(userVo.getUserid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
this.userService.updateUser(userVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
/*
* 删除用户
*/
@RequestMapping("deleteUser")
public ResultObj deleteUser(UserVo userVo) {
System.out.println(userVo);
System.out.println(userVo.getUserid());
try {
this.userService.deleteUser(userVo.getUserid());