学生管理系统

dao层:
package dao;
import util.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Dao 
{
    private static String name;
    private static String ID;
    private static String sname;
    private static String sID;
    private static String course;
    private static String Class;
    private static String password;
    private static int score;
    private static int number;
    private static int mnumber=0;
    boolean a;
    boolean b;
    public PreparedStatement stmt;
    public ResultSet rs;
    public boolean isB() {
        return b;
    }
    public void setB(boolean b) {
        this.b = b;
    }
    public static void setScore(int score) {
        Dao.score = score;
    }
    public static int getMnumber() {
        return mnumber;
    }
    public static void setMnumber(int mnumber) {
        Dao.mnumber = mnumber;
    }
    public static String getName() {
        return name;
    }
    public static void setName(String name) {
        Dao.name = name;
    }
    public static String getID() {
        return ID;
    }
    public static void setID(String iD) {
        ID = iD;
    }
    public static String getSname() {
        return sname;
    }
    public static void setSname(String sname) {
        Dao.sname = sname;
    }
    public static String getsID() {
        return sID;
    }
    public static void setsID(String sID) {
        Dao.sID = sID;
    }
    public static String getCourse() {
        return course;
    }
    public static void setCourse(String course) {
        Dao.course = course;
    }
    public static String getcLass() {
        return Class;
    }
    public static void setClass(String class1) {
        Class = class1;
    }
    public static int getScore() {
        return score;
    }
    public boolean isA() {
        return a;
    }
    public void setA(boolean a) {
        this.a = a;
    }
    public static String getPassword() {
        return password;
    }
    public static void setPassword(String password) {
        Dao.password = password;
    }
    public static int getNumber() {
        return number;
    }
    public static void setNumber(int number) {
        Dao.number = number;
    }
}
bean层:
    package bean;
    import util.Util;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import dao.Dao;
    public class Bean 
    {
        
        Util util=new Util( );
        Dao dao=new Dao( );
        @SuppressWarnings("static-access")
        public void updatePassword(Connection con) throws SQLException
        {

            String str="update studentlogin set 密码=?  where 学号=?";
            dao.stmt=con.prepareStatement(str);
            dao.stmt.setString(1, dao.getPassword( ));
            dao.stmt.setString(2, dao.getsID( ));
            dao.stmt.execute( );
            dao.stmt.close( );
        }
        
        @SuppressWarnings("static-access")
        public int Spassword(Connection con) throws Exception
        {
            String str="select * from studentlogin where 学号=?";
            dao.setA(false); 
            dao.setB(false);
            dao.stmt=con.prepareStatement(str);
            dao.stmt.setString(1, dao.getsID( ));
            dao.rs=dao.stmt.executeQuery( );
            while(dao.rs.next( ))
            {
                dao.setB(true);
                System.out.println(dao.rs.getString("密码"));
                if(dao.rs.getString("密码").equals(dao.getPassword( )))
                {
                    dao.setA(true);
                }
            }
            if(dao.isA()==true)
            {
                return 2;
            }
            else if(dao.isB()==false&&dao.isA()==false)
            {
                dao.setPassword(dao.getsID( ));
                addLogin(util.getConnection( ));
                return 1;
            }
            else
            {
                return 0;
            }
        }
        
        @SuppressWarnings("static-access")
        public boolean Jpassword(Connection con) throws SQLException
        {
            String str="select * from management where 学号=?";
            dao.setA(false); 
            dao.stmt=con.prepareStatement(str);
            dao.stmt.setString(1, dao.getsID( ));
            dao.rs=dao.stmt.executeQuery( );
            while(dao.rs.next( ))
            {
                if(dao.rs.getString("密码").equals(dao.getPassword( )))
                {
                    dao.setA(true);
                }
            }
            if(dao.isA()==true)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        
        @SuppressWarnings("static-access")
        public void AddStudent(Connection con) throws SQLException
        {
            String str="insert into student (姓名,学号,班级,课程,分数) values(?,?,?,?,?)";
            dao.stmt=con.prepareStatement(str);
            dao.stmt.setString(1, dao.getSname( ));
            dao.stmt.setString(2, dao.getsID( ));
            dao.stmt.setString(3, dao.getCourse( ));
            dao.stmt.setString(4, dao.getcLass());
            dao.stmt.setInt(5, 0);
            dao.stmt.execute( );
            dao.stmt.close( );
        }
        @SuppressWarnings("static-access")
        
        public void addLogin(Connection conn) throws SQLException
        {
            String str="insert into studentlogin (学号,密码) values(?,?)";
            dao.stmt=conn.prepareStatement(str);
            dao.stmt.setString(1, dao.getsID( ));
            dao.stmt.setString(2, dao.getPassword( ));
            dao.stmt.execute( );
            dao.stmt.close( );
        }
        @SuppressWarnings("static-access")
        
        public void deleteStudent(Connection conn) throws SQLException
        {
            String str="delete from student where 姓名=?";
            dao.stmt=conn.prepareStatement(str);
            dao.stmt.setString(1, dao.getSname( ));
            dao.stmt.execute( );
            dao.stmt.close( );
        }
        @SuppressWarnings("static-access")
        
        public void updateScore(Connection conn) throws SQLException
        {
            String str="update student set 分数=? where 姓名=?";
            dao.stmt=conn.prepareStatement(str);
            dao.stmt.setInt(1, dao.getScore( ));
            dao.stmt.setString(2, dao.getSname( ));
            dao.stmt.execute( );
            dao.stmt.close( );
        }
    
        @SuppressWarnings("static-access")
        public boolean searchStudent(Connection conn) throws SQLException
        {
            if(dao.getName( )==null)
            {
                System.out.println("我运行了!");
                String str="select * from student where 学号=?";
                dao.setA(false); 
                dao.stmt=conn.prepareStatement(str);
                dao.stmt.setString(1, dao.getsID( ));
                dao.rs=dao.stmt.executeQuery( );
                while(dao.rs.next( ))
                {
                    dao.setA(true);
                    dao.setName(dao.rs.getString("姓名"));
                    dao.setCourse(dao.rs.getString("课程"));
                    dao.setScore(dao.rs.getInt("分数"));
                }
                if(dao.isA( )==false)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
            else
            {
                String str="select * from student where 姓名=?";
                dao.setA(false); 
                dao.stmt=conn.prepareStatement(str);
                dao.stmt.setString(1, dao.getName( ));
                dao.rs=dao.stmt.executeQuery( );
                while(dao.rs.next( ))
                {
                    dao.setA(true);
                    dao.setCourse(dao.rs.getString("课程"));
                    dao.setScore(dao.rs.getInt("分数"));
                }
                if(dao.isA( )==false)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
        }
    
    }
Server层:
    package server;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import bean.Bean;
    import dao.Dao;
    import util.Util;
    @WebServlet("/Addstudent")
    public class Addstudent extends HttpServlet
    {
        public static final long serialVersionUID=1L;
        public  Addstudent ( )
        {
            super( );
        }
        
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException 
        {
            doPost(req,resp);
        }
         @SuppressWarnings("static-access")
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
        {
             resp.setContentType("text/html;charset=utf-8");
             resp.setCharacterEncoding("UTF-8");
             Dao dao=new Dao( );
             Util util=new Util( );
             Bean bean=new Bean( );
             PrintWriter outs=resp.getWriter( );
             String name= req.getParameter("name");
             String course= req.getParameter("course");
             String Class= req.getParameter("Class");
             dao.setSname(name);
             dao.setCourse(course);
             dao.setClass(Class);
             try 
             {
                bean.AddStudent(util.getConnection( ));
                 outs.println("<script type='text/javascript'>"+"alert('完善成功')</script>");
                 outs.println("<script type='text/javascript'>"+"window.location.href='Student.jsp'</script>");
                 outs.close( );
             } 
             catch (Exception e) 
             {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
             }
        }
    }






    package server;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import bean.Bean;
    import dao.Dao;
    import util.Util;
    @WebServlet("/Searchscore")
    public class Searchscore extends HttpServlet
    {
        public static final long serialVersionUID=1L;
        public  Searchscore ( )
        {
            super( );
        }
        
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException 
        {
            doPost(req,resp);
        }
         @SuppressWarnings("static-access")
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
        {
             resp.setContentType("text/html;charset=utf-8");
             resp.setCharacterEncoding("UTF-8");
             PrintWriter outs=resp.getWriter( );
             String ID=req.getParameter("ID");
             String name=(String)req.getParameter("name");
             Bean bean=new Bean( );
             Dao dao=new Dao( );
             Util util=new Util( );
             dao.setsID(ID);
             dao.setName(name);
             try {
                if(bean.searchStudent(util.getConnection( ))==false)
                 {
                     outs.println("<script type='text/javascript'>"+"alert('没有找到')</script>");
                     outs.println("<script type='text/javascript'>"+"window.location.href='Search.jsp'</script>");
                     outs.close( );
                 }
                else
                {
                    req.getRequestDispatcher("/Result.jsp").forward(req, resp);    
                }
            } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
             
             
        }
        
    }







    package server;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import bean.Bean;
    import dao.Dao;
    import util.Util;
    @WebServlet("/serverDelete")
    public class serverDelete extends HttpServlet
    {
        public static final long serialVersionUID=1L;
        public  serverDelete ( )
        {
            super( );
        }
        
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException 
        {
            doPost(req,resp);
        }
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
        {
             resp.setContentType("text/html;charset=utf-8");
             resp.setCharacterEncoding("UTF-8");
             String name= req.getParameter("name");
             int score=Integer.parseInt((String)req.getParameter("score"));
             Dao dao=new Dao( );
             Util util=new Util( );
             Bean bean=new Bean( );
             dao.setSname(name);
             dao.setScore(score);
             if(dao.getMnumber()!=2)
             {
                 try {
                 bean.deleteStudent(util.getConnection( ));
                 } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
                 }
                 PrintWriter outs=resp.getWriter( );
                 outs.println("<script type='text/javascript'>"+"alert('删除成功')</script>");
                 outs.println("<script type='text/javascript'>"+"window.location.href='Mstudent.jsp'</script>");
                 outs.close( );
             }
             else
             {
                 try {
                     bean.updateScore(util.getConnection( ));
                     } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                     }
                     PrintWriter outs=resp.getWriter( );
                     outs.println("<script type='text/javascript'>"+"alert('修改成功')</script>");
                     outs.println("<script type='text/javascript'>"+"window.location.href='Score.jsp'</script>");
                     outs.close( );
             }
        }
    }






    package server;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import bean.Bean;
    import dao.Dao;
    import util.Util;
    @WebServlet("/Loginserver")
    public class ServerLogin extends HttpServlet
    {
        public static final long serialVersionUID=1L;
        public  ServerLogin ( )
        {
            super( );
        }
        
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException 
        {
            doPost(req,resp);
        }
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
        {
             resp.setContentType("text/html;charset=utf-8");
             resp.setCharacterEncoding("UTF-8");
             PrintWriter outs=resp.getWriter( );
             String ID=req.getParameter("ID");
             String password=(String)req.getParameter("password");
             Bean bean=new Bean( );
             Dao dao=new Dao( );
             Util util=new Util( );
             dao.setsID(ID);
             dao.setPassword(password);
             if(dao.getsID().equals("001"))
             {
                 dao.setID(ID);
                 try {
                    if(bean.Jpassword(util.getConnection( ))==false)
                     {
                         outs.println("<script type='text/javascript'>"+"alert('用户名或密码错误,请重新输入!')</script>");
                         outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
                         outs.close( );
                     }
                     else 
                     {
                         req.getRequestDispatcher("/Manegement.jsp").forward(req, resp);
                     }
                } catch (SQLException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                } catch (ServletException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
             }
             else
             {
                 dao.setsID(ID);
                 int i=0;
                try {
                    i = bean.Spassword(util.getConnection( ));
                } catch (Exception e1) {
                    // TODO 自动生成的 catch 块
                    e1.printStackTrace();
                }
                 try {
                    if(i==0)
                     {
                         outs.println("<script type='text/javascript'>"+"alert('用户名或密码错误,请重新输入!')</script>");
                         outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
                         outs.close( );
                     }
                     else if(i==2)
                     {
                         req.getRequestDispatcher("/Student.jsp").forward(req, resp);
                     }
                     else
                     {
                         outs.println("<script type='text/javascript'>"+"alert('您为新用户,初始密码及您的学号,您刚才输入的密码作废,请重新登录')</script>");
                         outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
                         outs.close( );
                     }
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
                 
             }
             
             
        }
        
    }






    package server;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import bean.Bean;
    import dao.Dao;
    import util.Util;
    @WebServlet("/Updatepassword")
    public class Updatepassword extends HttpServlet
    {
        public static final long serialVersionUID=1L;
        public  Updatepassword ( )
        {
            super( );
        }
        
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException 
        {
            doPost(req,resp);
        }
         @SuppressWarnings("static-access")
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
        {
             resp.setContentType("text/html;charset=utf-8");
             resp.setCharacterEncoding("UTF-8");
             PrintWriter outs=resp.getWriter( );
             String opassword=(String)req.getParameter("Opassword");
             String upassword=(String)req.getParameter("Upassword");
             String apassword=(String)req.getParameter("Apassword");
             Bean bean=new Bean( );
             Dao dao=new Dao( );
             Util util=new Util( );
             dao.setPassword(opassword);
                try {
                    if(bean.Spassword(util.getConnection( ))!=2)
                    {
                         outs.println("<script type='text/javascript'>"+"alert('密码输入错误')</script>");
                         outs.println("<script type='text/javascript'>"+"window.location.href='Update.jsp'</script>");
                         outs.close( );
                    }
                    else
                    {
                        dao.setPassword(upassword);
                        if(apassword.equals(dao.getPassword( )))
                        {
                            try {
                                bean.updatePassword(util.getConnection( ));
                            } catch (SQLException e) {
                                // TODO 自动生成的 catch 块
                                e.printStackTrace();
                            } catch (Exception e) {
                                // TODO 自动生成的 catch 块
                                e.printStackTrace();
                            }
                            outs.println("<script type='text/javascript'>"+"alert('修改成功')</script>");
                            outs.println("<script type='text/javascript'>"+"window.location.href='Student.jsp'</script>");
                            outs.close( );
                        }
                        else
                        {
                            outs.println("<script type='text/javascript'>"+"alert('两次输入的不同请重新输入')</script>");
                            outs.println("<script type='text/javascript'>"+"window.location.href='Update.jsp'</script>");
                            outs.close( );
                        }
                    }
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
             }     
    }




util层:
    package util;
    import java.sql.Connection;
    import java.sql.DriverManager;
    public class Util 
    {
        final String URL="jdbc:mysql://localhost:3306/course?&useSSL=false&serverTimezone=UTC";
        final String Name="root";
        final String Password="woshinidie668";
        private Connection con;
        public Connection getConnection() throws Exception
        {
               if(con == null)
                {
                             // 指出连接数据库所需要的驱动程序
                             Class.forName("com.mysql.cj.jdbc.Driver");
                             System.out.println("数据库连接成功!");

                             // 建立与数据库之间的连接
                             con = DriverManager.getConnection(URL,Name,Password);
                             System.out.println("数据库连接成功!");             
                 }
                 return con;
         }
    }

 

posted @ 2020-12-18 21:23  derek&cosmo  阅读(96)  评论(0)    收藏  举报