极简成绩管理系统

小白!
小白!!

纯小白!!!

此文不具任何学习意义,仅仅只是记忆。
总结:
优点:能跑
缺点:
  1. 代码极其混乱,耦合度极高,没有分工作层,所有代码混杂在一起极度混乱(初学时写的(毫无经验,不会分层,不考虑修bug))
  2. 毫无前端技巧,页面极其不美观。
  3. 极易出现bug
  4. 未面向对象
项目介绍:

最基本的成绩管理功能。使用jsp,与servlet完成

Servlet管理
RegisterServlet
package com.example.student;


import com.mysql.cj.protocol.Resultset;
import jdk.nashorn.internal.ir.RuntimeNode;
import com.mysql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.*;

@WebServlet(name = "Register", value = "/register-servlet")
public class RegisterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String sessionCode = (String) request.getSession().getAttribute("session_code");
        String paramCode = request.getParameter("verifyCode");
        //判断验证码
        if (sessionCode != null) {
            if (!sessionCode.equalsIgnoreCase(paramCode)) {
                request.setAttribute("msg", (String) "验证码错误");   //设置错误信息
                RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
                qr.forward(request, response);
                return;
            }
        }
        //获取表单信息
        String identity = request.getParameter("identity");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String apassword = request.getParameter("apassword");

      //  System.out.println(identity+password);
        //判断是否漏填

       if(identity==""||username==""||password==""||apassword==""){
            request.setAttribute("msg",(String)"请完善信息");
            RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
            qr.forward(request, response);
            return;
        }
        if(password.length()<6||password.length()>20){
            request.setAttribute("msg",(String)"密码请保持在6-20位之间");
            RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
            qr.forward(request, response);
            return;
        }
        if(username.length()<2||username.length()>10){
            request.setAttribute("msg",(String)"用户名请保持在2-10位之间");
            RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
            qr.forward(request, response);
            return;
        }
        //如果俩次密码不相同
        if(!password.equals(apassword)){
            request.setAttribute("msg",(String)"俩次密码不相同");
            RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
            qr.forward(request, response);
            return;
        }
        //数据库一系列操作
        try {
            //检查用户名是否重复
            if(sql.checkusername(username)){
                request.setAttribute("msg",(String)"用户名已存在");
                RequestDispatcher qr = request.getRequestDispatcher("/Register.jsp");//获取转发器
                qr.forward(request, response);
                return;
            }

            //注册成功,将数据存入数据库
            sql.insert(identity,username,password);
            request.setAttribute("msg",(String)"恭喜你!注册成功,赶快登录吧!");
            RequestDispatcher qr = request.getRequestDispatcher("/login.jsp");//获取转发器
            qr.forward(request, response);

        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


loginServlet
package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

@WebServlet(name = "loginServlet", value = "/login-servlet")
public class loginServlet extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       // request.setCharacterEncoding("utf-8");

        String sessionCode=(String) request.getSession().getAttribute("session_code");
        String paramCode=request.getParameter("verifyCode");
    if(sessionCode!=null)
        if(!sessionCode.equalsIgnoreCase(paramCode)){
            request.setAttribute("msg",(String)"验证码错误");   //设置错误信息
            RequestDispatcher qr= request.getRequestDispatcher("/login.jsp");//获取转发器
            qr.forward(request,response);
            return;
        }

        String identity=request.getParameter("identity");
        String username=request.getParameter("username"); //获取表单信息
        String password=request.getParameter("password");


        try {
            if(!sql.isuser(identity,username,password)){
                request.setAttribute("msg",(String)"用户名或密码错误");   //设置错误信息
                RequestDispatcher qr= request.getRequestDispatcher("/login.jsp");//获取转发器
                qr.forward(request,response);
            }
            else {
                Cookie cookie=new Cookie("uname",username);  //创建一个名字为uname的cookie
                cookie.setMaxAge(60*60);  //设置cookie命长  60s*60=1h
                response.addCookie(cookie);

                HttpSession session=request.getSession();    //设置一个名为username值得cookie并转到success.jsp界面
                session.setAttribute("username",username);
                session.setAttribute("identity",identity);

                response.sendRedirect(getJsp(request,"mainview.jsp"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


moneyServlet

可用于缴纳学费,充值系统极简

package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.SQLException;

@WebServlet(name = "moneyServlet", value = "/money-servlet")
public class moneyServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // request.setCharacterEncoding("utf-8");
        String username="";
        Cookie [] cs=request.getCookies();
        if(cs!=null){
            for(Cookie c:cs){
                if("uname".equals(c.getName())){
                    username=c.getValue();
                }
            }
        }

        String m=request.getParameter("charge");
        String name= null;

        try {
            name = sql.getname(username);
            if(m==""||m==null){
                int money=sql.getmoney(name);
                if(money<6500){
                    request.setAttribute("nomoney",(String)"您的余额不足");
                    RequestDispatcher qr= request.getRequestDispatcher("/money.jsp");//获取转发器
                    qr.forward(request,response);
                }
                else {
                    sql.pay(name);
                    request.setAttribute("nomoney",(String)"缴费成功");
               //     RequestDispatcher qr= request.getRequestDispatcher("/money.jsp");//获取转发器
               //     qr.forward(request,response);
                    response.sendRedirect("/student_system_war_exploded/money.jsp");
                }
            }
            else {

                if(sql.moneyexit(name))
                sql.charge(name,Integer.parseInt(m));
                else {
                    sql.insermoney(name,Integer.parseInt(m));
                }
                m="";
                request.setAttribute("nomoney",(String)"充值成功");
//                RequestDispatcher qr= request.getRequestDispatcher("/money.jsp");//获取转发器
//                qr.forward(request,response);
                response.sendRedirect("/student_system_war_exploded/money.jsp");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


gradeServlet

插入学生成绩(仅教师身份有此权限)

package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.SQLException;

@WebServlet(name = "gradeServlet", value = "/grade-servlet")
public class gradeServlet extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
         request.setCharacterEncoding("utf-8");
        String name=request.getParameter("name");
        int math=Integer.parseInt(request.getParameter("math"));
        int java=Integer.parseInt(request.getParameter("java"));
        int history=Integer.parseInt(request.getParameter("history"));
        int principle=Integer.parseInt(request.getParameter("principle"));
        int database=Integer.parseInt(request.getParameter("database"));
        try {
            sql.insertgrade(name,math,java,history,principle,database);
        } catch (SQLException e) {
            e.printStackTrace();
        }



        request.setAttribute("s",(String)"插入成功");
    //   RequestDispatcher qr= request.getRequestDispatcher("/grade.jsp");//获取转发器
     //   qr.forward(request,response);
        response.sendRedirect("/student_system_war_exploded/grade.jsp");
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


deletegrade

(仅教师身份有此权限)

package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

@WebServlet(name = "delete", value = "/delete-servlet")
public class deletegrade extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // request.setCharacterEncoding("utf-8");
        String xx=request.getParameter("xx");
        try {
            sql.deletegrade(xx);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        request.setAttribute("s",(String)"删除成功");
     //   RequestDispatcher qr= request.getRequestDispatcher("/grade.jsp");//获取转发器
     //   qr.forward(request,response);
        response.sendRedirect("/student_system_war_exploded/grade.jsp");
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


changeServlet

修改学生基本信息(本人可改)

package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

@WebServlet(name = "changeServlet", value = "/change-servlet")
public class changeServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // request.setCharacterEncoding("utf-8");
        String username="";
        Cookie [] cs=request.getCookies();
        if(cs!=null){
            for(Cookie c:cs){
                if("uname".equals(c.getName())){
                    username=c.getValue();
                }
            }
        }

        try {
            String name = request.getParameter("name");
            String sex = request.getParameter("sex");
            int age = Integer.parseInt(request.getParameter("age"));
            String major = request.getParameter("major");
            String yuan = request.getParameter("yuan");
            String school = request.getParameter("school");
            if(sql.usernameexit(username)){
                sql.update(username, name, sex, age, major, yuan, school);
            }
            else {
                sql.insertpeople(username, name, sex, age, major, yuan, school);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

//        request.setAttribute("change",(String)"修改成功");
//        RequestDispatcher qr= request.getRequestDispatcher("/change.jsp");//获取转发器
//        qr.forward(request,response);
        response.sendRedirect("/student_system_war_exploded/mainview.jsp");
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


changegrade

(仅教师可改)

package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

@WebServlet(name = "changegrade", value = "/changegrade-servlet")
public class changegrade extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // request.setCharacterEncoding("utf-8");
        String xxx=request.getParameter("xxx");


        HttpSession session=request.getSession();    //设置一个名为username值得cookie并转到success.jsp界面
        session.setAttribute("name",xxx);
    //    System.out.println(xxx);
        String name=request.getParameter("name");
        String math=request.getParameter("math");
        String history=request.getParameter("history");
        String java=request.getParameter("java");
        String principle=request.getParameter("principle");
        String database=request.getParameter("database");

     //   math=Integer.valueOf(m).intValue();
//        int math=Integer.parseInt(request.getParameter("math"));
//        int history=Integer.parseInt(request.getParameter("history"));
//        int java=Integer.parseInt(request.getParameter("java"));
//        int principle=Integer.parseInt(request.getParameter("principle"));
//        int database=Integer.parseInt(request.getParameter("database"));
//
//     //   System.out.println(math+"xx"+history+"xx"+java+"xx"+principle+"xx"+database);
        try {
            sql.updategrade(name,math,history,java,principle,database);
        } catch (SQLException e) {
            e.printStackTrace();
        }

     //   request.setAttribute("s",(String)"删除成功");
        response.sendRedirect("/student_system_war_exploded/grade.jsp");
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}


验证码类
VerifyCode
package com.example.student;
import javax.imageio.ImageIO;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;

public class VerifyCode {

    private int w = 70;
    private int h = 35;
    private Random r = new Random();
    //《"宋体","华文楷体","黑体","华文新魏","华文隶书","微软雅黑","楷体_GB2312");
    private String[] fontNames = {"宋体", "华文楷体", "黑体", "微软雅黑", "楷体_GB2312"};
    //可选字符
    private String codes = "23456789abcdefghj kmnopqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ";
    //背景色
    private Color bgColor = new Color(255, 255, 255);
    //验证码上的文本
    private String text;
    //生成随机的颜色

    private Color randomColor() {
        int red = r.nextInt(150);
        int green = r.nextInt(150);
        int blue = r.nextInt(150);
        return new Color(red, green, blue);
    }

    //生成随机的字体
    private Font randomFont() {
        int index = r.nextInt(fontNames.length);
        String fontName = fontNames[index];//生成随机的字体名称
        int style = r.nextInt(4);//生成随机的样式,0(无样式),1(粗体),2(斜体),3(粗体+斜体)
        int size = r.nextInt(5) + 24;//生成随机字号,24-28
        return new Font(fontName, style, size);
    }

    //画干扰线
    private void drawLine(BufferedImage image) {
        int num = 3;//一共画3条
        Graphics2D g2 = (Graphics2D) image.getGraphics();
        for (int i = 0; i < num; i++) {//生成两个点的坐标,即4个值
            int x1 = r.nextInt(w);
            int y1 = r.nextInt(h);
            int x2 = r.nextInt(w);
            int y2 = r.nextInt(h);
            g2.setStroke(new BasicStroke(1.5F));
            g2.setColor(Color.BLUE);//干扰线是蓝色
            g2.drawLine(x1, y1, x2, y2);//画线
        }
    }

    //随机生成一个字符
    private char randomChar() {
        int index = r.nextInt(codes.length());
        return codes.charAt(index);
    }

    //创建BufferedImage
    private BufferedImage createImage() {
        BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = (Graphics2D) image.getGraphics();
        g2.setColor(this.bgColor);
        g2.fillRect(0, 0, w, h);
        return image;
    }

    //调用这个方法得到验证码
    public BufferedImage getImage() {
        BufferedImage image = createImage();//创建图片缓冲区
        Graphics2D g2 = (Graphics2D) image.getGraphics();//得到绘制环境
        StringBuilder sb = new StringBuilder();//用来装载生成的验证码文本
        // 向图片中画4个字符
        for (int i = 0; i < 4; i++) {//循环四次,每次生成一个字符
            String s = randomChar() + "";//随机生成一个字母
            sb.append(s);//把字母添加到ab中
            float x = i * 1.0F * w / 4;//设置当前字符的x轴坐标
            g2.setFont(randomFont());//设置随机字体
            g2.setColor(randomColor());//设置随机颜色
            g2.drawString(s, x, h - 5);//画图
        }
        this.text = sb.toString();//把生成的字符串赋给了this.text
        drawLine(image);//添加干扰线
        return image;
    }//返回验证码图片上的文本

    public String getText() {
        return text;
    }


    //保存图片到指定的输出流
    public static void output(BufferedImage image, OutputStream out)
            throws IOException {

        ImageIO.write(image, "JPEG", out);
    }
}

VerifyCodeServlet
package com.example.student;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "VerifyCodeServlet", value = "/verifycode-servlet")
public class VerifyCodeServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
            VerifyCode vc=new VerifyCode();
            BufferedImage image =vc.getImage();
            request.getSession().setAttribute("session_code",vc.getText()); //将验证码存到session中

            VerifyCode.output(image,response.getOutputStream());
    }
    public String getJsp(HttpServletRequest request, String jsp) {
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
        jsp = jsp;
        return basePath+jsp;
    }
}

数据库操作
package com.example.student;

import java.sql.*;



public class sql {

       public static String url=null;
       public static String username=null;
       public static String password=null;
       public static Statement sta=null;
       public static Connection con=null;
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            url="jdbc:mysql://localhost:3306/mouse?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
            username="root";
            password="111111";
            con= DriverManager.getConnection(url,username,password);
            sta=con.createStatement();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public  static boolean checkusername(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM user");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {

                return true;
            }
        }
        return false;
    }

    public  static boolean usernameexit(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                return true;
            }
        }
        return false;
    }

    public static boolean moneyexit(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM money");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)) {
                return true;
            }
        }
        return false;
    }

    public static boolean gradeexit(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)) {
                return true;
            }
        }
        return false;
    }
    //插入用户
    public static void insert(String identity,String username,String password) throws SQLException {
        String sql="INSERT INTO user VALUES('" +
                username+
                "','"+
                identity+
                "','"+
                password+
                "')";
        int m=sta.executeUpdate(sql);
    }

    //插入个人信息
    public  static  void insertpeople(String username,String name,String sex,int age,String major,String yuan,String school) throws SQLException {
        String sql="INSERT INTO people VALUES('"+
                    username+
                    "','"+
                    name+
                "','"+
                    sex+
                "','"+
                    age+
                "','"+
                    major+
                "','"+
                    yuan+
                "','"+
                    school+
                "')";
        int m=sta.executeUpdate(sql);
    }
    public  static  void insermoney(String name,int money) throws SQLException {
        int ma=0;
        String sql="INSERT INTO money VALUES('"+
                name+
                "',"+
                money+
                ","+
                ma+
                ")";
        int m=sta.executeUpdate(sql);
    }

    public static void insertgrade(String name,int math,int history,int java,int principle,int database) throws SQLException {
        int ma=0;
        String sql="INSERT INTO grade VALUES('"+
                name+
                "',"+
                math+
                ","+
                java+
                ","+
                history+
                ","+
                principle+
                ","+
                database+
                ")";
        int m=sta.executeUpdate(sql);
    }


    //修改个人信息
    public static void update(String username,String name,String sex,int age,String major,String yuan,String school) throws SQLException {
        String sql="UPDATE people SET namee='"+
                name+
                "',sex='"+
                sex+
                "',age="+
                age+
                ",major='"+
                major+
                "',yuan='"+
                yuan+
                "',school='"+
                school+
                "' WHERE username='"+
                username+
                "'";
        int m=sta.executeUpdate(sql);
    }

    public static void updategrade(String name,String math,String history,String java,String principle,String database) throws SQLException {
        try{
            int m=Integer.parseInt(math);  int h=Integer.parseInt(history);  int j=Integer.parseInt(java);
            int p=Integer.parseInt(principle);  int d=Integer.parseInt(database);
            String sql="UPDATE grade SET math="+
                    m+
                    ",history="+
                    h+
                    ",java="+
                    j+
                    ",principle="+
                    p+
                    ",datab="+
                    d+
                    " WHERE namee='"+
                    name+
                    "'";
            int t=sta.executeUpdate(sql);
   //         System.out.println("name:"+name+"math:"+math+"history:"+history+"java:"+java+"principle:"+principle+"datab:"+database);
        }catch (Exception e){
            e.printStackTrace();
        }


    }

    public static void deletegrade(String name) throws SQLException {
        String sql="DELETE FROM grade WHERE namee='"+
                name+
                "'";
        int m=sta.executeUpdate(sql);
    }
    //判断是否注册
    public static boolean isuser(String identity,String username,String password) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM user");
        while(rs.next()){
            String a=rs.getString("username");
            String b=rs.getString("identity");
            String c=rs.getString("apassword");

            if(a.equals(username)&&b.equals(identity)&&c.equals(password)) {
                return true;
            }
        }
        return false;
    }
    public static String getidentity(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM user");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
              break;
            }
        }
      return rs.getString("identity");
    }

    public static String getname(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        String re=null;
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
               re=rs.getString("namee");
            }
        }
        return re;
    }

    public static String getsex(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                break;
            }
        }
        return rs.getString("sex");
    }

    public static int getage(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                break;
            }
        }
        return rs.getInt("age");
    }

    public static String getmajor(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                break;
            }
        }
        return rs.getString("major");
    }

    public static String getyuan(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                break;
            }
        }
        return rs.getString("yuan");
    }

    public static String getschool(String username) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM people");
        while(rs.next()){
            String a=rs.getString("username");
            if(a.equals(username)) {
                break;
            }
        }
        return rs.getString("school");
    }

    public static int getmoney(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM money");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)) {
                break;
            }
        }
        return rs.getInt("mimi");
    }

    public static boolean getstate(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM money");
        while(rs.next()) {
            String a = rs.getString("namee");
            if (a.equals(name)) {
                break;
            }
        }
        return rs.getBoolean("state");
    }

    public static String[] getnames() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        String []a=new String[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getString("namee");
        }
        return a;
    }

    public static int geti() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int i=1;
        while(rs.next()){
            i++;
        }
        return i;
    }

    public static int getmath(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)){
                break;
            }
        }
        return rs.getInt("math");
    }

    public static int[] getmaths() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int []a=new int[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getInt("math");
        }
        return a;
    }

    public static int getjava(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)){
                break;
            }
        }
        return rs.getInt("java");
    }

    public static int[] getjavas() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int []a=new int[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getInt("java");
        }
        return a;
    }

    public static int gethistory(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)){
                break;
            }
        }
        return rs.getInt("history");
    }

    public static int[] gethistorys() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int []a=new int[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getInt("history");
        }
        return a;
    }

    public static int getprinciple(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)){
                break;
            }
        }
        return rs.getInt("principle");
    }

    public static int[] getprinciples() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int []a=new int[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getInt("principle");
        }
        return a;
    }

    public static int getdatab(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        while(rs.next()){
            String a=rs.getString("namee");
            if(a.equals(name)){
                break;
            }
        }
        return rs.getInt("datab");
    }

    public static int[] getdatabs() throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM grade");
        int []a=new int[50];
        int i=1;
        while(rs.next()){
            a[i++]=rs.getInt("datab");
        }
        return a;
    }

    public static void pay(String name) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM money");
        while(rs.next()) {
            String a = rs.getString("namee");
            if (a.equals(name)) {
                break;
            }
        }
        int money=rs.getInt("mimi")-6500;
        String sql="UPDATE money SET mimi="+
                    money+
                    ",state=1"+
                " WHERE namee='"+
                name+
                "'";
        int m=sta.executeUpdate(sql);
    }

    public static void charge(String name,int mm) throws SQLException {
        ResultSet rs=sta.executeQuery("SELECT *FROM money");
        while(rs.next()) {
            String a = rs.getString("namee");
            if (a.equals(name)) {
                break;
            }
        }
        int money=rs.getInt("mimi")+mm;
        String sql="UPDATE money SET mimi="+
                money+
                " WHERE namee='"+
                name+
                "'";
        int m=sta.executeUpdate(sql);
    }
}

页面
lojin.jsp
<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/1/20
  Time: 22:46
  To change this template use File | Settings | File Templates.
--%>

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>登录</title>

</head>
<body>
<h1>登录</h1>
<%
    String uname="";
    Cookie [] cs=request.getCookies();
    if(cs!=null){
        for(Cookie c:cs){  //遍历cookie,查找是否有登录成功的用户,如果有,则将该用户的用户名自动填入表单的用户名框中
            if("uname".equals(c.getName())){
                uname=c.getValue();
            }
        }
    }
%>
<%
    String message="";
    String msg=(String) request.getAttribute("msg");  //获取错误信息,
    if(msg!=null){
        message=msg;     //防止出现“null”
    }
%>
<span color="red"> <b> <%= message%></b></span>
<form action="login-servlet" method="post" >
    身 份:<input type="text" name="identity"/><br/>
    用户名:<input type="text" name="username" value="<%=uname%>"/><br/>
    密 码:<input type="password" name="password"/><br/>
    验证码:<input type="text" name="verifyCode" size="3"/>
            <img src="verifycode-servlet"/>

    <br/>
    <input type="submit" value="登录"/>
</form>
<form action="Register.jsp" method="post">
    <input type="submit" value="注册">
</form>
</body>
</html>

Register.jsp
<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/8
  Time: 19:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册</title>
</head>
<body>
<h1>注册</h1>
<%
    String message="";
    String msg=(String) request.getAttribute("msg");  //获取错误信息,
    if(msg!=null){
        message=msg;     //防止出现“null”
    }
%>
<span color="red"> <b> <%= message%></b></span>
<form action="register-servlet" method="get">
    身        份:<input type="text" name="identity"/><br/>
    用    户   名:<input type="text" name="username"/><br/>
    密        码:<input type="text" name="password"/><br/>
    请再次输入密码:<input type="text" name="apassword"/><br/>
    验    证   码:<input type="text" name="verifyCode" size="3"/>
    <img src="verifycode-servlet"/><br/>
    <input type="submit" value="注册"/>
</form>
</body>
</html>

mainview.jsp
<%@ page import="com.example.student.sql" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/9
  Time: 20:10
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String username=(String) session.getAttribute("username");  //检查是否存在username的sesSion,防止用户直接输入地址越过登录
    if(username==null){
        request.setAttribute("msg","您还没有登录");
        request.getRequestDispatcher("/login.jsp").forward(request,response);
        return;
    }
    String identity=(String) session.getAttribute("identity");

    String name=null;
    String sex=null;
    int age = 0;
    String major=null;
    String yuan=null;
    String school=null;
    if(sql.usernameexit(username)){
        name= sql.getname(username);
        sex=sql.getsex(username);
        age=sql.getage(username);
        major=sql.getmajor(username);
        yuan=sql.getyuan(username);
        school=sql.getschool(username);
    }

%>

<% if(identity.equals("teacher")){ %>
<%="您好"+username+"老师"%>
<% } %>

<% if(identity.equals("student")){ %>
<%="您好"+username%>
<% } %>
<br/>
<%="个人信息中心:"%>
<br/>
<% if(sql.usernameexit(username)){ %>
<%="姓名:"+name%>
<br/>
<%="性别:"+sex%>
<br/>
<%="年龄:"+age%>
<br/>
<%="专业:"+major%>
<br/>
<%="学院:"+yuan%>
<br/>
<%="学校:"+school%>
<br/>
<% } else {%>
<%= "还未加入个人信息,快去添加吧!"%>
<br/>
<% } %>
<%="请选择您要进行的操作:"%><br/>
<a href="change.jsp">修改个人信息</a>
<a href="grade.jsp">查看成绩</a>
<a href="money.jsp">交易系统</a>
</body>
</html>

money.jsp
<%@ page import="com.example.student.sql" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/9
  Time: 21:33
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>money</h1>
<%
    String username=(String) session.getAttribute("username");  //检查是否存在username的sesSion,防止用户直接输入地址越过登录
    if(username==null){
        request.setAttribute("msg","您还没有登录");
        request.getRequestDispatcher("/login.jsp").forward(request,response);
        return;
    }
    String name= sql.getname(username);
    int money=0;
    if(sql.moneyexit(name)){
        money=sql.getmoney(name);
    }
%>
<%=
    "您好,"+name+",您现在有:"
%>
<br/>
<%=
    money+"元"
%>
<br/>
<form action="money-servlet" method="get">
    充钱:<input type="text" name="charge"><br/>
    <input type="submit" value="确定"/>
</form>

<%=
      "本学期学费为:6500元"
%>
<br/>
<% if(sql.moneyexit(name)){if(sql.getstate(name)){ %>
<%=
    "您已经缴费"
%>
<br/>
<%
    String message="";
    String msg=(String) request.getAttribute("nomoney");  //获取错误信息,
    if(msg!=null){
        message=msg;     //防止出现“null”
    }
%>
<span color="red"> <b> <%= message%></b></span>
<% } else {%>
<form action="money-servlet" method="get">
    <input type="submit" value="缴费">
</form>
<% } }%>

</body>
</html>

grade.jsp

输出学生成绩,使用jQuery响应点击事件

<%@ page import="com.example.student.sql" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/9
  Time: 21:31
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style>
        h1{
            text-align: center;
        }
        p{
            text-align: center;
        }
        .ss{
            position: absolute;
            left: 500px;
            top:500px;
        }
    </style>
</head>
<body>
<%
    String username=(String) session.getAttribute("username");  //检查是否存在username的sesSion,防止用户直接输入地址越过登录
//    if(username==null){
//        request.setAttribute("msg","您还没有登录");
//        request.getRequestDispatcher("/login.jsp").forward(request,response);
//        return;
//    }
%>
<h1>成绩列表</h1>
<p>删除请手动刷新qwq</p>
<table align="center" cellpadding="0" align="center" width="800" height="70">
    <tr bgcolor="blue">
        <th>姓 名</th>
        <th>高 数</th>
        <th>近代史</th>
        <th>java</th>
        <th>计 组</th>
        <th>数据库</th>
        <th colspan="2">操作</th>
    </tr>
<%
        String name=sql.getname(username);
        if(sql.usernameexit(username)){
            if("student".equals(sql.getidentity(username))){
                if(sql.gradeexit(name)){
                    int math=sql.getmath(name);
                    int history=sql.gethistory(name);
                    int database=sql.getdatab(name);
                    int java=sql.getjava(name);
                    int principle=sql.getprinciple(name);
 %>
    <tr align="center">
        <td><%=name%></td>
        <td><%=math%></td>
        <td><%=history%></td>
        <td><%=java%></td>
        <td><%=principle%></td>
        <td><%=database%></td>
        <td>         </td>
    </tr>
<%
                }
            }else {
                if(sql.geti()!=1){
                String []names=sql.getnames();
                int []maths=sql.getmaths();
                int []historys=sql.gethistorys();
                int []principles=sql.getprinciples();
                int []javas=sql.getjavas();
                int []databases=sql.getdatabs();
                for(int i=1;i<sql.geti();i++){
%>
    <tr align="center">
        <td><%=names[i]%></td>
        <td><%=maths[i]%></td>
        <td><%=historys[i]%></td>
        <td><%=javas[i]%></td>
        <td><%=principles[i]%></td>
        <td><%=databases[i]%></td>
      <td><button class="del"  value="<%=names[i]%>">删除</button>
           <button class="ca" value="<%=names[i]%>">修改</button>        </td>

    </tr>
<%
            }
               }
%>
    <form action="addgrade.jsp" method="get"  >
        <input type="submit" value="添加成绩" align="center" id="ss">
<%
            }
         }else {
%>
    <h1>您还未记入个人信息</h1>
            <%
    String message="";
    String msg=(String) request.getAttribute("s");  //获取错误信息,
    if(msg!=null){
        message=msg;     //防止出现“null”
    }
%>
        <span> <b> <%= message%></b></span>
<%
    }
%>
</table>
</body>
</html>
<script src="jquery-1.8.3.js">
</script>
<script>

    $(function(){
        $(".del").click(function (){
            $.ajax({
                type : "post",
                //servlet文件名为Calculator,需要提前在web.xml里面注册
                url : "delete-servlet",
                dataType : "text",  //数据类型,可以为json,xml等等,自己百度
                data :
                    {
                        "xx" : $(this).val()        //操作数
                    },
                success : function(Result)
                {
                    //Result为后端post函数传递来的数据,这里写结果操作代码
                },
                error : function(xhr, status, errMsg)
                {
                    alert("数据传输失败!");
                }
            });

        })

        $(".ca").click(function (){
         //   alert($(this).val())
            $.ajax({
                //直接"post"或者"get",不需要"doPost","doGet",该函数到后端接收缓冲区会自动匹配
                type : "post",
                //servlet文件名为Calculator,需要提前在web.xml里面注册
                url : "changegrade-servlet",
                dataType : "text",  //数据类型,可以为json,xml等等,自己百度
                data :
                    {
                        "xxx" : $(this).val()        //操作数

                    },
                success : function(Result)
                {
                    //Result为后端post函数传递来的数据,这里写结果操作代码
                },
                error : function(xhr, status, errMsg)
                {
                    alert("数据传输失败!");
                }
            });
            location.href="changegrade.jsp"
        })
    })
</script>
changegrade.jsp
<%@ page import="com.example.student.sql" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/11
  Time: 19:38
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改成绩</title>
</head>
<body>
<%
    String username=(String) session.getAttribute("username");  //检查是否存在username的sesSion,防止用户直接输入地址越过登录
    if(username==null){
      request.setAttribute("msg","您还没有登录");
     request.getRequestDispatcher("/login.jsp").forward(request,response);
      return;
    }

    String name=(String) session.getAttribute("name");
    int math= sql.getmath(name);
    int history=sql.gethistory(name);
    int java=sql.getjava(name);
    int principle=sql.getprinciple(name);
    int database=sql.getdatab(name);
%>
<h1>修改成绩</h1>
<form action="changegrade-servlet" method="post">
    姓名:<input type="text" name="name" value="<%=name%>"/><br/>
    高数::<input type="text" name="math" value="<%=math%>"/><br/>
    近代史::<input type="text" name="history" value="<%=history%>"/><br/>
    java::<input type="text" name="java" value="<%=java%>"/><br/>
    计组:<input type="text" name="principle" value="<%=principle%>"/><br/>
    数据库::<input type="text" name="database" value="<%=database%>"/><br/>

    <input type="submit" value="修改"/>
</form>
</body>
</html>

change.jsp
<%@ page import="com.example.student.sql" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/9
  Time: 21:32
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String username=(String) session.getAttribute("username");  //检查是否存在username的sesSion,防止用户直接输入地址越过登录
    if(username==null){
        request.setAttribute("msg","您还没有登录");
        request.getRequestDispatcher("/login.jsp").forward(request,response);
        return;
    }
%>
<%
   String name="";
   String sex="";
   int age=0;
   String major="";
   String yuan="";
   String school="";
   if(sql.usernameexit(username)){
       name=sql.getname(username);
       sex=sql.getsex(username);
       age=sql.getage(username);
       major=sql.getmajor(username);
       yuan=sql.getyuan(username);
       school=sql.getschool(username);

   }

%>

<h1>修改个人信息</h1>
<%
    String message="";
    String msg=(String) request.getAttribute("change");  //获取错误信息,
    if(msg!=null){
        message=msg;     //防止出现“null”
    }
%>
<span > <b> <%= message%></b></span>
<form action="change-servlet" method="get">
    姓名:<input type="text" name="name" value="<%=name%>"/><br/>
    性别:<input type="text" name="sex" value="<%=sex%>"/><br/>
    年龄:<input type="text" name="age" value="<%=age%>"/><br/>
    专业:<input type="text" name="major" value="<%=major%>"/><br/>
    学院:<input type="text" name="yuan" value="<%=yuan%>"/><br/>
    学校:<input type="text" name="school" value="<%=school%>"/><br/>
    <input type="submit" value="修改!" /><br/>
</form>
</body>
</html>

addgrade.jsp
<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2022/2/11
  Time: 17:40
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加个人成绩</title>
</head>
<body>
<h1>添加个人成绩</h1>
<form action="grade-servlet" method="post">
    姓名:<input type="text" name="name"/><br/>
    高数:<input type="text" name="math" /><br/>
    近代史:<input type="text" name="history"/><br/>
    java:<input type="text" name="java" /><br/>
    计组:<input type="text" name="principle" /><br/>
    数据库:<input type="text" name="database"/><br/>

    <input type="submit" value="确定"/>
</form>
</body>
</html>

配置文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>student-system</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>student-system</name>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <junit.version>5.8.1</junit.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
        </plugins>
    </build>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值