0
点赞
收藏
分享

微信扫一扫

基于javaweb+jsp的企业车辆管理系统

杰森wang 2022-03-30 阅读 52

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap.

基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可

开发工具:eclipse/idea/myeclipse/sts等均可配置运行

适用

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

    </form>
</div>

</body>
<script type="text/javascript">
    //提交之前进行检查,如果return false,则不允许提交
    function check() {
        //根据ID获取值
        if (document.getElementById("carPai").value.trim().length == 0) {
            alert("车牌不能为空!");
            return false;
        }
        if (document.getElementById("carName").value.trim().length == 0) {
            alert("品牌型号不能为空!");
            return false;
        }
        if (document.getElementById("carChexing").value.trim().length == 0) {
            alert("车型不能为空!");
            return false;
        }
    function check() {
        //根据ID获取值
        if (document.getElementById("carPai").value.trim().length == 0) {
            alert("车牌不能为空!");
            return false;
        }
        if (document.getElementById("carName").value.trim().length == 0) {
            alert("品牌型号不能为空!");
            return false;
        }
        if (document.getElementById("carChexing").value.trim().length == 0) {
            alert("车型不能为空!");
            return false;
        }
        if (document.getElementById("carCheng").value.trim().length == 0) {
            alert("里程不能为空!");
            return false;
<jsp:include page="menu.jsp"/>
<div class="index-content">
    <div class="index-content-operation">
        <a class="info-detail">添加车辆</a>
        <br>
        <br>
    </div>
    <br>
    <form action="CarServlet?action=add" method="post" onsubmit="return check()">
        <table class="index-content-table-add">
            <tr>
                <td width="12%">车牌:</td><td><input class="index-content-table-td-add" type="text" id="carPai" name="carPai" value=""/></td>
            </tr>
            <tr>
                <td width="12%">购买日期:</td><td><input class="index-content-table-td-add" type="text" id="carIndate" name="carIndate" value="${vo.carIndate}"/></td>
            </tr>
            <tr>
                <td width="12%">状态:</td>
                <td>
                   <input name="carStatus" type="radio" value="正常" ${vo.carStatus=='正常'?'checked':''}/>&nbsp;&nbsp;&nbsp;正常&nbsp;&nbsp;&nbsp;&nbsp;
                   <input name="carStatus" type="radio" value="故障" ${vo.carStatus=='故障'?'checked':''}/>&nbsp;&nbsp;&nbsp;故障&nbsp;&nbsp;&nbsp;&nbsp;
                </td>
            </tr>
            <tr>
                msg = "修改成功!";
            }
            request.getSession().setAttribute("alert_msg", msg);
            request.getRequestDispatcher("reset_password.jsp").forward(request, response);
        } else {
            response.sendRedirect("login.jsp");
        }
    }

    /**
     * 处理Get请求
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
                   <input name="userType" type="radio" value="普通用户" ${vo.userType=='普通用户'?'checked':''}/>&nbsp;&nbsp;&nbsp;普通用户&nbsp;&nbsp;&nbsp;&nbsp;
                </td>
            </tr>
        </table>
        <br>
        <br>
        <br>
        &nbsp;&nbsp;&nbsp;<button type="submit" class="btn btn-grad btn-success btn-sm">提交</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type="button" class="btn btn-grad btn-default btn-sm" onclick="javascript:history.back(-1);">取消</button>
    </form>
</div>

</body>
<script type="text/javascript">
    //提交之前进行检查,如果return false,则不允许提交
        <a class="info-detail">添加车辆</a>
        <br>
        <br>
    </div>
    <br>
    <form action="CarServlet?action=add" method="post" onsubmit="return check()">
        <table class="index-content-table-add">
            <tr>
                <td width="12%">车牌:</td><td><input class="index-content-table-td-add" type="text" id="carPai" name="carPai" value=""/></td>
            </tr>
            <tr>
                <td width="12%">品牌型号:</td><td><input class="index-content-table-td-add" type="text" id="carName" name="carName" value=""/></td>
            </tr>
            <tr>
                <td width="12%">车型:</td><td><input class="index-content-table-td-add" type="text" id="carChexing" name="carChexing" value=""/></td>
            </tr>
            <tr>
                <td width="12%">里程:</td><td><input class="index-content-table-td-add" type="text" id="carCheng" name="carCheng" value=""/></td>
            </tr>
            <tr>
                <td width="12%">购买日期:</td><td><input class="index-content-table-td-add" type="text" id="carIndate" name="carIndate" value=""/></td>
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }


    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    public int getStartIndex() {
        return startIndex;
    }
            e.printStackTrace();
            return false;
        }
    }

    //@Override
    public Car get(Serializable id) {
        Car vo = null;
        try {
            Connection c = Util.getConnection();
            Statement s = c.createStatement();
            String sql = "select * from `t_car` where id = " + id;
            }
            if (isMessyCode(str)) {
                str = new String(str.getBytes("ISO-8859-1"), "GB2312");
            }
            if (isMessyCode(str)) {
                str = new String(str.getBytes("GBK"), "GB2312");
            }
            if (isMessyCode(str)) {
                str = new String(str.getBytes("UTF-8"), "GBK");
            }
            if (isMessyCode(str)) {
                str = new String(str.getBytes("ISO-8859-1"), "GBK");
            }
import com.demo.vo.Car;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

//@WebServlet("/AuthServlet")
public class AuthServlet extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }
}
package com.demo.vo;

import java.io.Serializable;

/**
 * 车辆(t_car表对应的Java实体类)
 */
public class Car implements Serializable {
    private Long id;//主键
/**
 * 列表页面的显示对象
 *
 * @param <T>
 */
public class PageBean<T> {
    private List<T> list;//根据条件查询出来的list集合
    private int totalRecord;//根据条件查询出来的数量

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public int getTotalRecord() {
        return totalRecord;
    }

                            <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if>
                    οnclick="window.location.href='CarServlet?action=editPre&id=${vo.id}'">编辑</button>&nbsp;
                    <button class="btn btn-grad btn-success btn-sm" style="padding: 0px 1px;" <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> οnclick="if(window.confirm('将要删除:${vo.carName}?'))window.location.href='CarServlet?action=delete&id=${vo.id}'">删除</button>
                </td>
            </tr>
        </c:forEach>
        </tbody>
    </table>
    <div style="float: right;padding-right: 10px;color: #515151;"><jsp:include page="split.jsp"/></div>
</div>
</body>
<script>
    function searchList() {
        window.location.href = "CarServlet?action=list&searchColumn="+document.getElementById("searchColumn").value+"&keyword=" + document.getElementById("search_keyword").value;
    }
</script>
    //开始索引,也就是我们在数据库中要从第几行数据开始拿,有了startIndex和pageSize,
    //就知道了limit语句的两个数据,就能获得每页需要显示的数据了
    private int startIndex;
    //分页显示的页数,比如在页面上显示1,2,3,4,5页,start就为1,end就为5,这个也是算过来的
    private int start;
    private int end;

    private String servlet;//查询时要请求的接口
    private String searchColumn;//待模糊查询的列
    private String keyword;//待模糊查询的关键字

    //通过pageNum,pageSize,totalRecord计算得来tatalPage和startIndex,构造方法中将pageNum,pageSize,totalRecord获得
    public PageBean(int pageNum, int totalRecord) {
        this.pageNum = (pageNum = Math.max(pageNum, 1));
        this.start = 1;
        this.end = 5;
        //显示页数的算法
        if (totalPage <= 5) {
            //总页数都小于5,那么end就为总页数的值了。
            this.end = this.totalPage;
        } else {
            //总页数大于5,那么就要根据当前是第几页,来判断start和end为多少了,
            this.start = pageNum - 2;
            this.end = pageNum + 2;
            if (start < 0) {
                //比如当前页是第1页,或者第2页,那么就不如和这个规则,
                this.start = 1;
                this.end = 5;
            }
            if (end > this.totalPage) {
                //比如当前页是倒数第2页或者最后一页,也同样不符合上面这个规则
                this.end = totalPage;
                this.start = end - 5;

import com.demo.util.Util;
import com.demo.service.NoticeService;
import com.demo.service.impl.NoticeServiceImpl;
import com.demo.vo.Notice;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 车辆模块的DAO层(数据层)的具体实现类,对CarDAO接口中定义的增删改查等抽象方法作出具体的功能实现
 */
public class CarDAOImpl implements CarDAO {

        } else {
            //总页数大于5,那么就要根据当前是第几页,来判断start和end为多少了,
            this.start = pageNum - 2;
            this.end = pageNum + 2;
            if (start < 0) {
                //比如当前页是第1页,或者第2页,那么就不如和这个规则,
                this.start = 1;
                this.end = 5;
            }
            if (end > this.totalPage) {
                //比如当前页是倒数第2页或者最后一页,也同样不符合上面这个规则
                this.end = totalPage;
                this.start = end - 5;
            }
        }
    }

                    Car vo = new Car();
                    vo.setId(rs.getLong("id"));
                    vo.setCarPai(rs.getString("car_pai"));
                    vo.setCarName(rs.getString("car_name"));
                    vo.setCarChexing(rs.getString("car_chexing"));
                    vo.setCarCheng(rs.getString("car_cheng"));
                    vo.setCarIndate(rs.getString("car_indate"));
                    vo.setCarStatus(rs.getString("car_status"));
                    vo.setCarUser(rs.getString("car_user"));
                    vo.setCarPhone(rs.getString("car_phone"));
    </div>
    <br>
    <div class="index-content-operation">
        <button class="btn btn-grad btn-success btn-sm" <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> οnclick="window.location.href='car_add.jsp'">添加</button>
        <div class="index-content-operation-search"><input id="search_keyword" placeholder="品牌型号" type="text" name="search_keyword"/><input type="hidden" id="searchColumn" name="searchColumn" value="car_name"/><button class="btn btn-grad btn-warning btn-sm" onclick="searchList()">搜索</button></div>
    </div>
    <br>
    <table class="table table-striped table-hover table-bordered">
        <thead>
        <tr class="index-content-table-th">
            <th>车牌</th>
            <th>品牌型号</th>
            <th>车型</th>
            <th>里程</th>
            <th>购买日期</th>
            <th>状态</th>
            <th>驾驶员</th>
            <th>联系方式</th>
            <th>备注</th>
            <th>操作</th>
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }


    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    <link rel="stylesheet" type="text/css" href="css/index.css"/>
</head>
<body>
<jsp:include page="menu.jsp"/>
<div class="index-content">
    <div class="index-content-operation">
        <a class="info-detail">添加车辆</a>
        <br>
        <br>
    </div>
    <br>
import java.util.Map;

/**
 * 公告模块的DAO层(数据层)的具体实现类,对NoticeDAO接口中定义的增删改查等抽象方法作出具体的功能实现
 */
public class NoticeDAOImpl implements NoticeDAO {

    //@Override
    public void add(Notice vo) {
        String sql = "insert into `t_notice` (`notice_name`,`notice_text`,`notice_type`,`create_date`) values(?,?,?,?)";
        try {
            Connection c = Util.getConnection();
            PreparedStatement ps = c.prepareStatement(sql);
            
            ps.setString(1, vo.getNoticeName());
            ps.setString(2, vo.getNoticeText());
            ps.setString(3, vo.getNoticeType());
            ps.setString(4, vo.getCreateDate());
            ps.execute();
            <tr>
                <td width="12%">品牌型号:</td><td><input class="index-content-table-td-add" type="text" id="carName" name="carName" value=""/></td>
            </tr>
            <tr>
                <td width="12%">车型:</td><td><input class="index-content-table-td-add" type="text" id="carChexing" name="carChexing" value=""/></td>
            </tr>
            <tr>
                <td width="12%">里程:</td><td><input class="index-content-table-td-add" type="text" id="carCheng" name="carCheng" value=""/></td>
            </tr>
            <tr>
                <td width="12%">购买日期:</td><td><input class="index-content-table-td-add" type="text" id="carIndate" name="carIndate" value=""/></td>
            </tr>
            <tr>
                <td width="12%">状态:</td>
        this.start = 1;
        this.end = 5;
        //显示页数的算法
        if (totalPage <= 5) {
            //总页数都小于5,那么end就为总页数的值了。
            this.end = this.totalPage;
        } else {
            //总页数大于5,那么就要根据当前是第几页,来判断start和end为多少了,
            this.start = pageNum - 2;
            this.end = pageNum + 2;
            if (start < 0) {
                //比如当前页是第1页,或者第2页,那么就不如和这个规则,
                this.start = 1;
                this.end = 5;
            }
            if (end > this.totalPage) {
                //比如当前页是倒数第2页或者最后一页,也同样不符合上面这个规则
                this.end = totalPage;
                this.start = end - 5;
            }
        }
    }

    //get、set方法。
        List list = (List) noticeService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果list
        pb.setServlet("NoticeServlet");
        pb.setSearchColumn(searchColumn);
        pb.setKeyword(keyword);
        pb.setList(list);
        request.getSession().setAttribute("pageBean", pb);
        request.getSession().setAttribute("list", pb.getList());

        response.sendRedirect("notice_list.jsp");
    }
}
package com.demo.dao.impl;

import com.demo.util.Util;
import com.demo.dao.UserDAO;
import com.demo.vo.User;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 */
public class UserDAOImpl implements UserDAO {

    //@Override
    public void add(User vo) {
        String sql = "insert into `t_user` (`username`,`password`,`real_name`,`user_sex`,`user_phone`,`user_text`,`user_type`) values(?,?,?,?,?,?,?)";
        try {
            Connection c = Util.getConnection();
            PreparedStatement ps = c.prepareStatement(sql);
            
            ps.setString(1, vo.getUsername());
            ps.setString(2, vo.getPassword());
            ps.setString(3, vo.getRealName());
            ps.setString(4, vo.getUserSex());
            ps.setString(5, vo.getUserPhone());
            ps.setString(6, vo.getUserText());
            ps.setString(7, vo.getUserType());
            ps.execute();

运行环境

Java≥6、Tomcat≥7.0、MySQL≥5.5

开发工具

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

技术框架

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap.

基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可

适用

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

功能说明

登录、注册、退出、用户模块、公告模块、车辆模块的增删改查管理

20220319003448

20220319003449

20220319003450

20220319003451

20220319003452

20220319003453

20220319003454

20220319003455

20220319003456

20220319003457

document

↖[获取源码方式]见左侧

举报

相关推荐

0 条评论