• SSM汽车出租管理系统


    作者主页:夜未央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+CSS+JavaScript+jquery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

    4. 运行项目,输入localhost:8080/ 登录

    运行截图

    前台用户界面

     

     

     

     

    管理员角色

     

     

     

     

     

    相关代码

     首页控制器

    1. @Controller
    2. @RequestMapping("/")
    3. public class IndexController {
    4. @Resource
    5. private UserService userService;
    6. @Resource
    7. private GonggaoService gonggaoService;
    8. @Resource
    9. private CarService carService;
    10. @Resource
    11. private PicService picService;
    12. @Resource
    13. private YudingService yudingService;
    14. @Resource
    15. private JiluService jiluService;
    16. @Resource
    17. private LiuyanService liuyanService;
    18. @Resource
    19. private VipService vipService;
    20. @Value("#{jdbc.pageSize}")
    21. private int pageSize;
    22. // 获取输出对象
    23. public PrintWriter getPrintWriter(HttpServletResponse response) {
    24. response.setCharacterEncoding("utf-8");
    25. response.setContentType("text/html; charset=utf-8");
    26. PrintWriter writer = null;
    27. try {
    28. writer = response.getWriter();
    29. } catch (IOException e) {
    30. e.printStackTrace();
    31. }
    32. return writer;
    33. }
    34. //网站首页
    35. @RequestMapping("/index.do")
    36. public String index(HttpServletRequest request,HttpServletResponse response){
    37. //网站公告
    38. request.setAttribute("gonggaolist", gonggaoService.selectBeanList(0, 8, null));
    39. //最新车辆
    40. request.setAttribute("carlist", carService.selectBeanList(0, 4, null,null,null,null));
    41. //展示图片
    42. request.setAttribute("piclist", picService.selectBeanList(0, 99));
    43. return "index.jsp";
    44. }
    45. //网站公告列表
    46. @RequestMapping("/gonggaolist.do")
    47. public String gonggaolist(HttpServletRequest request,String pagenum,String gbiaoti){
    48. //查询条件返回页面
    49. if (gbiaoti != null && !"".equals(gbiaoti)) {
    50. request.setAttribute("gbiaoti", gbiaoti);
    51. }
    52. //分页功能默认第一页
    53. int currentpage = 1;
    54. //获取当前页
    55. if (pagenum != null) {
    56. currentpage = Integer.parseInt(pagenum);
    57. }
    58. //查询列表
    59. List<Gonggao> list = gonggaoService.selectBeanList((currentpage - 1)* pageSize, pageSize, gbiaoti);
    60. //列表返回页面
    61. request.setAttribute("list", list);
    62. //获取总数量
    63. int total = gonggaoService.selectBeanCount(gbiaoti);
    64. //分页信息返回页面
    65. request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
    66. currentpage, "gonggaolist.do", "共有" + total + "条记录"));
    67. request.setAttribute("title", "网站公告");
    68. return "gonggaolist.jsp";
    69. }
    70. //网站公告详情页面
    71. @RequestMapping("/gonggaoview.do")
    72. public String gonggaoview(HttpServletRequest request,int id){
    73. Gonggao bean = gonggaoService.selectBeanById(id);
    74. request.setAttribute("bean", bean);
    75. request.setAttribute("title", "网站公告详情");
    76. return "gonggaoview.jsp";
    77. }
    78. //车辆列表
    79. @RequestMapping("/carlist.do")
    80. public String carlist(HttpServletRequest request,String pagenum,String pinpai,String xinghao,String yanse){
    81. //查询条件返回页面
    82. if (pinpai != null && !"".equals(pinpai)) {
    83. request.setAttribute("pinpai", pinpai);
    84. }
    85. if (xinghao != null && !"".equals(xinghao)) {
    86. request.setAttribute("xinghao", xinghao);
    87. }
    88. if (yanse != null && !"".equals(yanse)) {
    89. request.setAttribute("yanse", yanse);
    90. }
    91. //分页功能默认第一页
    92. int currentpage = 1;
    93. //获取当前页
    94. if (pagenum != null) {
    95. currentpage = Integer.parseInt(pagenum);
    96. }
    97. //查询列表
    98. List<Car> list = carService.selectBeanList((currentpage - 1)* pageSize, pageSize, null,pinpai,xinghao,yanse);
    99. //列表返回页面
    100. request.setAttribute("list", list);
    101. //获取总数量
    102. int total = carService.selectBeanCount(null,pinpai,xinghao,yanse);
    103. //分页信息返回页面
    104. request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
    105. currentpage, "carlist.do", "共有" + total + "条记录"));
    106. request.setAttribute("title", "车辆");
    107. return "carlist.jsp";
    108. }
    109. //车辆详情页面
    110. @RequestMapping("/carview.do")
    111. public String carview(HttpServletRequest request,int id){
    112. Car bean = carService.selectBeanById(id);
    113. request.setAttribute("bean", bean);
    114. request.setAttribute("title", "车辆详情");
    115. return "carview.jsp";
    116. }
    117. //跳转到用户注册页面
    118. @RequestMapping("/register.do")
    119. public String register(HttpServletRequest request){
    120. request.setAttribute("title", "用户注册");
    121. return "register.jsp";
    122. }
    123. //用户注册操作
    124. @RequestMapping("/register2.do")
    125. public void register2(HttpServletRequest request,HttpServletResponse response,User user){
    126. PrintWriter writer = this.getPrintWriter(response);
    127. User bean = userService.useryz(user.getUsername());
    128. if(bean!=null){
    129. writer.print("<script language=javascript>alert('该用户名已经存在,注册失败!');window.location.href='register.do';</script>");
    130. return;
    131. }
    132. bean = userService.sfzyz(user.getSfz());
    133. if(bean!=null){
    134. writer.print("<script language=javascript>alert('该身份证已经存在,注册失败!');window.location.href='register.do';</script>");
    135. return;
    136. }
    137. user.setCreatetime(Util.getTime());
    138. user.setRole(4);
    139. userService.insertBean(user);
    140. writer.print("<script language=javascript>alert('注册成功');window.location.href='login.do';</script>");
    141. }
    142. //跳转到用户登录页面
    143. @RequestMapping("/login.do")
    144. public String login(HttpServletRequest request){
    145. request.setAttribute("title", "用户登录");
    146. return "login.jsp";
    147. }

    管理员控制器

    1. @Controller
    2. @RequestMapping("/manage")
    3. public class ManageController {
    4. @Resource
    5. private UserService userService;
    6. @Resource
    7. private CarService carService;
    8. @Resource
    9. private GonggaoService gonggaoService;
    10. @Resource
    11. private PicService picService;
    12. @Resource
    13. private JiluService jiluService;
    14. @Resource
    15. private YudingService yudingService;
    16. @Resource
    17. private LiuyanService liuyanService;
    18. @Resource
    19. private RiService riService;
    20. @Resource
    21. private YueService yueService;
    22. @Resource
    23. private VipService vipService;
    24. @Value("#{jdbc.pageSize}")
    25. private int pageSize;
    26. // 获取输出对象
    27. public PrintWriter getPrintWriter(HttpServletResponse response) {
    28. response.setCharacterEncoding("utf-8");
    29. response.setContentType("text/html; charset=utf-8");
    30. PrintWriter writer = null;
    31. try {
    32. writer = response.getWriter();
    33. } catch (IOException e) {
    34. e.printStackTrace();
    35. }
    36. return writer;
    37. }
    38. //管理员登录
    39. @RequestMapping("/login.do")
    40. public void login(HttpServletRequest request,HttpServletResponse response,String username,String password,String role){
    41. PrintWriter writer = this.getPrintWriter(response);
    42. User user = userService.userlogin(username, password,Integer.parseInt(role));
    43. if(user==null){
    44. writer.print("<script language=javascript>alert('用户名或者密码错误');window.location.href='login.jsp';</script>");
    45. }else{
    46. HttpSession session = request.getSession();
    47. session.setAttribute("manage", user);
    48. writer.print("<script language=javascript>alert('登录成功');window.location.href='index.jsp';</script>");
    49. }
    50. }
    51. //安全退出
    52. @RequestMapping("/loginout.do")
    53. public void loginout(HttpServletRequest request,HttpServletResponse response,String username,String password){
    54. PrintWriter writer = this.getPrintWriter(response);
    55. HttpSession session = request.getSession();
    56. session.removeAttribute("manage");
    57. writer.print("<script language=javascript>alert('退出成功');window.location.href='login.jsp';</script>");
    58. }
    59. //跳转到修改密码页面
    60. @RequestMapping("/password.do")
    61. public String password(HttpServletRequest request){
    62. request.setAttribute("url", "password2.do");
    63. request.setAttribute("title", "修改密码");
    64. return "password.jsp";
    65. }
    66. //修改密码操作
    67. @RequestMapping("/password2.do")
    68. public void password2(HttpServletRequest request,HttpServletResponse response,String password1,String password2){
    69. PrintWriter writer = this.getPrintWriter(response);
    70. HttpSession session = request.getSession();
    71. User user = (User)session.getAttribute("manage");
    72. User bean = userService.userlogin(user.getUsername(), password1, user.getRole());
    73. if(bean!=null){
    74. bean.setPassword(password2);
    75. userService.updateBean(bean);
    76. writer.print("<script language=javascript>alert('修改成功');window.location.href='password.do';</script>");
    77. }else{
    78. writer.print("<script language=javascript>alert('用户名或者密码错误');window.location.href='password.do';</script>");
    79. }
    80. }
    81. //人员列表
    82. @RequestMapping("/userlist.do")
    83. public String userlist(HttpServletRequest request,String pagenum,String username){
    84. //查询条件返回页面
    85. if (username != null && !"".equals(username)) {
    86. request.setAttribute("username", username);
    87. }
    88. //分页功能默认第一页
    89. int currentpage = 1;
    90. //获取当前页
    91. if (pagenum != null) {
    92. currentpage = Integer.parseInt(pagenum);
    93. }
    94. //查询列表
    95. List<User> list = userService.selectBeanList((currentpage - 1)
    96. * pageSize, pageSize, username);
    97. //列表返回页面
    98. request.setAttribute("list", list);
    99. //获取总数量
    100. int total = userService.selectBeanCount(username);
    101. //分页信息返回页面
    102. request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
    103. currentpage, "userlist.do", "共有" + total + "条记录"));
    104. //查询按钮
    105. request.setAttribute("url", "userlist.do");
    106. //添加,更新,删除等按钮
    107. request.setAttribute("url2", "user");
    108. request.setAttribute("title", "人员管理");
    109. return "user/userlist.jsp";
    110. }

      如果也想学习本系统,下面领取。回复:90ssm 

  • 相关阅读:
    web网页设计期末课程大作业:家乡旅游主题网站设计——河北8页HTML+CSS+JavaScript
    全栈之前端 | 6.CSS3基础知识之网页几种布局方法学习(2)
    【SysBench】Linux 安装 sysbench-1.20
    webpack
    IntelliJ IDEA + spring-boot+mysql简单实现获取数据库数据接口例子
    关于“烫烫烫烫烫烫烫”的程序员笑话
    2023云计算发展趋势
    Python 操作Mysql
    Java手写插入排序和算法案例拓展
    网络安全深入学习第一课——热门框架漏洞(RCE-代码执行)
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/125479056