Java项目:租车服务系统(java+Servlet+JSP+JDBC+Mysql)

news/2024/5/18 23:11:34 标签: mysql, servlet, java, JSP, JDBC

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

系统基于租车业务场景而搭建的O2O服务平台,可为用户提供商务租车、接送机、旅游租车、企业租车、自驾租车、婚庆用车等自助租车服务。

系统根据相关版本提供相关内容服务。包含车辆库管理、司机管理、订单管理、活动管理、评价管理等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目: 否;

技术栈

Servlet、JSPJDBC、MySQL5.7、Tomcat8

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,然后运行;
3. 将项目中src/com/dao/DB.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入地址;
前台访问地址:http://localhost:8080/opencar/
后台访问地址:http://localhost:8080/opencar/admin/login
管理员账号/密码:admin/zft3285497

 

 

 

 

 

 

车辆管理控制层:

@Controller
@RequestMapping(value = "/car")
public class CarController {
    CarService orderService = new CarService();
    CarOutService outOrderService = new CarOutService();


    /**
     * Code = "200"  成功存入
     * Code = "202"  输入存在问题
     * Code = "203"  系统错误
     * @param sender_id
     * @param carName
     * @param stringPrice
     * @return
     */
    @RequestMapping(value = "/userAddCar", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg userAddCar(int sender_id, String carName, String stringPrice) {
        int price = 0;
        try {
            price = Integer.parseInt(stringPrice);
        } catch (Exception e) {
            System.out.println("Chenjie Debug");
            e.printStackTrace();
        }
        JsonMsg jsonMsg = new JsonMsg();
        if (price < 0 || carName == null) {
            jsonMsg.setCode("202");
            jsonMsg.setData(0);
        }
        try {
            int i = orderService.addCar(carName, price, "还没有实现照片上传");
            System.out.println("addCar之后的返回值是:"+i);
            if (i >= 1) {
                int r = outOrderService.add(sender_id, carName, price, "还没有实现照片上传");
                if (r == 1) {
                    jsonMsg.setCode("200");
                    jsonMsg.setData(1);
                } else {
                    jsonMsg.setCode("2031");
                    jsonMsg.setData(-1);
                }
            } else {
                jsonMsg.setCode("2032");
                jsonMsg.setData(-1);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("2033");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

}

用户管理控制层:

@Controller
@RequestMapping(value = "/user")
public class UserManageController {
    UserService userService = new UserService();
    SendMailService sendMailService = new SendMailService();


    /**
     * Code:200 Data=userBean 用户信息正确
     * Code:205 Data=0 用户不存在
     * Code:206 Data=-3 用户密码错误
     * Code:207 Data=-2 用户账户被重复
     * Code:404 Data=-1 catch异常
     *
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value = "/userLogin", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg userLogin(String username, String password) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (userService.getUserByName(username).size() == 0) {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            } else if (userService.getUserByName(username).size() != 1) {
                jsonMsg.setCode("207");
                jsonMsg.setData(-2);
            }
            else{
                int id;
                if(!userService.getUserByName(username).get(0).getPassword().equals(password))
                {
                    jsonMsg.setCode("206");
                    jsonMsg.setData(-3);
                } else {
                    id = userService.getUserByName(username).get(0).getId();
                    jsonMsg.setCode("200");
                    jsonMsg.setData(userService.getUserById(id));
                }
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 注册用户
     * Code="200",Data=1(int)则注册成功
     * Code="202",Data=0 (int)注册失败,用户已经存在
     * Code="404"  Data=-1页面丢失
     *
     * @param username
     * @param password
     * @param email
     * @return
     */

    @RequestMapping(value = "/userRegister", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg addUser(String username, String password, String email) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            int result =
                    userService.addUser(username, password, email, null, null, 0);
            if (result == 0) {
                jsonMsg.setData(0);
                jsonMsg.setCode("202");
            } else {
                jsonMsg.setData(1);
                jsonMsg.setCode("200");
            }


        } catch (Exception e) {
            jsonMsg.setData(-1);
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }


    /**
     * 删除用户(管理员操作)
     * Code=200,Data=1,删除成功
     * Code=202,Data=0,删除失败
     * Code=404,Data=-1页面丢失
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/userDelete", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg removeUserById(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {

            int i = userService.removeUserById(id);
            if (i == 1) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 发送邮件
     * Code=200 Data=1发送成功
     * Code=205 Data=0发送失败
     * Code=404 Data=-1页面失效
     *
     * @param email
     * @param username
     * @return
     */
    @RequestMapping(value = "/sendEmail", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg sendEmail(String email, String username) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (sendMailService.sendmail(email, username)) {
                jsonMsg.setCode("200");
                jsonMsg.setData(1);
            } else {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            }

        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * Code=404 Data=-1 抛出异常不做改变
     * Code=202 Data=0 不变/修改无效
     * Code=202 Data=-2 id不存在
     * Code=202 Data=-3 名字修改时产生重复
     * Code=200 Data>=1 修改成功 Data=修改的信息数量
     * 参数都可以为null,但是id为null无法更新
     * null的参数不做更新
     * @param id
     * @param username
     * @param password
     * @param email
     * @param description
     * @param pic
     * @param money
     * @return
     */
    @RequestMapping(value = "/userUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg updateUser(int id,String username,String password,String email,String description,String pic,String money)
    {
        int status=0;
        JsonMsg jsonMsg=new JsonMsg();
        UserBean ub=new UserBean();
        ub.setUserName(username);
        ub.setPassword(password);
        ub.setEmail(email);
        ub.setDescription(description);
        ub.setPic(pic);
        try {
            ub.setMoney(Integer.parseInt(money));
        } catch (Exception e) {
            ub.setMoney(Integer.MIN_VALUE);
        }
        try {
            status = userService.updateUserById(id, ub);
            jsonMsg.setData(status);
            if (status >= 1) {
                jsonMsg.setCode("200");
            } else {
                jsonMsg.setCode("202");
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }

        return jsonMsg;
    }


    /**
     * JsonMsg ID具体查找用户
     * Code:404,Data=-1查找失败
     * Code:200,Data=UserBean 查找成功
     * Code:202,Data=0,没有查到
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/userLocate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getUserByID(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            //admin-->曹威杰:我觉得这里的代码写的有点奇怪。我改了一下
/*            List<UserBean> users= userService.getUserById(id);
            if(users.size()==0)
            {
                jsonMsg.setData(0);
                jsonMsg.setCode("202");
            }
            else if(users.size()==1){
                jsonMsg.setData(users.get(0));
                jsonMsg.setCode("200");
            }
            else{
                throw new SQLException("用户名被重复,sql出现问题");
            }*/


            UserBean user = userService.getUserById(id);
            if(user!=null){
                jsonMsg.setCode("200");
                jsonMsg.setData(user);
            } else {
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }

            //曹威杰:以上就是我的修改
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }


    /**
     * Code200,Data List<UserBean>
     * Code404.Data -1 取出失败
     *
     * @return
     */
    @RequestMapping(value = "/userTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getUsers() {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            jsonMsg.setData(userService.getAllUserBean());
            jsonMsg.setCode("200");
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }


    /**
     * Code200,UserBean
     * Code202,用户不存在
     * Code404 用户被重复/
     * Code404.Data -1 取出失败
     * @return
     */
    @RequestMapping(value = "/getUserByName", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg getUsersByName(String username)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            List<UserBean> users= userService.getUserByName(username);
            if(users.size()==0)
            {
                jsonMsg.setData(0);
                jsonMsg.setCode("202");
            }
            else if(users.size()==1){
                jsonMsg.setData(users.get(0));
                jsonMsg.setCode("200");
            }
            else{
                throw new SQLException("用户名被重复,sql出现问题");
            }

        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }
}

管理员管理控制层:

@Controller
@RequestMapping(value = "/admin")
public class AdminManageController {

    public static void main(String[] args) {
    }

    AdminService adminService = new AdminService();

    SendMailService sendMailService = new SendMailService();

    /**
     * Code:200 Data=id (id是String类型)管理员信息正确
     * Code:205 Data=0 管理员不存在
     * Code:206 Data=-3 管理员密码错误
     * Code:207 Data=-2 管理员账户被重复
     * Code:404 Data=-1 catch异常
     *
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value = "/adminLogin", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg adminLogin(String username, String password) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (adminService.getAdminByName(username).size() == 0) {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            } else if (adminService.getAdminByName(username).size() != 1) {
                jsonMsg.setCode("207");
                jsonMsg.setData(-2);
            }
            else{
                int id;
                if(!adminService.getAdminByName(username).get(0).getPassword().equals(password))
                {
                    jsonMsg.setCode("206");
                    jsonMsg.setData(-3);
                } else {
                    id = adminService.getAdminByName(username).get(0).getId();
                    jsonMsg.setCode("200");
                    jsonMsg.setData(adminService.getAdminById(id));
                }
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * Code=404 Data=-1 抛出异常不做改变
     * Code=202 Data=0 不变/修改无效
     * Code=202 Data=-2 id不存在
     * Code=202 Data=-3 名字修改时产生重复
     * Code=200 Data>=1 修改成功 Data=修改的信息数量
     * 参数都可以为null,但是id为null无法更新
     * null的参数不做更新
     *
     * @param id
     * @param username
     * @param password
     * @param email
     * @param description
     * @param pic
     * @return
     */
    @RequestMapping(value = "/adminUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg updateAdmin(int id,String username,String password,String email,String description,String pic)
    {
        int status=0;
        JsonMsg jsonMsg=new JsonMsg();
        AdminBean ub=new AdminBean();
        ub.setUsername(username);
        ub.setPassword(password);
        ub.setEmail(email);
        ub.setDescription(description);
        ub.setPic(pic);
        try {
            status = adminService.updateUserById(id, ub);
            jsonMsg.setData(status);
            if (status >= 1) {
                jsonMsg.setCode("200");
            } else {
                jsonMsg.setCode("202");
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 向user的email发邮件
     *
     * @param email
     * @param username
     * @return
     */
    @RequestMapping(value = "/sendEmail", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg sendEmail(String email, String username) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (sendMailService.sendmail(email, username)) {
                jsonMsg.setCode("200");
                jsonMsg.setData("Send Email Success");
            } else {
                jsonMsg.setCode("205");
                jsonMsg.setData("Send Email Failed");
            }

        } catch (Exception e) {
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }


//    @RequestMapping(value = "/login", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg login(String username, String password) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            if (adminService.getAdminByNamePassword(username, password).size() == 0) {
//                jsonMsg.setCode("205");
//            } else {
//                jsonMsg.setCode("200");
//            }
//            jsonMsg.setData(adminService.getAdminByNamePassword(username, password));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }
//
//    @RequestMapping(value = "/getAdminByid", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg login(String id) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            jsonMsg.setCode("200");
//            jsonMsg.setData(adminService.getAdminById(id));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }


//    /**
//     * 这个是用来注册管理员
//     * 我加了一个Deprecated的annotation
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/register", method = RequestMethod.GET)
//    @ResponseBody
//    @Deprecated
//    public JsonMsg addAdmin(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            jsonMsg.setCode("200");
//            jsonMsg.setData(adminService.addAdmin(username, password, email));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }
//
//    /**
//     * 用来注册普通用户
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/registerUser", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg addUser(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        jsonMsg.setCode("200");
//        jsonMsg.setData(1);
//        return jsonMsg;
//    }
//
//    @RequestMapping(value="/userLogin",method=RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg userLogin(String username, String password){
//        return null;
//    }

}

 源码获取:俺的博客首页 "资源" 里下载!


http://www.niftyadmin.cn/n/1553466.html

相关文章

Java项目:小说阅读系统(java+SpringBoot+VUE+Maven+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff…

Java项目:果园采摘园系统(java+SSM+JSP+jQuery+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 管理员角色&#xff1a; 管理员登录,管理员信息管理,用户信息查询,新闻公告管理,采摘园类型管理,采摘基地管理,管理用户提交的订单,管理评价等功能。 用户角色包含以下功能&#xff1a; 查看…

Java项目:微信小程序商城+后台管理系统(java+SSH+JSP+jQuery+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 本项目为小程序商城系统前后台&#xff0c;前台为普通会员用户登录&#xff0c;后台为管理员登录&#xff1b; 程序功能&#xff1a; 1.小程序前台&#xff1a;用户注册登录、首页、轮播图、…

Java项目:酒店预订管理系统(java+SpringBoot+Vue+Maven+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

Java项目:学生考勤系统(java+SpringBoot+Vue+mybatis+Maven+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

AIX 系统软件 32bit与64bit转换详解(转)

一、修改kernel首先用如下命令確定當前的所使用的kernel&#xff1a; (也可用bootinfo -k)# ls -l /unix lrwxrwxrwx 1 root system 21 May 06 2001 /unix -> /usr/lib/boot/unix_mp 為32位內核。 # ls -l /unix lrwxrwxrwx 1 root system 21 May 06 2001 /unix -> /usr/…

修改online redo日志文件大小

要将日志文件组1&#xff0c;2&#xff0c;3从100M修改到200M方法如下$ lscontrol01.ctl drsys01.dbf redo01.log temp01.dbf xdb01.dbfcontrol02.ctl example01.dbf redo02.log tools01.dbfcontrol03.ctl indx01.dbf redo03.log undotbs01.dbfcwml…

Java项目:物资管理系统(java+SpringBoot+Vue+Maven+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…