软件需求与分析大作业进度二

一、说在前面

1、今日工作

  1)完成用户管理、角色管理和权限管理。

  2)完善查询。

2、明日目标任务

  1)完成网络审核员的审核业务。

  2)尝试完成分类检索的功能

3、遇到的问题

  1)在将角色分配给用户是,不能确定下拉框选中的是那个角色。(已解决)

  2)在改变角色权限是,选中该角色后回显他的原始权限时不需清除上次选择的残留(未解决)

二、成果

 

 

 

 

 

 三、源代码

1、查询界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!--框架必需start-->
<script type="text/javascript" src="../js/jquery-1.4.js"></script>
<script type="text/javascript" src="../js/framework.js"></script>
<link href="../css/import_basic.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" id="skin" />
<!--框架必需end-->
<script type="text/javascript" src="../js/nav/ddaccordion.js"></script>
<script type="text/javascript" src="../js/text/text-overflow.js"></script>
<style type="text/css">
<style type="text/css">
table {
    border-collapse: collapse;
    margin: 0 auto;
    text-align: center;
}

table td, table th {
    border: 1px solid #cad9ea;
    color: #666;
    height: 30px;
}

table thead th {
    background-color: #CCE8EB;
    width: 175px;
}

table tr:nth-child(odd) {
    background: #fff;
}

table tr:nth-child(even) {
    background: #F5FAFA;
}
</style>
<script type="text/javascript">
function deletexiqiu(id){
    var msg = "确定删除?";
    if(confirm(msg)==true){
        $.ajax({
            url:"xvqiu",
            async:true,
            type:"POST",
            data:{"id":id,"method":"deletexvqiu"},
            success:function(data){
                var f = data.f;
                //alert(f);
                if(f){
                    alert("删除成功");
                    window.location="xvqiu?method=searchAll";
                }
            },
            error:function(){
                alert("删除失败");
            },
            dataType:"json"
        });
    }
}
</script>
</head>
<body>
    <input type="hidden" value="qvba">
    <div class="row" style="background-color:silver; height: 50px">
        <form action="xvqiu?method=qltd" method="post">
            <h3>技术需求名称:
                 <input  type="text"
                name="title" id="title" placeholder="技术需求名称">
            日期 <input  type="text"
                name="from" id="from" placeholder="yyyy-MM-dd">
            <font  size="5">--</font> <input  type="text"
                name="to" id="to" placeholder="yyyy-MM-dd"> <input
                type="submit" value="查询" onclick="query()">
            </h3>
        </form>
    </div>
    <table >
        <!-- class="table table-bordered" -->
        <thead>
            <tr>
                <th>请求编号</th>
                <th>技术需求名称</th>
                <th>请求时间</th>
                <th>保存状态</th>
                <th>形式审核</th>
                <th>部门审核</th>                
                <th  align="center">操作</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var="item" items="${xvQiuList}">
                <tr>
                    <td>${item.id}</td>
                    <td><a href="xqif.jsp?title=${item.title}&money=${item.money}&type=${item.type}&model=
                    ${item.model}&context=${item.context}">${item.title}</a></td>
                    <td >${item.date}</td>
                    <td >已保存</td>
                    <td>${item.statuX}</td>
                    <td>${item.statuB}</td>
                    <td><a href="xsif.jsp?title=${item.title}&money=${item.money}&type=${item.type}&model=${item.model}&context=${item.context}">浏览</a></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</body>
</html>
View Code

2、用户管理界面

<%--
  Created by IntelliJ IDEA.
  User: hp
  Date: 2020/10/19
  Time: 20:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css" type="text/css" />
    <script src="../js/jquery-1.11.3.min.js" type="text/javascript"></script>
    <script src="../js/bootstrap.min.js" type="text/javascript"></script>
</head>
<style type="text/css">
    .ab {
        position: relative;
        top: 20px;
        left: 35px;
        right: 30px;
    }
</style>
<script type="text/javascript">
    function stop(id){
        $.ajax({
            "async":true,
            "url":"admin?method=stop",
            "data":{"id":id},
            "type":"POST",
            "dataType":"json",
            "success":function(data){
                var f = data.f;
                if(f){
                    alert("操作成功");
                    window.location="admin?method=chaAllUser";
                }else{
                    alert("操作失败");
                }
            }
        });
    }
    function start(id){
        $.ajax({
            "async":true,
            "url":"admin?method=start",
            "data":{"id":id},
            "type":"POST",
            "dataType":"json",
            "success":function(data){
                var f = data.f;
                if(f){
                    alert("操作成功");
                    window.location="admin?method=chaAllUser";
                }else{
                    alert("操作失败");
                }
            }
        });
    }
    function deleteuser(id){
        var msg = "确定删除?";
        if(confirm(msg)==true){
            $.ajax({
                "async":true,
                "url":"admin?method=delete",
                "data":{"id":id},
                "type":"POST",
                "dataType":"json",
                "success":function(data){
                    var f = data.f;
                    if(f){
                        alert("删除成功");
                        window.location="admin?method=chaAllUser";
                    }else{
                        alert("删除失败");
                    }
                }
            });
        }else{
            alert("操作取消!");
        }
    }
    function juese(name ,id){
        var select = "select[name=" + name + "]";
        var power = $(select).val();

        $.ajax({
            "async":true,
            "url":"admin?method=changePower",
            "data":{"id":id,"power":power},
            "type":"POST",
            "dataType":"json",
            "success":function(data){
                var f = data.f;
                if(f){
                    alert("操作成功");
                    window.location="admin?method=chaAllUser";
                }else{
                    alert("操作失败");
                }
            }
        });



    }

</script>
<body>
<div class="row" style="background-color: #E8F6FF; height: 60px">
    <font size="5" color="white"><a class="ab" href="../zhu/zhuce.jsp">新开用户</a></font>
</div>


<table class="table table-bordered">
    <thead>
    <tr>
        <th>用户编号</th>
        <th>用户名</th>
        <th>用户姓名</th>
        <th>所在单位</th>
        <th>性别</th>
        <th>用户状态</th>
        <th>用户角色</th>
        <th colspan="5" ><p align="center">操作</p></th>
    </tr>
    </thead>
    <tbody>
    <c:forEach var="item" items="${list}" varStatus="i">
        <tr>
            <td>${item.id}</td>
            <td>${item.username}</td>
            <td>${item.name}</td>
            <td>${item.company }</td>
            <td>${item.sex}</td>
            <td>
                <c:if test="${item.statu == '0'}">
                    被停用
                </c:if>
                <c:if test="${item.statu == '1'}">
                    正常
                </c:if>
            </td>
            <td width="200px">
                <select class="checkbox" style="width: 150px;height: 20px;display: inline" name="juese${i.index+1 }" onchange="juese('juese${i.index+1 }','${item.id}')" id="juese${i.index+1 }">

                    <option value ="99">--请选择--</option>
                    <option value ="2" ${item.power == '2'?"selected":""} >网络审核员</option>
                    <option value ="0" ${item.power == '0'?"selected":""}>注册用户</option>
                    <option value ="1" ${item.power == '1'?"selected":""}>管理员</option>
                </select>
            </td>
            <td><a href="admin?method=query&id=${item.id}">查看用户</a></td>
            <td><a onclick="stop(${item.id})">暂停用户</a></td>
            <td><a onclick="start(${item.id})">恢复用户</a></td>
            <td><a href="admin?method=beforeChange&id=${item.id}">用户信息修改</a></td>
            <td><a onclick="deleteuser(${item.id})">删除用户</a></td>
        </tr>
    </c:forEach>
    </tbody>
</table>
</body>
</html>
View Code

3、角色管理界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>首页</title>

    <!-- Bootstrap -->
    <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
            rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script
            src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script
            src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>


</head>
<body>
<div class="container-fluid">
    <div class="row-fluid">
        <div class="span12">
            <div class="tabbable" id="tabs-451449">
                <ul class="nav nav-tabs">
                    <li class="active">
                        <a href="#panel-169507" data-toggle="tab">角色管理</a>
                    </li>
                    <li>
                        <a href="#panel-638310" data-toggle="tab">新建角色</a>
                    </li>
                </ul>
                <div class="tab-content">
                    <div class="tab-pane active" id="panel-169507">
                        <form action="admin?method=changeJs" method="post">
                            <div class="row-fluid">
                                <div class="span12">
                                    <h3 align="center">请选择角色
                                        <select class="checkbox" style="width: 200px;height: 30px;display: inline"
                                                name="js">
                                            <option value="99">--请选择--</option>
                                            <option value="2">网络审核员</option>
                                            <option value="0">注册用户</option>
                                            <option value="1">管理员</option>
                                        </select>
                                    </h3>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <table class="table table-bordered table-hover">
                                        <thead>
                                        <tr>
                                            <th>权限名称</th>
                                            <th>权限说明</th>
                                            <th>是否赋予</th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr>
                                            <td>需求征集</td>
                                            <td>可以填写需求报表</td>
                                            <td><input type="checkbox" name="qx" value="xqzj_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>需求管理</td>
                                            <td>可以查看自己填报的需求报表的相关信息</td>
                                            <td><input type="checkbox" name="qx" value="xqgl_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户信息</td>
                                            <td>可以查看用户信息</td>
                                            <td><input type="checkbox" name="qx" value="yhxx_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>修改密码</td>
                                            <td>可以修改自己的密码</td>
                                            <td><input type="checkbox" name="qx" value="yhxg_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>网络审核</td>
                                            <td>可以对提交的需求报表进行审核</td>
                                            <td><input type="checkbox" name="qx" value="xssh_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户密码重置</td>
                                            <td>可以重置用户的密码</td>
                                            <td><input type="checkbox" name="xqjz"></td>
                                        </tr>
                                        <tr>
                                            <td>统计查询权限</td>
                                            <td>可以查询并统计报表信息</td>
                                            <td><input type="checkbox" name="qx" value="tjcx_qx"></td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <button class="btn" type="submit" style="width: 80px;margin-left: 40%">提交</button>
                                </div>
                            </div>
                        </form>
                    </div>
                    <div class="tab-pane" id="panel-638310">
                        <form action="admin?method=addJs" method="post">
                            <div class="row-fluid">
                                <div class="span12">
                                    <h3 style="margin-left: 50px">
                                        新角色名称:
                                        <input type="text" name="jsmc" class="form-control"
                                               style="display: inline;width: 200px">
                                    </h3>
                                </div>
                            </div>

                            <div class="row-fluid">
                                <div class="span12">

                                    <table class="table table-bordered table-hover">
                                        <thead>
                                        <tr>
                                            <th>权限名称</th>
                                            <th>权限说明</th>
                                            <th>是否赋予</th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr>
                                            <td>需求征集</td>
                                            <td>可以填写需求报表</td>
                                            <td><input type="checkbox" name="qx" value="xqzj_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>需求管理</td>
                                            <td>可以查看自己填报的需求报表的相关信息</td>
                                            <td><input type="checkbox" name="qx" value="xqgl_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户信息</td>
                                            <td>可以查看用户信息</td>
                                            <td><input type="checkbox" name="qx" value="yhxx_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>修改密码</td>
                                            <td>可以修改自己的密码</td>
                                            <td><input type="checkbox" name="qx" value="yhxg_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>网络审核</td>
                                            <td>可以对提交的需求报表进行审核</td>
                                            <td><input type="checkbox" name="qx" value="xssh_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户密码重置</td>
                                            <td>可以重置用户的密码</td>
                                            <td><input type="checkbox" name="xqjz"></td>
                                        </tr>
                                        <tr>
                                            <td>统计查询权限</td>
                                            <td>可以查询并统计报表信息</td>
                                            <td><input type="checkbox" name="qx" value="tjcx_qx"></td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <button class="btn" type="submit" style="width: 80px;margin-left: 40%">提交</button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>
View Code

4、权限管理界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>首页</title>

    <!-- Bootstrap -->
    <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
            rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script
            src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script
            src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>


</head>
<body>
<div class="container-fluid">
    <div class="row-fluid">
        <div class="span12">
            <div class="tabbable" id="tabs-451449">
                <ul class="nav nav-tabs">
                    <li class="active">
                        <a href="#panel-169507" data-toggle="tab">权限管理</a>
                    </li>
                    <li>
                        <a href="#panel-638310" data-toggle="tab">新建权限</a>
                    </li>
                </ul>
                <div class="tab-content">
                    <div class="tab-pane active" id="panel-169507">
                        <form action="admin?method=changeJs" method="post">
                            <div class="row-fluid">
                                <div class="span12">
                                    <h3 align="center">请选择角色
                                        <select class="checkbox" style="width: 200px;height: 30px;display: inline"
                                                name="js">
                                            <option value="99">--请选择--</option>
                                            <option value="2">网络审核员</option>
                                            <option value="0">注册用户</option>
                                            <option value="1">管理员</option>
                                        </select>
                                    </h3>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <table class="table table-bordered table-hover">
                                        <thead>
                                        <tr>
                                            <th>权限名称</th>
                                            <th>权限说明</th>
                                            <th>是否赋予</th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr>
                                            <td>需求征集</td>
                                            <td>可以填写需求报表</td>
                                            <td><input type="checkbox" name="qx" value="xqzj_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>需求管理</td>
                                            <td>可以查看自己填报的需求报表的相关信息</td>
                                            <td><input type="checkbox" name="qx" value="xqgl_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户信息</td>
                                            <td>可以查看用户信息</td>
                                            <td><input type="checkbox" name="qx" value="yhxx_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>修改密码</td>
                                            <td>可以修改自己的密码</td>
                                            <td><input type="checkbox" name="qx" value="yhxg_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>网络审核</td>
                                            <td>可以对提交的需求报表进行审核</td>
                                            <td><input type="checkbox" name="qx" value="xssh_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户密码重置</td>
                                            <td>可以重置用户的密码</td>
                                            <td><input type="checkbox" name="xqjz"></td>
                                        </tr>
                                        <tr>
                                            <td>统计查询权限</td>
                                            <td>可以查询并统计报表信息</td>
                                            <td><input type="checkbox" name="qx" value="tjcx_qx"></td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <button class="btn" type="submit" style="width: 80px;margin-left: 40%">提交</button>
                                </div>
                            </div>
                        </form>
                    </div>
                    <div class="tab-pane" id="panel-638310">
                        <form action="admin?method=addJs" method="post">
                            <div class="row-fluid">
                                <div class="span12">
                                    <h3 style="margin-left: 50px">
                                        新角色名称:
                                        <input type="text" name="jsmc" class="form-control"
                                               style="display: inline;width: 200px">
                                    </h3>
                                </div>
                            </div>

                            <div class="row-fluid">
                                <div class="span12">

                                    <table class="table table-bordered table-hover">
                                        <thead>
                                        <tr>
                                            <th>权限名称</th>
                                            <th>权限说明</th>
                                            <th>是否赋予</th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr>
                                            <td>需求征集</td>
                                            <td>可以填写需求报表</td>
                                            <td><input type="checkbox" name="qx" value="xqzj_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>需求管理</td>
                                            <td>可以查看自己填报的需求报表的相关信息</td>
                                            <td><input type="checkbox" name="qx" value="xqgl_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户信息</td>
                                            <td>可以查看用户信息</td>
                                            <td><input type="checkbox" name="qx" value="yhxx_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>修改密码</td>
                                            <td>可以修改自己的密码</td>
                                            <td><input type="checkbox" name="qx" value="yhxg_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>网络审核</td>
                                            <td>可以对提交的需求报表进行审核</td>
                                            <td><input type="checkbox" name="qx" value="xssh_qx"></td>
                                        </tr>
                                        <tr>
                                            <td>用户密码重置</td>
                                            <td>可以重置用户的密码</td>
                                            <td><input type="checkbox" name="xqjz"></td>
                                        </tr>
                                        <tr>
                                            <td>统计查询权限</td>
                                            <td>可以查询并统计报表信息</td>
                                            <td><input type="checkbox" name="qx" value="tjcx_qx"></td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <div class="row-fluid">
                                <div class="span12">
                                    <button class="btn" type="submit" style="width: 80px;margin-left: 40%">提交</button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>
View Code

5、查询servlet

package com.me.servlet;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import com.google.gson.Gson;
import com.me.dao.XvQiuDao;
import com.me.domain.XvQiu;
import com.me.utils.*;

@WebServlet("/templete/xvqiu")
public class XvQiuServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    public XvQiuServlet() {
        super();
    }
    XvQiuDao dao = new XvQiuDao();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String method = request.getParameter("method");
        System.out.println(method);
        if(method.equals("createXvQiu")) {
            try {
                createXvQiu(request, response);
            } catch (IllegalAccessException | InvocationTargetException | SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("searchAll")){
            try {
                searchAll(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("deletexvqiu")){
            try {
                deletexvqiu(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("xqgl")){
            try {
                xqgl(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("sw")){
            try {
                sw(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("xssh")){
            try {
                xssh(request, response);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(method.equals("createXvQiu2")){
            try {
                createXvQiu2(request, response);
            } catch (IllegalAccessException | InvocationTargetException | SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else if(method.equals("queryById")){
            queryById(request,response);
        }
        //response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    private void queryById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String wjid = request.getParameter("wjid");
        XvQiu xvQiu = dao.queryById(wjid);
        request.setAttribute("xvqiu",xvQiu);
        request.getRequestDispatcher("shxq.jsp").forward(request,response);
    }

    private void xssh(HttpServletRequest request, HttpServletResponse response)throws SQLException, ServletException, IOException {
        String shjg = request.getParameter("shjg");
        String shyj = request.getParameter("shyj");
        String title = request.getParameter("title");
        boolean f = dao.xssh(shjg,shyj,title);
        if(f) {
            sw(request, response);
        }else {
            response.getWriter().write("加载失败!");
        }
    }

    private void sw(HttpServletRequest request, HttpServletResponse response)throws SQLException, ServletException, IOException {
        List<XvQiu> xvQiuList = dao.sw();
        request.setAttribute("xvQiuList", xvQiuList);
        //System.out.println(xvQiuList.get(0).getModel()+"123");
        if(xvQiuList.isEmpty()) {
            response.getWriter().write("加载失败!");
        }else {
            request.getRequestDispatcher("xssh2.jsp").forward(request, response);
        }
    }

    private void xqgl(HttpServletRequest request, HttpServletResponse response)throws SQLException, ServletException, IOException {
        String jgmc = request.getParameter("jgmc");
        String szdy = request.getParameter("szdy");
        String jsxqmc = request.getParameter("jsxqmc");
        String gkglbm = request.getParameter("gkglbm");
        String jgsx = request.getParameter("jgsx");
        String yjlx = request.getParameter("yjlx");
        List<XvQiu> xvQiuList = dao.xqgl(jgmc,szdy,jsxqmc,gkglbm,jgsx,yjlx);
        request.setAttribute("xvQiuList", xvQiuList);
        //System.out.println(xvQiuList.get(0).getModel()+"123");
        if(xvQiuList==null) {
            response.getWriter().write("加载失败!");
        }else {
            request.getRequestDispatcher("mywj2.jsp").forward(request, response);
        }
    }

    private void deletexvqiu(HttpServletRequest request, HttpServletResponse response)throws SQLException, ServletException, IOException {
        String id = request.getParameter("id");
        boolean f = dao.deletexiqiu(id);
        System.out.println(id);
        response.getWriter().write("{\"f\":"+f+"}");
    }

    private void searchAll(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException {
        List<XvQiu> xvQiuList = dao.searchAll();
        request.setAttribute("xvQiuList", xvQiuList);
        //System.out.println(xvQiuList.get(0).getModel()+"123");
        if(xvQiuList.isEmpty()) {
            response.getWriter().write("加载失败!");
        }else {
            request.getRequestDispatcher("mywj2.jsp").forward(request, response);
        }
    }

    private void createXvQiu2(HttpServletRequest request, HttpServletResponse response) throws IllegalAccessException, InvocationTargetException, SQLException, IOException {
        Map<String, String[]> map = request.getParameterMap();
        XvQiu xvQiu = new XvQiu();
        BeanUtils.populate(xvQiu, map);
        String[] xqjsssly = request.getParameterValues("xqjsssly");
        if(xqjsssly!=null) {
            String xq111="";
            for (int i = 0; i < xqjsssly.length; i++) {
                xq111+=xqjsssly[i]+" ";
            }
            xvQiu.setXqjsssly(xq111);
        }
        
        String[] jsxqhzms = request.getParameterValues("jsxqhzms");
        String xq22="";
        for (int i = 0; i < jsxqhzms.length; i++) {
            xq22+=jsxqhzms[i]+" ";
        }
        
        xvQiu.setJsxqmc(xq22);;
        
        xvQiu.setWjid(Integer.valueOf(Data.getId()));
        if(xvQiu.getJgsx()==null) {
            xvQiu.setJgsx("");
        }
        if(xvQiu.getJsxqmc()==null) {
            xvQiu.setJsxqmc("");
        }
        
        if(xvQiu.getGjz()==null) {
            xvQiu.setGjz("");
        }
        if(xvQiu.getJgsx()==null) {
            xvQiu.setJgsx("");
        }
        if(xvQiu.getYjlx()==null) {
            xvQiu.setYjlx("");
        }
        
        System.out.println(xvQiu.toString());
        boolean f = dao.createXvQiu(xvQiu);
        if(f) {
            response.getWriter().write("添加成功!");
        }else {
            response.getWriter().write("添加失败!");
        }
    }
    
    private void createXvQiu(HttpServletRequest request, HttpServletResponse response) throws IllegalAccessException, InvocationTargetException, SQLException, IOException, ServletException {
        Map<String, String[]> map = request.getParameterMap();
        XvQiu xvQiu = new XvQiu();
        BeanUtils.populate(xvQiu, map);
        String[] xqjsssly = request.getParameterValues("xqjsssly");
        if(xqjsssly!=null) {
            String xq111="";
            for (int i = 0; i < xqjsssly.length; i++) {
                xq111+=xqjsssly[i]+" ";
            }
            xvQiu.setXqjsssly(xq111);
        }
        
        String[] jsxqhzms = request.getParameterValues("jsxqhzms");
        String xq22="";
        for (int i = 0; i < jsxqhzms.length; i++) {
            xq22+=jsxqhzms[i]+" ";
        }
        
        xvQiu.setJsxqmc(xq22);;
        
        xvQiu.setWjid(Integer.valueOf(Data.getId()));
        if(xvQiu.getJgsx()==null) {
            xvQiu.setJgsx("");
        }
        if(xvQiu.getJsxqmc()==null) {
            xvQiu.setJsxqmc("");
        }
        
        if(xvQiu.getGjz()==null) {
            xvQiu.setGjz("");
        }
        if(xvQiu.getJgsx()==null) {
            xvQiu.setJgsx("");
        }
        if(xvQiu.getYjlx()==null) {
            xvQiu.setYjlx("");
        }
        
        //System.out.println(xvQiu.toString());
        //boolean f = dao.createXvQiu(xvQiu);
        Gson gson = new Gson();
        String json = gson.toJson(xvQiu);
        request.getSession().setAttribute("xq", json);
        
        request.getRequestDispatcher("http://localhost:8080/KTCS_war_exploded/xq?method=createXvQiu").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}
View Code

6、后台管理servlet

package com.me.servlet;

import com.me.dao.AdminDao;
import com.me.domain.Power;
import com.me.domain.User;
import org.apache.commons.beanutils.BeanUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Auther: wzs
 * @Date: 2020/10/19 20:16
 * @Description:
 */
@WebServlet("/templete/admin")
public class AdminServlet extends HttpServlet {
    private AdminDao dao = new AdminDao();
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String method = request.getParameter("method");
        System.out.println(method);
        if(method.equals("chaAllUser")){
            chaAllUser(request,response);
        }else if(method.equals("stop")){
            stop(request,response);
        }else if(method.equals("start")){
            start(request,response);
        }else if(method.equals("delete")){
            delete(request,response);
        }else if(method.equals("query")){
            query(request,response);
        }else if(method.equals("beforeChange")){
            beforeChange(request,response);
        }else if(method.equals("change")){
            change(request,response);
        }else if(method.equals("changePower")){
            changePower(request,response);
        }else if(method.equals("changeJs")){
            changeJs(request,response);
        }
    }

    private void changeJs(HttpServletRequest request, HttpServletResponse response) {
        String js = request.getParameter("js");
        String[] qxes = request.getParameterValues("qx");
        Map<String, String> map = new HashMap<>();
        for (String qx : qxes) {
            map.put(qx,"1");
        }
        Power power = new Power();
        System.out.println(power.toString());
        try {
            BeanUtils.populate(power, map);
            power.setPower(Integer.valueOf(js));
            boolean b = dao.changePower(js, power);
            if(b){
                response.getWriter().write("<h1>修改成功</h1>");
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    private void changePower(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String id = request.getParameter("id");
        //Power beforePower = dao.power(Integer.valueOf(id));
        String power = request.getParameter("power");
        Power afterPower = dao.power(power);
        boolean f=dao.changePower(id,afterPower);

        response.getWriter().write("{\"f\":"+f+"}");
    }

    //修改用户信息
    private void change(HttpServletRequest request, HttpServletResponse response) {

    }

    //修改用户之前查出用户信息
    private void beforeChange(HttpServletRequest request, HttpServletResponse response) {
        String id = request.getParameter("id");
        User user = dao.query(id);
    }

    //安照 id 查询用户
    private void query(HttpServletRequest request, HttpServletResponse response) {
        String id = request.getParameter("id");
        User user = dao.query(id);

    }

    //删除用户
    private void delete(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String id = request.getParameter("id");
        boolean f = dao.delete(id);
        response.getWriter().write("{\"f\":"+f+"}");
    }

    //恢复用户
    private void start(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String id = request.getParameter("id");
        boolean f = dao.start(id);
        response.getWriter().write("{\"f\":"+f+"}");
    }

    //暂停用户
    private void stop(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String id = request.getParameter("id");
        boolean f = dao.stop(id);
        response.getWriter().write("{\"f\":"+f+"}");
    }

    //查询所有用户
    private void chaAllUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<User> users = dao.chaAllUser();
        List<User> list = new ArrayList<>();
        for (User user : users) {
            Power power = dao.power(user.getId());
            user.setPower(power.getPower());
            list.add(user);
        }
        request.setAttribute("list",list);
        if (users!=null){
            request.getRequestDispatcher("/templete/yhgl.jsp").forward(request,response);
        }else{
            response.getWriter().write("<h1>正在查询.....</h1>");
        }

    }
}
View Code

 

posted @ 2020-10-20 22:49  程序那点事  阅读(145)  评论(0编辑  收藏  举报