0
点赞
收藏
分享

微信扫一扫

基于javaweb+jsp的实验室管理系统

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax

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

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

适用

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

        Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页
        String pageNum = Util.decode(request, "pageNum");//封装分页参数
        com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);
        params.put("startIndex", pb.getStartIndex());
        params.put("pageSize", pb.getPageSize());
        List list = (List) shiyanshiService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果list
        pb.setServlet("ShiyanshiServlet");
        pb.setSearchColumn(searchColumn);
        pb.setKeyword(keyword);
        pb.setList(list);
        request.getSession().setAttribute("pageBean", pb);
        request.getSession().setAttribute("list", pb.getList());

        response.sendRedirect("shiyanshi_list.jsp");
    }
}
package com.demo.servlet;
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好
    }

    /**
     * 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面
     aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form>
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title">公告</h4>
                </div>
                <div class="modal-body">
                    <table class="table table-striped table-hover" style="font-size: 15px;">
                        <tr>
                            <td style="width: 15%;">标题:</td>
                            <td><b id="info-noticeName"></b></td>
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好
    }

    /**
     * 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = Util.decode(request, "searchColumn");
        String keyword = Util.decode(request, "keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
    }
}
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;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
    //编辑表单提交之前进行检查,如果return false,则不允许提交
    function editCheck() {
        //根据ID获取值
        if (document.getElementById("edit-weixiuName").value.trim().length == 0) {
            alert("名称不能为空");
            return false;
        }
        if (document.getElementById("edit-weixiuShiyanshi").value.trim().length == 0) {
            alert("所属实验室不能为空");
            return false;
        }
<script>
    $('#modal-delete').on('show.bs.modal', function (event) {
        let button = $(event.relatedTarget);
        let id = button.data('id');
        let modal = $(this);
        modal.find('#delete-id').val(id);
    })

    $('#modal-edit').on('show.bs.modal', function (event) {
        let button = $(event.relatedTarget);
        let id = button.data('id');
        let modal = $(this);
        $.ajax({
            url: 'UserServlet?action=get&id=' + id,
            type: "get",
            success: function (voString) {
                let vo = eval('(' + voString + ')');
                        modal.find('#edit-id').val(vo.id);
                        modal.find('#edit-username').val(vo.username);
                        modal.find('#edit-password').val(vo.password);
                        modal.find('#edit-realName').val(vo.realName);
                        for (let val of "男/女".split('/')) {
                            if (val == vo.userSex) {
                                modal.find('#edit-userSex_' + vo.userSex).prop("checked", true);
    <link rel="stylesheet" href="css/bootstrap.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="js/jquery-3.5.1.js"></script>
    <script src="js/bootstrap.js"></script>
</head>

<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">实验室管理系统</span> <span class="icon-bar"></span>
                <span class="icon-bar"></span> <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">实验室管理系统</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">欢迎:<span style="color: yellow">${loginUser.username}</span></a></li>
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title">维修</h4>
                </div>
                <div class="modal-body">
                    <table class="table table-striped table-hover" style="font-size: 15px;">
                        <tr>
                            <td style="width: 15%;">名称:</td>
                            <td><b id="info-weixiuName"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">所属实验室:</td>
                            <td><b id="info-weixiuShiyanshi"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">报修人:</td>
                            <td><b id="info-weixiuBaoxiuren"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">报修原因:</td>
                    </button>
                    <h4 class="modal-title">更新实验室</h4>
                </div>
                <div class="modal-body">
                    <div class="form-group hidden">
                        <label class="control-label">(hidden)</label>
                        <input type="text" class="form-control" name="action" value="edit">
                        <input type="text" readonly class="form-control" name="id" id="edit-id">
                    </div>
                    <div class="form-group">
                        <label for="edit-shiyanshiName" class="control-label">名称:</label>
                        <input type="text" class="form-control" name="shiyanshiName" id="edit-shiyanshiName">
                    </div>
                    <div class="form-group">
                        <label for="edit-shiyanshiWeizhi" class="control-label">位置:</label>
                        <input type="text" class="form-control" name="shiyanshiWeizhi" id="edit-shiyanshiWeizhi">
                    </div>
                    <div class="form-group">
                        <label class="control-label">状态:</label>
                               <input name="shiyanshiZhuangtai" id="edit-shiyanshiZhuangtai_空闲" type="radio" value="空闲"/>空闲
                               <input name="shiyanshiZhuangtai" id="edit-shiyanshiZhuangtai_使用中" type="radio" value="使用中"/>使用中
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好
    }

    /**
     * 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = Util.decode(request, "searchColumn");
        String keyword = Util.decode(request, "keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword);//查询的关键字
        WeixiuService weixiuService = new WeixiuServiceImpl();
        Map<String, Object> map = weixiuService.list(params);
            type: "get",
            success: function (voString) {
                let vo = eval('(' + voString + ')');
                        modal.find('#edit-id').val(vo.id);
                        modal.find('#edit-username').val(vo.username);
                        modal.find('#edit-password').val(vo.password);
                        modal.find('#edit-realName').val(vo.realName);
                        for (let val of "男/女".split('/')) {
                            if (val == vo.userSex) {
                                modal.find('#edit-userSex_' + vo.userSex).prop("checked", true);
                            } else {
                                modal.find('#edit-userSex_' + vo.userSex).removeAttr("checked");
                            }
                        };
                        modal.find('#edit-userPhone').val(vo.userPhone);
                        modal.find('#edit-userText').val(vo.userText);
                    request.getSession().setAttribute("loginUser", user);
                    request.getRequestDispatcher("UserServlet").forward(request, response);
                    return;
                }
            }
            request.getSession().setAttribute("alert_msg", "错误:用户名或密码错误!");
            request.getRequestDispatcher("login.jsp").forward(request, response);
        } else if ("register".equalsIgnoreCase(action)) {//注册
            String username = Util.decode(request, "username");
            String password = Util.decode(request, "password");
            System.out.println("username=" + username);
            System.out.println("password=" + password);
            UserService userService = new UserServiceImpl();
            Map<String, Object> params = new HashMap();
            params.put("searchColumn", "username");//使用`username`字段进行模糊查询
            params.put("keyword", username);
            params.put("startIndex", 0);
            params.put("pageSize", Long.MAX_VALUE);
            List<User> list = (List<User>) userService.list(params).get("list");
            for (User user : list) {
                if (user.getUsername().equals(username) /*&& user.getPassword().equals(password)*/) {//说明该用户名已存在,必须换个用户名才能注册
                    </div>
                    <div class="form-group">
                        <label for="edit-weixiuBaoxiushjjian" class="control-label">报修时间:</label>
                        <input type="text" class="form-control" name="weixiuBaoxiushjjian" id="edit-weixiuBaoxiushjjian">
                    </div>
                    <div class="form-group">
                        <label for="edit-weixiuWeixiuren" class="control-label">维修人:</label>
                        <input type="text" class="form-control" name="weixiuWeixiuren" id="edit-weixiuWeixiuren">
                    </div>
                    <div class="form-group">
                        <label for="edit-weixiuWeixiushijian" class="control-label">维修时间:</label>
                        <input type="text" class="form-control" name="weixiuWeixiushijian" id="edit-weixiuWeixiushijian">
                        modal.find('#edit-userText').val(vo.userText);
                        for (let val of "管理员/普通用户".split('/')) {
                            if (val == vo.userType) {
                                modal.find('#edit-userType_' + vo.userType).prop("checked", true);
                            } else {
                                modal.find('#edit-userType_' + vo.userType).removeAttr("checked");
                            }
                        };
            }
        })
    })
    $('#modal-info').on('show.bs.modal', function (event) {
                </div>
                <div class="modal-body">
                    <div class="form-group hidden">
                        <label class="control-label">(hidden)</label>
                        <input type="text" class="form-control" name="action" value="edit">
                        <input type="text" readonly class="form-control" name="id" id="edit-id">
                    </div>
                    <div class="form-group">
                        <label for="edit-shebeiName" class="control-label">名称:</label>
                        <input type="text" class="form-control" name="shebeiName" id="edit-shebeiName">
                    </div>
                    <div class="form-group">
                        <label for="edit-shebeiShiyanshi" class="control-label">所属实验室:</label>
                        <input type="text" class="form-control" name="shebeiShiyanshi" id="edit-shebeiShiyanshi">
                    </div>
                    <div class="form-group">
                        <label for="edit-shebeiShuliang" class="control-label">数量:</label>
                        <input type="text" class="form-control" name="shebeiShuliang" id="edit-shebeiShuliang">
                    </div>
                    <div class="form-group">
        params.put("startIndex", pb.getStartIndex());
        params.put("pageSize", pb.getPageSize());
        List list = (List) userService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果list
        pb.setServlet("UserServlet");
        pb.setSearchColumn(searchColumn);
        pb.setKeyword(keyword);
        pb.setList(list);
        request.getSession().setAttribute("pageBean", pb);
        request.getSession().setAttribute("list", pb.getList());

        response.sendRedirect("user_list.jsp");
    }
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form>
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title">维修</h4>
                </div>
                <div class="modal-body">
                    <table class="table table-striped table-hover" style="font-size: 15px;">
                        <tr>
                            <td style="width: 15%;">名称:</td>
                            <td><b id="info-weixiuName"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">所属实验室:</td>
                            <td><b id="info-weixiuShiyanshi"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">报修人:</td>
                            <td><b id="info-weixiuBaoxiuren"></b></td>
                        </tr>
                                modal.find('#edit-userType_' + vo.userType).prop("checked", true);
                            } else {
                                modal.find('#edit-userType_' + vo.userType).removeAttr("checked");
                            }
                        };
            }
        })
    })
    $('#modal-info').on('show.bs.modal', function (event) {
        let button = $(event.relatedTarget);
        let id = button.data('id');
        let modal = $(this);
        $.ajax({
            url: 'UserServlet?action=get&id=' + id,
            type: "get",
            success: function (voString) {
                let vo = eval('(' + voString + ')');
                modal.find('#info-username').text(vo.username);
        if (document.getElementById("add-weixiuWeixiuren").value.trim().length == 0) {
            alert("维修人不能为空");
            return false;
        }
        if (document.getElementById("add-weixiuWeixiushijian").value.trim().length == 0) {
            alert("维修时间不能为空");
            return false;
        }
        return true;
    }
    //编辑表单提交之前进行检查,如果return false,则不允许提交
    function editCheck() {
        //根据ID获取值
        if (document.getElementById("edit-weixiuName").value.trim().length == 0) {
            alert("名称不能为空");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //@Override
    public boolean delete(long id) {
        try {
            Connection c = Util.getConnection();
            Statement s = c.createStatement();
            String sql = "delete from `t_weixiu` where id = " + id;
            s.execute(sql);
            s.close();
            c.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    /**
     * 处理Get请求
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        </div>
    </div>
</div>

<!-- delete -->
<div class="modal fade" id="modal-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form action="WeixiuServlet">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title">删除维修</h4>
                </div>
                <div class="modal-body">
                    确认要删除该维修记录吗?
                    <div class="form-group hidden">
                        <label class="control-label">(hidden)</label>
    })

    $('#modal-edit').on('show.bs.modal', function (event) {
        let button = $(event.relatedTarget);
        let id = button.data('id');
        let modal = $(this);
        $.ajax({
            url: 'ShebeiServlet?action=get&id=' + id,
            type: "get",
            success: function (voString) {
                let vo = eval('(' + voString + ')');
                        modal.find('#edit-id').val(vo.id);
                        modal.find('#edit-shebeiName').val(vo.shebeiName);
        int totalCount = 0;
        String condition = "";
        String sqlList;
        if (params.get("searchColumn") != null && !"".equals(params.get("searchColumn"))) {
            condition += " and `" + params.get("searchColumn") + "` like '%" + params.get("keyword") + "%'";
        }
        try {
            Connection c = Util.getConnection();
            PreparedStatement ps;
            ResultSet rs;
            String limit = (params.get("startIndex") != null && params.get("pageSize") != null) ? " limit " + params.get("startIndex") + "," + params.get("pageSize") : "";
                sqlList = "select * from `t_shebei` where 1=1 " + condition + " order by id asc " + limit + ";";
                ps = c.prepareStatement(sqlList);
        response.sendRedirect("shiyanshi_list.jsp");
    }
}
package com.demo.servlet;

import com.demo.util.Util;
import com.demo.service.ShebeiService;
import com.demo.service.impl.ShebeiServiceImpl;
import com.demo.vo.Shebei;
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;

/**
                </div>
                <div class="modal-body">
                    确认要删除该用户记录吗?
                    <div class="form-group hidden">
                        <label class="control-label">(hidden)</label>
                        <input type="hidden" class="form-control" name="action" value="delete">
                        <input type="text" class="form-control" name="id" id="delete-id">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-line btn-primary" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-line btn-primary">删除</button>
                </div>
            </form>
        </div>
    </div>
</div>

</body>

运行环境

Java≥6、Tomcat≥7.0、MySQL≥5.5

开发工具

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

技术框架

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax

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

适用

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

功能说明

登录、注册、退出、用户模块、公告模块、设备模块、实验室模块、维修模块的增删改查管理

20220319000944

20220319000945

20220319000946

20220319000947

20220319000948

20220319000949

20220319000950

20220319000951

document

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

举报

相关推荐

0 条评论