基于javaweb+jsp的学生考勤管理系统(带报告文档)

基于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等均可配置运行

适用

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


    @Autowired
    private CourseService courseService;

    /**
     * 增加课程
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("courseAdd")
    public void add(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Course vo = new Course();
        //取出页面传进来的参数
        vo.setCourseName(Util.decode(request, "courseName"));
        vo.setCourseTeacher(Util.decode(request, "courseTeacher"));
        vo.setCourseYear(Util.decode(request, "courseYear"));
        vo.setCourseTime(Util.decode(request, "courseTime"));
        //调用Service层的增加(insert)方法
        courseService.insert(vo);
        this.redirectList(request, response);
    }
        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) studentService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果list
        pb.setServlet("studentList");
        pb.setSearchColumn(searchColumn);
        pb.setKeyword(keyword);
        pb.setList(list);
        request.getSession().setAttribute("pageBean", pb);
        request.getSession().setAttribute("list", pb.getList());

        response.sendRedirect("student_list.jsp");
    }
/**
 * 学生(t_student表对应的Java实体类)
 */
public class Student implements Serializable {
    private Long id;//主键
    private String studentNo;//学号
    private String studentName;//姓名
    private String studentSex;//性别:男/女
    private String studentClass;//所属班级
    private String studentPhone;//电话
    private String studentEmail;//邮箱
    private String studentText;//备注

    public Long getId() {
        vo.setUserType(Util.decode(request, "userType"));
        //调用Service层的增加(insert)方法
        userService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除用户
     *
     * @param response
     * @param request
     * @throws IOException
     */
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS);
    }

    /**
     * 判断字符串是否是乱码
     *
     * @param strName
     * @return
     */
    public static boolean isMessyCode(String strName) {
        java.util.regex.Pattern p = java.util.regex.Pattern.compile("\\s*|\t*|\r*|\n*");
        java.util.regex.Matcher m = p.matcher(strName);
        String after = m.replaceAll("");
        String temp = after.replaceAll("\\p{P}", "");
        char[] ch = temp.trim().toCharArray();
        float chLength = 0;
        float count = 0;
        for (int i = 0; i < ch.length; i++) {
            char c = ch[i];
            if (!Character.isLetterOrDigit(c)) {
                if (!isChinese(c)) {
                    count = count + 1;
                }
                chLength++;
            }
        vo.setId(Long.valueOf(Util.decode(request, "id")));
        vo.setNoticeName(Util.decode(request, "noticeName"));
        vo.setNoticeText(Util.decode(request, "noticeText"));
        vo.setNoticeType(Util.decode(request, "noticeType"));
        vo.setCreateDate(Util.decode(request, "createDate"));
        noticeService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取公告的详细信息(详情页面与编辑页面要显示该公告的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"noticeGet", "noticeEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = Util.decode(request, "id");//取出主键id
        Notice vo = noticeService.get(id);
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-rect btn-grad btn-warning" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-rect btn-grad btn-warning">提交</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- info -->
<div class="modal fade" id="modal-info" tabindex="-1" role="dialog"
     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>
        `id`,`student_no`,`student_name`,`student_sex`,`student_class`,`student_phone`,`student_email`,`student_text`
    </sql>

    <!--新增-->
    <insert id="doCreate" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.demo.vo.Student">
        INSERT INTO `t_student`
        <trim prefix="(" suffix=")" suffixOverrides=",">
                    <if test ='id != null'>`id`,</if>
                    <if test ='studentNo != null'>`student_no`,</if>
                    <if test ='studentName != null'>`student_name`,</if>
                    <if test ='studentSex != null'>`student_sex`,</if>
                    <if test ='studentClass != null'>`student_class`,</if>
                    <if test ='studentPhone != null'>`student_phone`,</if>
                    <if test ='studentEmail != null'>`student_email`,</if>
                    <if test ='studentText != null'>`student_text`</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                    <if test ='id != null'>#{id},</if>
                    <if test ='studentNo != null'>#{studentNo},</if>
                    <if test ='studentName != null'>#{studentName},</if>
                    <if test ='studentSex != null'>#{studentSex},</if>
                    <if test ='studentClass != null'>#{studentClass},</if>
                    <if test ='studentPhone != null'>#{studentPhone},</if>
                    <if test ='studentEmail != null'>#{studentEmail},</if>
                    <if test ='studentText != null'>#{studentText}</if>
        </trim>
                <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-rect btn-grad btn-warning" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-rect btn-grad btn-primary">删除</button>
                </div>
            </form>
        </div>
    </div>
</div>

</body>
<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);
    })
                    </c:otherwise>
                </c:choose>
                </td>
                            <th style="text-align: center;">
                                <button class="btn btn-rect btn-grad btn-default btn-sm" data-id="${vo.id}"
                                        data-toggle="modal" data-target="#modal-info">详情
                                </button>
                                <button class="btn btn-rect btn-grad btn-warning btn-sm"
                                                <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if>
                                        data-id="${vo.id}"
                                        data-toggle="modal" data-target="#modal-edit">编辑
                                </button>
                                <button class="btn btn-rect btn-grad btn-primary btn-sm" <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> data-id="${vo.id}"
                                        data-toggle="modal" data-target="#modal-delete">删除
                                </button>
                            </th>
                        </tr>
                    </c:forEach>
                    </tbody>
                </table>
            </div>
            <div style="float: right;padding-right: 10px;color: #515151;"><jsp:include page="split.jsp"/></div>
        </div>
    </div>

运行环境

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…均可修改

适用

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

功能说明

登录、注册、退出、用户模块、公告模块、课程模块、考勤模块、学生模块的增删改查管理

20220319000133

20220319000134

20220319000135

20220319000136

20220319000137

20220319000138

20220319000139

20220319000140

20220319000141

20220319000142

20220319000143

20220319000144

document

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2.2.1学生信息处理 2.2.1.1.增加学生记录 业务流程描述: 1:要求用户从键盘输入一个或多个学生信息; 2:学生记录不允许重复,判断的关键字为学号。 业务规则说明: 1:从菜单选择添加学生信息; 2:性别限制男女; 3:学号作为唯一标示符:(1)不能出现重复学号;(2)学号必须是数字组成。 2.2.1.2删除学生记录 业务流程描述: 1:要求用户输入欲删除的学生的学号; 2:删除学生记录; 3:更新到数据表。 业务规则说明: 1:给定一个学生学号删除一个学生信息; 2:查看数据表中是否有输入学号的学生信息,如果存在则删除该学号学生信息,如果没有重新输入; 3:如果删除成功更新数据表。 2.2.1.3.查看学生记录 业务流程描述: 1:输入学生学号; 2:若该学生存在,显示该学生相关信息。 业务规则说明: 1:输入学生学号; 2:判断学生是否存在; 3:如果存在显示单个学生,如果不存在提示不存在,重新输入。 2.2.1.4.修改学生记录 业务流程描述: 1:要求用户输入欲修改的学生的学号; 2:判断该学生是否存在于记录中; 3:若学生记录存在,修改学生信息。 业务规则说明: 1:给定一个欲修改学生的学号; 2:查看数据表是否有输入学号的学生信息,如果存在学生对象,继续下一步,如果没有重新输入。 3:显示该学号学生信息; 4:修改学生信息; 5:修改后将信息更新到数据表中。 2.2.2教师信息处理 2.2.2.1.增加教师记录 业务流程描述: 1:要求用户从键盘输入一个或多个教师信息; 2:教师记录不允许重复,判断的关键字为教师编号。 业务规则说明: 1:从菜单选择添加教师信息; 2:性别限制男女; 3:教师编号作为唯一标示符:(1)不能出现重复教师编号;(2)教师编号必须是数字组成。 2.2.2.2删除教师记录 业务流程描述: 1:要求用户输入欲删除的教师的编号; 2:删除教师记录; 3:更新到数据表。 业务规则说明: 1:给定一个教师编号删除一个教师信息; 2:查看数据表中是否有输入教师编号的教师信息,如果存在则删除该教师编号教师信息,如果没有重新输入; 3:如果删除成功更新数据表。 2.2.2.3.查看学生记录 业务流程描述: 1:输入教师编号; 2:若该教师存在,显示该教师相关信息。 业务规则说明: 1:输入教师编号; 2:判断教师是否存在; 3:如果存在显示教师信息,如果不存在提示不存在,重新输入。 2.2.2.4.修改学生记录 业务流程描述: 1:要求用户输入欲修改的教师的编号; 2:判断该教师是否存在于记录中; 3:若教师记录存在,修改教师信息。 业务规则说明: 1:给定一个欲修改教师的编号 2:查看数据表是否有输入编号的教师信息,如果存在教师对象,继续下一步,如果没有重新输入; 3:显示该教师编号教师信息; 4:修改教师信息; 5:修改后将信息更新到数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值