美文网首页
JAVA从0到1开发学生成绩管理系统-JSP

JAVA从0到1开发学生成绩管理系统-JSP

作者: HelloWorld丶小工匠 | 来源:发表于2021-01-18 00:55 被阅读0次

    概述:

    这篇文章,作者会记录从0到1去实现一个Java的简单的 学生成绩管理系统

    目的是对JSP 的学习内容进行巩固,此文章是随笔笔记,可能会比较混乱。
    总结一句话:jsp写页面交互是真的烦!!!


    image.png

    环境搭建:

    .java ideal tomcat Mysql 的安装配置

    1.Ideal 下载安装配置 https://blog.csdn.net/weixin_44323869/article/details/90546148

    注意一些配置,包括字符统一设置为UTF-8

    2.Tomcat的下载安装:https://www.cnblogs.com/limn/p/9358657.html

    可能会存在一些问题注意,JAVA_HOME的配置 以及统一字符集utf-8
    3.MySQL的下载安装配置:https://www.jianshu.com/p/1b0dbbc29501

    功能分析:

    本系统需要完zhuan成的功能主要部分

    1、登录模块:具有不同权限的管理人员可以通过用户名和密码登录系统,进入主界面。

    2、学生成绩查询模块:按操作员输入的编号、姓名能以查询一个至多个学生的学生记录,并可打印存档。

    3、学生成绩录入模块:录入学生成绩信息,输入完成后,将数据存盘。

    4、学生成绩修改模块:对已存档的学生进行日常管理,如修改学生成绩、增加、删除等基本操作。

    5、用户管理模块:赋予高级管理者以增加、删除、修改普通管理员的权限。赋予普通管理员修改密码的权限。

    6、系统帮助模块:简单介绍本系统各模块的使用方法。

    7、退出系统模块:退出系统返回登录界面。

    数据库搭建建立:

    用户表:

    image

    成绩表:


    image.png

    功能实现:

    1.查询用户:

    
    req.setCharacterEncoding("UTF-8");
    
            resp.setCharacterEncoding("UTF-8");
    
            PrintWriter out = resp.getWriter();
    
            //设置服务器端以UTF-8编码进行输出
    
            String username = req.getParameter("username");//获得表单数据
    
            String sql ="select * from user where username LIKE ?";
    
            List list = CRUDTemplate.executeQuery(sql, new BeanListHandler<>(User.class), "%"+username+"%");
    
            AppResult> result=new AppResult<>();
    
            if (username.equals("")||list.size() ==0) {
    
    //                req.setAttribute("list","");
    
    //                req.getRequestDispatcher("usermanage.jsp").forward(req,resp);
    
                //现在很多持久层框架都是把数据库返回的记录转化为JavaBean处理
    
                //此处省略连接数据库查询,得到Student类实例
    
                result.setCode(400);
    
                result.setData(null);
    
                result.setMsg("没有查到该用户");
    
                //使用fastjson将java对象转换为json字符串
    
                String jsonStr = JSON.toJSONString(result);
    
                out.print(jsonStr);
    
            }else {
    
    //                req.setAttribute("list",list);
    
    //                req.getRequestDispatcher("usermanage.jsp").forward(req,resp);
    
                result.setData(list);
    
                //使用fastjson将java对象转换为json字符串
    
                String jsonStr = JSON.toJSONString(result);
    
                System.out.println(jsonStr);
    
                out.print(jsonStr);
    
            }
    
    

    2.删除用户:

      String username = req.getParameter("id");//获得表单数据
    
    
            String sql = "delete  from user where id=?";
            int list = CRUDTemplate.executeUpdate(sql,  username);
            AppResult<Integer
                    > result=new AppResult<>();
    
    
            if (username.equals("")||list == 0) {
    //                req.setAttribute("list","");
    //                req.getRequestDispatcher("usermanage.jsp").forward(req,resp);
    
                //现在很多持久层框架都是把数据库返回的记录转化为JavaBean处理
                //此处省略连接数据库查询,得到Student类实例
                result.setCode(400);
                result.setData(0);
                result.setMsg("删除失败");
    
                //使用fastjson将java对象转换为json字符串
                String jsonStr = JSON.toJSONString(result);
                out.print(jsonStr);
    
            } else {
    //                req.setAttribute("list",list);
    //                req.getRequestDispatcher("usermanage.jsp").forward(req,resp);
                result.setData(Integer.parseInt(username));
                //使用fastjson将java对象转换为json字符串
                String jsonStr = JSON.toJSONString(result);
    
                System.out.println(jsonStr);
                out.print(jsonStr);
            }
    

    开发随笔:

    1.不要使用servlet里面跳转jsp的传数据方式,使用Ajax执行异步查询并更新数据

    2.登录模块直接servlet执行,跳转成功页面的主页面的jsp

    3.使用cookie保存登录状态,cookie的存取,需要注意

    4.IllegalArgumentException: argument type mismatch
    注意数据库,java代码里面的对应的实体类,字段名 类型必须一致 否则报错

    5.jq引入 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

    6.boostrap引入

    7.jq获取点击的控件id:

    
    $(function(){
    
    $(document).click(function(e) {// 在页面任意位置点击而触发此事件
    
            var v_id =$(e.target).attr('id');
    
            var name =$(e.target).attr('name');
    
            console.log(name+"--当前id:"+v_id);
    
            if (name=='delete'){
    
    deleteUser(v_id);
    
            }
    
    })
    
    });
    
    

    相关文章

      网友评论

          本文标题:JAVA从0到1开发学生成绩管理系统-JSP

          本文链接:https://www.haomeiwen.com/subject/hvktzktx.html