基于javaweb的服装出租租赁管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

基于javaweb的服装出租租赁管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220819205007

20220819205008

20220819205009

20220819205010

20220819205011

20220819205012

基于javaweb+mysql的服装出租租赁管理系统(java+SSM+JSP+bootstrap+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.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+bootstrap+jQuery

使用说明

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

用户管理控制器:

/**

  • 用户管理控制器

*/

@RestController

@RequestMapping(“user”)

public class UserController {

@Autowired

private UserService userService;

/*

  • 加载用户列表返回DataGridView

*/

@RequestMapping(“loadAllUser”)

public DataGridView loadAllmeenu(UserVo userVo) {

return this.userService.queryAllUser(userVo);

/*

  • 注册用户–查询用户名是否存在

*/

@RequestMapping(“queryLoginName”)

public ResultObj queryLoginName(UserVo userVo) {

Integer count = this.userService.queryLoginName(userVo.getLoginname());

if (count != 0) {

return ResultObj.USER_EXIST;

return null;

/*

  • 注册用户

*/

@RequestMapping(“signup”)

public ResultObj signup(UserVo userVo) {

try {

String code = WebUtils.getHttpSession().getAttribute(“code”).toString();

if (userVo.getCode().toLowerCase().equals(code)) {

this.userService.signUpUser(userVo);

return ResultObj.SIGNUP_SUCCESS;

} else {

return ResultObj.USER_SIGNUP_CODE_ERROR_MSG;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.SIGNUP_ERROR;

/*

  • 添加用户

*/

@RequestMapping(“addUser”)

public ResultObj addUser(UserVo userVo) {

try {

this.userService.addUser(userVo);

return ResultObj.ADD_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

/*

  • 修改用户

*/

@RequestMapping(“updateUser”)

public ResultObj updateUser(UserVo userVo) {

try {

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());

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

/*

  • 批量删除用户

*/

@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;

/*

  • 重置用户密码

*/

@RequestMapping(“resetUserPwd”)

public ResultObj resetUserPwd(UserVo userVo) {

try {

this.userService.resetUserPwd(userVo.getUserid());

return ResultObj.RESET_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.RESET_ERROR;

/*

  • 加载用户管理分配的分配角色的数据

*/

@RequestMapping(“initUserRole”)

public DataGridView initUserRole(UserVo userVo) {

return this.userService.queryUserRole(userVo.getUserid());

/*

  • 保存用户和角色的关系

*/

@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(“updateUserInfo”)

public ResultObj updateUserInfo(UserVo userVo) {

try {

String headimg = userVo.getHeadimg();

if (headimg.endsWith(SysConstast.FILE_UPLOAD_TEMP)) {

String filePath = AppFileUtils.updateFileName(headimg, SysConstast.FILE_UPLOAD_TEMP);

userVo.setHeadimg(filePath);

// 把原来的删除

User user = this.userService.queryUserInfo(userVo.getUserid());

AppFileUtils.removeFileByPath(user.getHeadimg());

this.userService.updateUserInfo(userVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.UPDATE_ERROR;

/*

  • 查询个人信息

*/

@RequestMapping(“queryUserInfo”)

public User queryUserInfo() {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

user = this.userService.queryUserInfo(user.getUserid());

return user;

/*

  • 查询密码

*/

@RequestMapping(“queryPwd”)

public ResultObj queryPwd(UserVo userVo) {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

user = this.userService.queryUserInfo(user.getUserid());

// 生成密文

String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());

userVo.setPwd(pwd);

if (userVo.getPwd().equals(user.getPwd())) {

return ResultObj.PWD_SUCCESS;

} else {

return ResultObj.PWD_ERROR;

/*

  • 更改密码之查询密码

*/

@RequestMapping(“updatePwd”)

public ResultObj updatePwd(UserVo userVo) {

try {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

// 生成密文

String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());

userVo.setUserid(user.getUserid());

userVo.setPwd(pwd);

// 修改密码

this.userService.updateUser(userVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

return ResultObj.UPDATE_ERROR;

公告管理控制器:

/**

  • 公告管理控制器

*/

@RestController

@RequestMapping(“news”)

public class NewsController {

@Autowired

private NewsService newsService;

/*

  • 加载公告列表返回DataGridView

*/

@RequestMapping(“loadAllNews”)

public DataGridView loadAllmeenu(NewsVo newsVo) {

return this.newsService.queryAllNews(newsVo);

/*

  • 添加公告

*/

@RequestMapping(“addNews”)

public ResultObj addNews(NewsVo newsVo) {

try {

newsVo.setCreatetime(new Date());

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

newsVo.setOpername(user.getRealname());

this.newsService.addNews(newsVo);

return ResultObj.ADD_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

/*

  • 删除公告

*/

@RequestMapping(“deleteNews”)

public ResultObj deleteNews(NewsVo newsVo) {

try {

this.newsService.deleteNews(newsVo.getId());

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

/*

  • 更新公告

*/

@RequestMapping(“updateNews”)

public ResultObj updateNews(NewsVo newsVo) {

try {

this.newsService.updateNews(newsVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.UPDATE_ERROR;

/*

  • 批量删除公告

*/

@RequestMapping(“deleteBatchNews”)

public ResultObj deleteBatchNews(NewsVo newsVo) {

try {

this.newsService.deleteBatchNews(newsVo.getIds());

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

/*

  • 根据id查询公告

*/

@RequestMapping(“loadNewsById”)

public News loadNewsById(Integer id) {

return this.newsService.queryNewsById(id);

/*

  • 翻译接口测试

*/

@RequestMapping(“baiduTranslate”)

public String baiduTranslate(NewsVo newsVo) {

String APP_ID = “20200721000523250”;

String SECURITY_KEY = “1hLTMQWfCfmv8V0zMAlQ”;

// TransApi api = new TransApi(APP_ID, SECURITY_KEY);

//

// String query = newsVo.getContent();

// String transResult = api.getTransResult(query, “zh”, “jp”);

// return transResult;

return “”;

用户登录控制器:

/*

  • 用户登录控制器

*/

@Controller

@RequestMapping(“login”)

public class LoginController {

@Autowired

private UserService userService;

@Autowired

private LogInfoService logInfoService;

/*

  • 跳转到登录页面

*/

@RequestMapping(“toLogin”)

public String tologin() {

return “system/main/login”;

/*

  • 登录方法

*/

@RequestMapping(“login”)

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)) {

User user = this.userService.login(userVo);

if (null != user) {

// 放入session

WebUtils.getHttpSession().setAttribute(“user”, user);

WebUtils.getHttpSession().setMaxInactiveInterval(240 * 60);

// 记录登录日志 向sys_login_log插入数据

LogInfoVo logInfoVo = new LogInfoVo();

logInfoVo.setLoginname(user.getRealname() + “-” + user.getLoginname());

logInfoVo.setLogintime(new Date());

// 外网Ip:WebUtils.getHttpServletRequest().getRemoteAddr()

// 内网ip:

InetAddress addr;

try {

addr = (InetAddress) InetAddress.getLocalHost();

logInfoVo.setLoginip(addr.getHostAddress().toString());// 获取Id地址

} catch (UnknownHostException e) {

e.printStackTrace();

// 添加

logInfoService.addLogInfo(logInfoVo);

return “system/main/index”;

} else {

model.addAttribute(“error”, SysConstast.USER_LOGIN_ERROR_MSG);

return “system/main/login”;

// } else {

// model.addAttribute(“error”, SysConstast.USER_LOGIN_CODE_ERROR_MSG);

// return “system/main/login”;

// }

} else {

return “system/main/login”;

};

/**

  • 得到登录验证码

  • @throws IOException

*/

@RequestMapping(“getCode”)

public void getCode(HttpServletResponse response, HttpSession session) throws IOException {

// 定义图形验证码的长和宽

LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36, 4, 50);

Console.log(lineCaptcha.getCode());

session.setAttribute(“code”, lineCaptcha.getCode());

ServletOutputStream outputStream = response.getOutputStream();

ImageIO.write(lineCaptcha.getImage(), “JPEG”, outputStream);


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理:管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理:管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计技术实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值