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

概述:

这篇文章,作者会记录从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 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引入

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)