教师测评系统开发流程

讲师和班主任每个教学周期都会有效果测评,现对我们的老师进行模拟测评,做一个测评网站,编写的目的在于更好的学习JavaWeb,若文章对你有所收获,末尾记得一键三连

一:实现的功能:

新增测评

点击删除,提示“确认删除吗”,点击确认后删除,点击取消后取消删除

.点击详情页展示如图信息

二:建库建表

注意:sid 可以是主键自增,外键不要关联错误

CREATE  DATABASE  a5;
use a5;

CREATE  TABLE  score(

sid  int PRIMARY key  auto_increment,
id  int,
ji   DOUBLE (8,2),
xing  DOUBLE (8,2),
gou   DOUBLE (8,2),
ke   DOUBLE (8,2),
qin  DOUBLE (8,2),
yijian  VARCHAR (20),
time  VARCHAR (20),
FOREIGN key (id)  REFERENCES teacher(tid)

)
CREATE  TABLE  teacher
(  tid  int PRIMARY key,
tname  VARCHAR (20));
insert into  teacher values

(1,'詹姆斯'),
(2,'科比'),
(3,'小明');

insert into  score values
(1,1,19.9,20.0,20.0,20.0,19.9,'声音要在大点','2020-12-1'),
(2,2,20.0,20.0,20.0,20.0,20.0,'老师再严厉一点','2020-12-1');
select s.*,(ji+xing+gou+ke+qin)  sum,tname  from  score   s,  teacher  t where s.id=t.tid

打开自己的开发工具;

创建三层架构:

1 控制器;  controller

2业务层   service

3 数据层   dao层

4 实体类    封装

1、展示所有的代码:

controller:

注意:一定要存入域  转发前端

        request.setCharacterEncoding ("utf-8");
        response.setContentType ("text/html;charset=utf-8");
        service service = new service ();
        List<Score>list= service.show ();
        request.setAttribute ("list",list);


        //转发
        request.getRequestDispatcher ("show.jsp").forward (request, response);

service: 代码:

package service;

import dao.dao;
import pojo.Score;

import java.util.List;

public class service  implements s1 {
    dao w=new dao ();
    @Override
    public List<Score> show() {
        return   w.show ();

    }

    @Override
    public void add(Score a) {
        w.add (a);

    }

    @Override
    public void set(Score a) {
        w.set (a);
    }

    public void shan(String sid) {
        w.shan(sid);
    }

    public Score geti(String sid) {

        return   w.getid(sid);




    }

    public List<Score> show2() {

        return   w.dsd();
    }
}

dao层代码:

package dao;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import pojo.Score;

import java.sql.SQLException;
import java.util.List;

public class dao   implements d1{
    QueryRunner  q=new QueryRunner (new ComboPooledDataSource ());

    @Override
    public List<Score> show() {
        List<Score> query = null;
        try {
            query = q.query ("select s.*,(ji+xing+gou+ke+qin)  sum,tname  from  score   s,  teacher  t where s.id=t.tid", new BeanListHandler<> (Score.class));
        } catch (SQLException e) {
            e.printStackTrace ();
        }

        return query;
    }

    @Override
    public void add(Score a) {
        try {
            q.update ("insert into   score  (id,ji,xing,gou,ke,qin,yijian,time)    values (?,?,?,?,?,?,?,?)",a.getId (),
                    a.getJi (),a.getXing (),a.getGou (),a.getKe (),a.getQin (),a.getYijian (),a.getTime ());
        } catch (SQLException e) {
            e.printStackTrace ();
        }


    }

    @Override
    public void set(Score a) {

    }

    public void shan(String sid) {
        try {
            q.update ("delete   from  score  where sid=?",sid);
        } catch (SQLException e) {
            e.printStackTrace ();
        }
    }

    public Score getid(String sid) {

        Score query = null;
        try {
            query = q.query ("select s.*,(ji+xing+gou+ke+qin)  sum,tname  from  score   s,  teacher  t where s.id=t.tid and  sid=?", new BeanHandler<> (Score.class), sid);
        } catch (SQLException e) {
            e.printStackTrace ();
        }

        return   query;
    }

    public List<Score> dsd() {
        List<Score> query = null;
        try {
            query = q.query ("select avg((ji+xing+gou+ke+qin))zong from  score   s,  teacher  t where s.id=t.tid", new BeanListHandler<> (Score.class));
        } catch (SQLException e) {
            e.printStackTrace ();
        }

        return query;

    }
}

前端展示:

新增和新增测评是按钮的形式:也不要忘记导标签<script>的包

<%--
  Created by IntelliJ IDEA.
  User: dell
  Date: 2021/8/26
  Time: 21:59
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
    <title>Title</title>
    <script src="js/jquery-1.7.2.js"></script>
    <script>

    </script>
</head>
<body>


    <input type="button"   value="新增测评"  onclick="w2()">
    <input type="button" value="统计平均分"  onclick="w3()">



<table cellpadding="0" border="1" width="600" height="300">
<tr>
    <td>编号</td>
    <td>老师</td>
    <td>技术</td>
    <td>形象</td>
    <td>沟通</td>
    <td>授课</td>
    <td>亲和</td>
    <td>总分</td>
    <td>意见</td>
    <td>时间</td>
    <td>操作</td>

</tr>
    <c:forEach items="${list}"  var="a" >


        <tr>
            <td>${a.sid}</td>
            <td>${a.tname}</td>
            <td>${a.ji}</td>
            <td>${a.xing}</td>
            <td>${a.gou}</td>
            <td>${a.ke}</td>
            <td>${a.qin}</td>
            <td>${a.sum}</td>
            <td>${a.yijian}</td>
            <td>${a.time}</td>
            <td>
                <a href="/de?sid=${a.sid}"  onclick="return confirm('是否删除')">删除</a>

                <a href="/xiu?sid=${a.sid}">详情页</a>            </td>



        </tr>

    </c:forEach>

</table>

</body>


<script>

    function w2() {
        $.get("add.jsp",function (data) {
            location.href="/show1"
        })

    }
    function w3() {
        $.get("add.jsp",function (data) {
            location.href="/pin"
        })

    }

</script>

</html>

 新增的代码:

注意:分数是复选框  下拉框教师的信息是:name="id"  是从表的外键,不要写错

<%--
  Created by IntelliJ IDEA.
  User: dell
  Date: 2021/8/26
  Time: 22:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
    <title>Title</title>
    <script>

    </script>
</head>
<body>

<form action="/add" method="post">

    教师 <select name="id">
    <option>--请选择教师-</option>
    <c:forEach var="w" items="${list}">
        <option value="${w.tid}">${w.tname}</option>
    </c:forEach>
</select> <br>
    技术
    <input type="checkbox" name="ji" value="19.6"> 19.6
    <input type="checkbox" name="ji" value="19.7"> 19.7
    <input type="checkbox" name="ji" value="19.8"> 19.8
    <input type="checkbox" name="ji" value="19.9"> 19.9
    <input type="checkbox" name="ji" value="20.0"> 20.0
    <br>
    形象
    <input type="checkbox" name="xing" value="19.6"> 19.6
    <input type="checkbox" name="xing" value="19.7"> 19.7
    <input type="checkbox" name="xing" value="19.8"> 19.8
    <input type="checkbox" name="xing" value="19.9"> 19.9
    <input type="checkbox" name="xing" value="20.0"> 20.0
    <br>
    沟通
    <input type="checkbox" name="gou" value="19.6"> 19.6
    <input type="checkbox" name="gou" value="19.7"> 19.7
    <input type="checkbox" name="gou" value="19.8"> 19.8
    <input type="checkbox" name="gou" value="19.9"> 19.9
    <input type="checkbox" name="gou" value="20.0"> 20.0
    <br>
    授课
    <input type="checkbox" name="ke" value="19.6"> 19.6
    <input type="checkbox" name="ke" value="19.7"> 19.7
    <input type="checkbox" name="ke" value="19.8"> 19.8
    <input type="checkbox" name="ke" value="19.9"> 19.9
    <input type="checkbox" name="ke" value="20.0"> 20.0
    <br>
    亲和
    <input type="checkbox" name="qin" value="19.6"> 19.6
    <input type="checkbox" name="qin" value="19.7"> 19.7
    <input type="checkbox" name="qin" value="19.8"> 19.8
    <input type="checkbox" name="qin" value="19.9"> 19.9
    <input type="checkbox" name="qin" value="20.0"> 20.0
    <br>

    意见
    <input type="text" name="yijian"> <br>
    时间
    <input type="text" name="time"> <br>
    <input type="submit" value="增加"> <br>



</form>

</body>


<script>

</script>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天会更好fjy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值