javaee学生信息管理系统报告

合集下载

学生管理系统JAVA实验报告

学生管理系统JAVA实验报告

实验报告学生信息管理系统学号:XXXXXXXX姓名:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。

对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。

本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。

AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at thesame time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level. 1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、姓名、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。

并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。

五、实验任务设计学生信息管理系统。

要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。

而普通用户只可以查找学生信息。

2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。

六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6,my eclipse或者EditPlus编程工具。

并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。

五、实验任务设计学生信息管理系统。

要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。

而普通用户只可以查找学生信息。

2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。

六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args){FirstWindow win =new FirstWindow(学生信息管理系统); }}class FirstWindow extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel(欢迎使用学生管理系统,JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu(使用);menu2=new JMenu(用户管理);menu3=new JMenu(帮助);menu4=new JMenu(退出);a11=new JMenuItem(管理员登录);a12=new JMenuItem(查询学生信息);a13=new JMenuItem(更改学生信息);a14=new JMenuItem(删除学生信息);a15=new JMenuItem(添加学生信息);a16=new JMenuItem(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。

基于JAVAEE的高校学生信息管理系统的设计与实现

基于JAVAEE的高校学生信息管理系统的设计与实现

基于JAVAEE的高校学生信息管理系统的设计与实现【摘要】本文详细介绍了基于JAVAEE的高校学生信息管理系统的设计与实现。

在系统架构设计中,采用了分层结构和模块化设计,提高系统的可扩展性和灵活性。

数据库设计部分涵盖了数据库表的设计和关系的建立,确保数据的稳定性和一致性。

界面设计注重用户体验,采用直观简洁的界面风格。

功能模块设计包括学生信息管理、教务管理、成绩管理等模块,满足学校管理需求。

系统测试阶段对系统的功能、性能和安全性进行了全面检测,保证系统的稳定运行。

在结论部分总结了系统设计与实现的关键点,并展望了未来进一步完善和优化系统的可能性,同时也为高校学生信息管理系统的发展做出贡献。

【关键词】引言、概述、目的、范围、系统架构设计、数据库设计、界面设计、功能模块设计、系统测试、总结、展望、贡献、高校学生信息管理系统、JAVAEE、设计与实现1. 引言1.1 概述本文将介绍基于JAVAEE的高校学生信息管理系统的设计与实现。

本系统旨在提供一个高效、便捷的方式来管理学生信息,包括基本信息、课程成绩、考勤记录等。

通过本系统,学校可以更好地跟踪和管理学生的学习和生活情况,为学生提供更好的服务和支持。

在本文中,将详细介绍系统的架构设计、数据库设计、界面设计、功能模块设计和系统测试等内容。

通过对这些方面的设计和实现,旨在打造一个功能完善、稳定可靠的学生信息管理系统。

本文也将对系统的优势和不足进行总结,展望未来系统的发展方向,并探讨系统对高校管理工作的贡献及意义。

本系统的设计与实现将为高校学生信息管理提供一种全新的解决方案,提高学校管理效率,为学生和教职工提供更好的服务和支持。

接下来,我们将逐步深入介绍系统的各个方面,希望读者能从中获得有益的启发和参考。

1.2 目的本文旨在介绍基于JAVAEE的高校学生信息管理系统的设计与实现。

学生信息管理系统是当前高校中非常重要的系统,可以有效帮助学校管理学生的基本信息、课程记录、考试成绩等。

《java程序设计》学生管理系统报告

《java程序设计》学生管理系统报告

学生信息管理系统第1章系统简介1.1 系统功能本系统主要功能:1)通过数据校验如果数据校验成功,显示主界面;2)登入后查询所有学生信息;3)窗体实现对学生信息的增加、删除、修改;4)模糊查询,根据姓名或者一个字查询;5)实现子管理员的注册,并且写入注册信息到记事本,并实现可以用新注册的管理账号登入系统主界面1.2 系统引用例子课本P275页 15.5和课本P386页 21.6第2章表的设计2.1 系统数据库表结构表2.1用户表(JBXX)表家庭信息表()注册子管理员的记事本1111.TXT内信息如下:yyyy#yyyylinlin#linlinadmin1#1111admin2#2222admin3#3333admin4#4444opop#opopuuuu#uuuubbbb#bbbbtttt#tttt第3章连接数据库的实现3.1 SQL Server数据库连接的关键代码public class DButil {Connection con = null;String name = "linqun";String passname = "linqun";String ul1 = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";public Connection getconn() {try {Class.forName("oracle.jdbc.driver.OracleDriver");System.out.println("数据库驱动加载成功");con = DriverManager.getConnection(ul1, name, passname);System.out.println("数据库连接成功");} catch (Exception e) {System.out.println(e);}return con;}public void dbclose(Connection conn, Statement sta, ResultSet rs) { try {if (rs != null)rs.close();if (conn != null)conn.close();if (sta != null)sta.close();} catch (Exception e) {e.printStackTrace();}finally{System.out.println("数据库释放!");}}}第4章系统详细设计4.1 系统登录模块设计4.1.1、运行效果图图4.1登录主界面效果图4.1.2、主要代码public class login extends JDialog {static PreparedStatement SQL;private static final long serialVersionUID = 1L;private JLabel l_Id = new JLabel("登陆账户", JLabel.CENTER);private JLabel l_pw = new JLabel("登陆密码", JLabel.CENTER);private JTextField t_Id = new JTextField(10);private JPasswordField t_pw = new JPasswordField(10);private JButton btnLogin;private JButton btnAdd;private JButton btnClose;int num = 3;public login() {super();Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width - 300) / 2,(screenSize.height - 200) / 2);this.setResizable(false);getContentPane().setBackground(new Color(225, 225, 225));getContentPane().setLayout(null);initialize();}protected void initialize() {setTitle("系统登录");l_Id.setBounds(48, 43, 53, 25);t_Id.setBounds(110, 43, 150, 25);l_pw.setBounds(48, 93, 53, 25);t_pw.setBounds(110, 93, 150, 25);getContentPane().add(l_Id);getContentPane().add(l_pw);getContentPane().add(t_Id);getContentPane().add(t_pw);btnLogin = new JButton();btnLogin.setText("登录");btnLogin.setBounds(20, 142, 85, 28);btnLogin.setBackground(new Color(244, 243, 239));btnLogin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {addBtnLoginActionListener();}});getContentPane().add(btnLogin);btnAdd = new JButton();btnAdd.setText("注册");btnAdd.setBounds(105, 142, 85, 28);btnAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {addNew zc = new addNew();setVisible(false);zc.setVisible(true);}});getContentPane().add(btnAdd);btnClose = new JButton();btnClose.setText("关闭");btnClose.setBounds(190, 142, 85, 28);btnClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {dispose();System.exit(-1);}});getContentPane().add(btnClose);}private void addBtnLoginActionListener() {String id = t_Id.getText();String password = new String(t_pw.getPassword());if (id.equals("")) {JOptionPane.showMessageDialog(this, "帐号不可为空", "提示",JOptionPane.WARNING_MESSAGE);return;} else if (password.equals("")) {JOptionPane.showMessageDialog(this, "密码不可为空", "提示",JOptionPane.WARNING_MESSAGE);return;} else {tools t = new tools();boolean success = false; // TODO:数据校验success = t.eqes(id, password);if (success) { // 如果数据校验成功显示主界面JOptionPane.showMessageDialog(this, "成功登录", "提示",RMATION_MESSAGE);new mainView();this.dispose();} else {--num;if (num == 0) {JOptionPane.showMessageDialog(this, "用户名或者密码错误!您没有机会了");System.exit(0);} else {JOptionPane.showMessageDialog(this, "用户名或者密码错误!您还有" + num+ "次机会");}}}}public Dimension getPreferredSize() {return new Dimension(320, 170);}public void show() {Toolkit tk = Toolkit.getDefaultToolkit();Dimension screen = tk.getScreenSize();Dimension d = getSize();this.setLocation((screen.width - d.width) / 2,(screen.height - d.height) / 2);// 输入密码后回车相当于点击了登录按钮getRootPane().setDefaultButton(btnLogin);t_pw.requestFocus();setDefaultCloseOperation(DISPOSE_ON_CLOSE);setSize(300, 220);super.show();}public static void main(String[] args) {DButil util = new DButil();util.getconn();login loginFrame = new login();loginFrame.setVisible(true);}}4.2 系统主界面详细设计4.2.1、运行效果图图 4.2登录后系统界面效果图4.2.2、主要代码public mainView() {super();setTitle("所有学生信息");setBounds(350, 150, 700, 400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);final JScrollPane scrollPane = new JScrollPane();con = db.getconn();Vector tableValueV, columnNameV;// 存放列名columnNameV = new Vector();columnNameV.add("学号");columnNameV.add("名字");columnNameV.add("性别");columnNameV.add("年龄");tableValueV = new Vector();scrollPane.setViewportView(table);final JPanel panel = new JPanel();getContentPane().add(panel, BorderLayout.SOUTH);panel.add(new JLabel("编号:"));aTextField = new JTextField("", 5);panel.add(aTextField);panel.add(new JLabel("姓名:"));bTextField = new JTextField("", 5);panel.add(bTextField);panel.add(new JLabel("性别:"));cTextField = new JTextField("", 5);panel.add(cTextField);panel.add(new JLabel("年龄:"));dTextField = new JTextField("", 5);panel.add(dTextField);}4.3 学生信息增删改模块设计4.3.1、增加信息(121,白娘子,M,22)后运行效果图如下:图 4.3 增加一个记录效果图4.3.2、主要代码final JButton addButton = new JButton("添加");addButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {userDao add = new userDaoImpl();user u = new user();u.setSno(Integer.parseInt(aTextField.getText()));u.setsName(bTextField.getText());u.setSsex(cTextField.getText());u.setSage(Integer.parseInt(dTextField.getText()));add.addUser(u);setVisible(false);new mainView();}});panel.add(addButton);4.3.3、删除信息编号为120的学生信息后结果如下:图 4.4 删除一个记录效果图4.3.4、主要代码:final JButton delButton = new JButton("删除");delButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {userDao del = new userDaoImpl();user ud = new user();int selectedRow = table.getSelectedRow();// 获得被选中行的索引if (selectedRow != -1)// 判断是否存在被选中行del.deleUser(Integer.parseInt(aTextField.getText()));setVisible(false);tableModel.removeRow(selectedRow);}});panel.add(delButton);4.3.5、修改信息(105,关美眉,F,41)为(105,关大侠,M,30)后运行效果图如下:图 4.5 修改一个记录效果图4.3.6、主要代码:panel.add(searchButton);final JButton updButton = new JButton("修改"); updButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {userDao update = new userDaoImpl();user upe = new user();aTextField.setEditable(false);int selectedRow = table.getSelectedRow();// 获得被选中行的索引if (selectedRow != -1) {// 判断是否存在被选中行upe.setSno(Integer.parseInt(aTextField.getText()));upe.setsName(bTextField.getText());upe.setSsex(cTextField.getText());upe.setSage(Integer.parseInt(dTextField.getText()));update.updateUser(upe);setVisible(false);new mainView();}}});panel.add(updButton);4.4 学生信息查询模块设计4.4.1、运行效果图图 4.6 查询记录集效果图查询姓赵的人信息:图 4.7 查询结果图查询名字带“山”的人信息:图 4.8 查询结果图4.4.2、主要代码:public search() {setTitle("根据姓名查询学生信息");setLayout(new BorderLayout());setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();setBounds(350, 150, 650, 400);final JPanel pane = new JPanel();jl=new JLabel("输入姓或者名查询");TextField = new JTextField("", 5);jb1 = new JButton("查询");jb2 = new JButton("返回");pane.add(jl);pane.add(TextField);pane.add(jb1);pane.add(jb2);getContentPane().add(pane, BorderLayout.NORTH);jb1.addActionListener(this);jb2.addActionListener(this);setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("查询")) {JScrollPane jsp = new JScrollPane();Vector tableValueV,columnNameV;columnNameV = new Vector();columnNameV.add("学号");columnNameV.add("名字");columnNameV.add("性别");columnNameV.add("年龄");tableValueV = new Vector();userDao user = new userDaoImpl();user u = user.searchByName(TextField.getText());Vector rowV = new Vector();rowV.add(u.getSno());rowV.add(u.getsName());rowV.add(u.getSsex());rowV.add(u.getSage());tableValueV.add(rowV);tableModel= new DefaultTableModel(tableValueV, columnNameV);table = new JTable(tableModel);jsp = new JScrollPane(table);jsp.setViewportView(table);getContentPane().add(jsp, BorderLayout.CENTER);setVisible(true);}if (e.getActionCommand().equals("返回")) {new mainView();}}4.5 注册子管理员模块设计4.5.1、运行效果图图 4.9 注册子管理员效果图4.5.2、主要代码:public addNew() {setDefaultCloseOperation(EXIT_ON_CLOSE);load();this.setVisible(true);Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width - 300) / 2,(screenSize.height - 200) / 2);this.setResizable(false);this.setTitle("注册子管理员界面");this.setVisible(true);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public void load() {Pane = (JPanel) getContentPane();Pane.setLayout(null);setSize(new Dimension(410, 300));setTitle("管理员登入界面");t1.setBounds(70, 50, 100, 30);t2.setBounds(70, 80, 100, 30);t3.setBounds(70, 110, 100, 30);t4.setBounds(250, 50, 100, 30);t5.setBounds(250, 80, 100, 30);f1.setBounds(150, 50, 100, 20);f2.setBounds(150, 80, 100, 20);f3.setBounds(150, 110, 100, 20);b1.setFont(new java.awt.Font("Botton", Font.BOLD, 12));b1.setBounds(120, 140, 60, 50);b2.setFont(new java.awt.Font("Dialog", Font.BOLD, 12));b2.setBounds(200, 140, 60, 50);Pane.add(t1);Pane.add(t2);Pane.add(t3);Pane.add(t4);Pane.add(t5);Pane.add(f1);Pane.add(f2);Pane.add(f3);Pane.add(b1);Pane.add(b2);b1.addActionListener(this);b2.addActionListener(this);}4.5.3、当注册名已经存在时效果如下:图 4.10 验证注册界面4.5.4、成功注册时效果如下:(用户名:qunqun;密码:qunqun)图 4.11 注册成功界面4.5.5、主要代码public void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("注册")) {if (tools.indes(f1.getText()) && tools.indes(f2.getText())) {if (tools.eqes(f1.getText(), f2.getText())) {JOptionPane.showMessageDialog(this, "该用户已被注册,请重新输入!");System.exit(0);} else {tools.addUser(f1.getText(), f1.getText());JOptionPane.showMessageDialog(this, "你已经成功注册~");System.exit(0);}}if (f1.getText().equals("") || f2.getText().equals("")) {JOptionPane.showMessageDialog(this, "帐号或密码长度有误", "提示",JOptionPane.WARNING_MESSAGE);}}if (e.getActionCommand().equals("退出")) {System.exit(0);}4.5.6、新注册管理员(用户名:qunqun;密码:qunqun)登入效果如下:图 4 .12 登录界面图 4 .13 登录成功界面4.5.7、主要代码:static boolean eqes(String admin, String passwd) {boolean bool = true;try {InputStream is = new FileInputStream("1111.txt");BufferedReader reader = new BufferedReader(new InputStreamReader(is));String line = reader.readLine();while (line != null) { // 如果line 为空说明读完了String[] str = line.trim().split("#");for (int i = 0; i < line.trim().split("#").length; i++) {if (admin.equals(str[0])) {if (passwd.equals(str[1])) {return true;} else {bool = false;}} else {bool = false;}}line = reader.readLine();}} catch (Exception e) {e.printStackTrace();}return bool;}static void addUser(String admin, String passwd) {File f = new File("1111.txt");String oldStr = "";try {FileReader fr = new FileReader(f);BufferedReader bufr = new BufferedReader(fr);String line = null;while ((line = bufr.readLine()) != null) {oldStr += line+"\r\n";}} catch (FileNotFoundException e1) {e1.printStackTrace();} catch (IOException e) {e.printStackTrace();}String content = oldStr+admin + "#" + passwd;try {FileWriter fw=new FileWriter(f);BufferedWriter bufw = new BufferedWriter(fw);bufw.write(content);bufw.newLine();bufw.close();fw.close();} catch (Exception e) {e.printStackTrace();}}答辩记录成绩考核表。

学生管理系统的JAVA实验报告.doc

学生管理系统的JAVA实验报告.doc

学生管理系统的JA V A实验报告。

实验报告学生信息管理系统学生编号:XXXXXXXX姓名: XXXXXX级:本文重点介绍了“学生信息管理系统”的开发过程。

详细描述了设计思想和设计过程,详细说明了数据库创建思想和各数据表之间的具体关联,并详细分析了系统各功能的实现过程和详细设计过程。

在绘制简单的系统功能模块图的同时,力图更清晰地展示整个学生模块程序设计的设计思想、规划和具体实现过程。

这个系统有许多特点:该系统功能齐全,用户界面方便简单,安全保密设置齐全,大大减轻了操作人员和用户的工作量,提高了学生管理的工作效率和学校的信息化水平。

姓名:XXXXXX级:本文重点介绍了“学生信息管理系统”的开发过程。

详细描述了设计思想和设计过程,详细说明了数据库创建思想和各数据表之间的具体关联,并详细分析了系统各功能的实现过程和详细设计过程。

在绘制简单的系统功能模块图的同时,力图更清晰地展示整个学生模块程序设计的设计思想、规划和具体实现过程。

这个系统有许多特点:该系统功能齐全,用户界面方便简单,安全保密设置齐全,大大减轻了操作人员和用户的工作量,提高了学生管理的工作效率和学校的信息化水平。

(1)基本要求:学生信息(包括学生编号、姓名、性别、年龄、家庭住址、电话号码等)的添加、删除、修改和查询。

)。

(2)提出要求(根据你自己的情况):可以添加类信息(也可以删除或修改类)。

学生信息包括班级信息,学生可以按班级统计。

简单的统计、按性别统计等。

描述: 这个程序需要一个图形界面来实现。

2.系统-学生信息的添加、删除、修改和查询(包括学生编号、姓名、性别、年龄、家庭地址、电话号码等)。

)(包括按学生编号、姓名等查询。

)。

(2)提出要求(根据你自己的情况):可以添加类信息(也可以删除或修改类)。

学生信息包括班级信息,学生可以按班级统计。

简单的统计、按性别统计等。

描述: 这个程序需要一个图形界面来实现。

2.系统:\ \ \ ');int n=scanner . Nextint();while(n!=6) { if(n==1) stu。

java web 学生信息管理系统项目总结

java web 学生信息管理系统项目总结

java web 学生信息管理系统项目总结Java Web学生信息管理系统项目总结在本次Java Web学生信息管理系统的项目中,我们成功地完成了一个完整的学生信息管理系统,该系统具有以下几个主要功能:学生信息录入、查询、编辑以及删除。

首先,我们使用Java作为开发语言,结合了Java Web开发框架进行项目的搭建。

我们选择了Spring框架作为基础框架,通过Spring MVC实现了前后端的交互,利用Spring的IoC容器管理程序组件,简化了开发过程。

其次,我们使用了MySQL数据库来存储和管理学生信息。

通过JdbcTemplate等技术实现了与数据库的交互,并利用Java的对象关系映射(ORM)框架Hibernate来进行对象和数据库的映射,方便了数据的操作。

在学生信息录入功能中,我们设计了一个表单页面,用户可以输入学生的姓名、年龄、性别等相关信息,并通过点击提交按钮将信息保存到数据库中。

为了保证数据的合法性,我们对用户输入进行了校验,确保只能输入合法的数据。

在查询功能中,我们提供了多种查询方式,用户可以根据学生的姓名、年龄、性别等条件进行查询,并将查询结果以表格的形式展示出来。

为了提高查询效率,我们对查询条件进行了索引优化的处理。

在编辑和删除功能中,我们允许用户对学生信息进行修改和删除操作。

用户可以选择要编辑或删除的学生,然后进行相应的操作。

同时,为了保证安全性,我们限制了只有管理员账户才能进行编辑和删除操作。

此外,我们还实现了用户登录和权限控制功能。

用户需要输入用户名和密码进行登录,验证成功后才能访问学生信息管理系统。

同时,我们还对不同用户角色进行了权限控制,不同角色对系统的操作权限不同。

总的来说,本次Java Web学生信息管理系统项目的开发过程中,我们熟练运用了Java Web开发相关的技术和框架,成功地完成了一个功能完善、稳定可用的学生信息管理系统。

通过这个项目的实践,我们进一步提高了对Java Web开发的理解和熟练度,积累了宝贵的开发经验。

学生信息管理系统课设报告javaee

学生信息管理系统课设报告javaee

JavaEE课程设计报告题目:学生信息管理系统系别:计算机科学与工程学院专业:计算机科学与技术班级:5555姓名:###3学号:###指导老师:罗翌陈实际任务与技术要求1实际任务学生信息管理系统主要用来给学生提供一个信息平台,可以随时进行交流以及信息查询。

这样可以方便学生的日常学习生活。

系统的功能性需求学生的日常学习生活主要围绕以下内容进行信息化管理,这些内容可以通过建立一个网站的方式实现,这要比传统的电话或开会方式方便得多。

(1) 消息发送:可以相互发送消息,告诉对方一些事情。

(2) 选课信息:可以查看自己的选课信息。

还有选课。

(3) 个人信息:可以修改自己的个人联系信息。

(4) 成绩信息:可以查看自己的成绩。

(5) 日程信息:可以查看学校的课程表。

(6) 费用信息:可以查看自己的学费信息。

(7) 图书信息:可以查看现有的学校的图书。

以及自己在借的图书。

另外,还有后台管理功能,可以添加学生信息,这个功能由管理员来操作。

其他信息与数据可以通过在SQLs erver 2008数据库中直接输入即可。

2.技术要求本学生信息管理系统采用的技术是JSP 和Servlet 结合的技术。

内容摘要本学生成绩管理系统”是用NetBeans开发的一个学生信息管理系统。

开发本系统的步骤:需求分析、总体设计、详细设计、项目复审、编码、测试。

关键词:学生成绩管理;NetBeans;SQL SERVER 2008;学生信息管理;JSP 和Servlet技术目录1 可行性分析 (4)1.1 经济可行性 (4)1.2 技术可行性 (4)1.3 形势发展可行性 (4)1.4 法律可行性 (4)1.5 后期维护可行性 (4)2 需求分析 (4)2.1 引言 (4)2.2 任务概述 (5)2.3 需求规定 (6)2.4 使用要求 (7)2.5 运行环境规定 (8)2.6 未解决的问题 (9)3总体设计 (9)3.1 系统概述 (9)3.2 系统总体结构 (10)3.3 人工处理过程 (11)3.4 运行模块组合 (11)3.5 控制流程 (11)3.6 运行时间规定 (11)3.8 系统错误处理设计 (12)3.9 维护设计 (13)4详细设计 (14)4.1 设计流程和技术方法 (14)4.2 登陆界面 (14)4.3 主界面 (15)4.4 选课信息 (15)4.5 个人信息修改界面 (16)4.6 成绩查询界面 (17)4.7 课表查询界面 (17)4.8 图书查询界面 (17)5 项目复审 (17)5.1 评审目的 (18)5.2 市场调研与分析 (18)6 项目测试 (19)6.1 测试方案 (19)6.2 具体测试 (19)7 编码 (19)8总结 (21)参考文献 (21)可行性分析1 经济可行性(1)系统开发、建立费用自费。

学生管理系统java课程报告总结

学生管理系统java课程报告总结

学生管理系统java课程报告总结学生管理系统是一种用于管理学生、课程、成绩等信息的软件系统,对于学校、教育机构等机构来说非常重要。

本次课程中,我们学习了Java语言和相关技术,其中包括Spring框架、MyBatis框架、MySQL数据库等,最终设计并实现了一个简单的学生管理系统。

本文将总结本次课程中学到的知识,包括系统设计、数据库设计、Java技术栈等方面的内容。

一、系统设计在学生管理系统的设计中,我们需要考虑到系统的功能、用户权限、数据模型等方面。

本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。

二、数据库设计在学生管理系统的设计中,我们需要考虑到数据的存储方式。

本次课程中,我们学习了如何使用MyBatis框架来实现持久层编程,包括数据访问层的映射、事务的隔离级别等方面的内容。

同时,我们还学习了如何使用Spring框架提供的JDBC技术来进行数据操作,这些技术可以帮助我们更好地控制数据的流动,提高系统的性能和安全性。

三、Java技术栈在学生管理系统的设计中,我们需要考虑到Java技术栈的使用。

本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。

同时,我们还学习了如何使用Java提供的其他技术,例如注解、面向切面编程等方面的内容,这些技术可以帮助我们更好地实现系统的功能和性能。

四、总结本次课程中,我们学习了学生管理系统的设计和实现,包括系统设计、数据库设计、Java技术栈等方面的内容。

通过本次学习,我们掌握了如何设计一个可扩展、可维护、高性能的学生管理系统,同时也提高了我们的编程能力和解决问题的能力。

学生管理系统java实验报告

学生管理系统java实验报告

学生管理系统java实验报告一、实验目的本实验旨在设计一个学生管理系统,使用Java编程语言,通过面向对象的方式进行设计与实现。

二、实验内容1. 设计并实现学生类,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。

2. 设计并实现学生管理类,包括添加学生、删除学生、查找学生、修改学生信息等操作。

3. 提供一个主程序,可以通过用户输入选择对应的学生管理操作。

三、实验步骤1. 首先,创建一个学生类`Student`,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。

javapublic class Student {private String studentId;private String name;private String gender;private int age;public Student(String studentId, String name, String gender, int age) {this.studentId = studentId; = name;this.gender = gender;this.age = age;}Getter and Setter methodsOther methods (e.g., toString())}2. 接着,创建一个学生管理类`StudentManager`,包括添加学生、删除学生、查找学生、修改学生信息等操作。

javaimport java.util.ArrayList;public class StudentManager {private ArrayList<Student> students;public StudentManager() {students = new ArrayList<Student>();}public void addStudent(Student student) { students.add(student);System.out.println("学生添加成功!");}public void deleteStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) { students.remove(i);System.out.println("学生删除成功!");return;}}System.out.println("未找到该学生,删除失败!");}public Student findStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) {return students.get(i);}}return null;}public void updateStudent(Student student) {for (int i = 0; i < students.size(); i++) {if(students.get(i).getStudentId().equals(student.getStudentId())) {students.set(i, student);System.out.println("学生信息更新成功!");return;}}System.out.println("未找到该学生,更新失败!");}Other methods (e.g., displayAllStudents())}3. 最后,编写一个主程序`Main`,可以通过用户输入选择对应的学生管理操作。

JAVAEE--学生信息管理系统(课程设计报告)内含工程源码

JAVAEE--学生信息管理系统(课程设计报告)内含工程源码

《JAVA EE》课程设计报告题目:学生信息管理系统学院:计算机科学与工程专业:计算机科学与技术学生姓名:学号:指导教师:2015年7月1日目录引言 (2)一、系统需求分析 (5)1.1功能分析 (5)1.2系统结构分析 (5)1.3系统流程分析 (6)二、系统概要设计 (7)三、系统详细设计 (8)3.1数据库设计 (8)3.1.1 设计原则 (8)3.1.2 数据库组成 (9)3.1.3数据库表的结构 (9)3.2系统模块设计 (11)3.2.1 登录模块 (11)3.2.2 系统管理模块 (12)3.2.3 学籍管理模块 (13)3.2.4 成绩管理模块 (14)四、系统实现和演示 (15)4.1系统Model层实现 (15)4.2系统配置和界面 (16)4.2.1 界面实现 (16)4.2.2 显示学生所选课程信息 (19)4.2.3 显示课程成绩 (19)4.2.4 修改学生信息 (21)4.2.5 管理员管理界面 (21)4.2.6 hibernate配置文件设置 (22)4.2.7 Struts-config配置文件设置 (22)五、开发过程中所用到的技术 (25)5.1 软件工程的思想方法 (25)5.2 MVC思想 (26)5.3 Struts2.0 (27)六、总结 (28)参考文献 (29)引言随着计算机技术的迅速发展和网络技术的突飞猛进,人们迫切要求利用这些新技术以减轻个人的工作负担及提高工作效率。

目前,学校工作繁杂、资料重多,管理信息系统已进入高校,但还未普及,而对于学生信息管理来说,还没有一套完整的、统一的系统。

因此,开发一套适和大众的、兼容性好的系统是很有必要的。

根据开发要求,它主要应用于教育系统,完成对日常学生基本信息以及成绩的录入查询更新删除等管理操作,实现学生信息管理的计算机化。

开发学生信息管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。

javaee学生信息管理系统报告

javaee学生信息管理系统报告

j a v a e e学生信息管理系统报告SANY GROUP system office room 【SANYUA16H-1.课程设计目的做一个学生信息管理系统,要求运用到JavaEE中的二层模式做 java代码和jsp设计都要用上。

要求要有后台,就是说要连接到数据库。

适当的运用javascript和css2.课程设计题目描述和需求分析2.1课程设计题目:学生信息管理系统2.2需求分析:功能分析:(1)用户登录:用户登录(一个界面)通过验证分为管理员,学生,老师登陆三个主页面(2)学生信息管理:管理员对学生信息进行删除,查询和修改。

(3)课程信息管理:管理员也可以进行删除,修改和查询功能,同时学生可以选课和查询该课程成绩,和查询课程成绩。

老师根据所授课程对学生录入成绩(4)用户管理:三种用户可进行注销进行切换,可以修改密码3.课程设计报告内容3.1学生信息管理系统项目设计3.1.1系统功能结构设计(java Swing界面)3.1.2 逻辑结构设计(数据库表和存储过程等)一.数据表说明基本表:1. 表Table1(管理员信息表)2. 表student(学生基本信息表)3. 表teacher(老师基本信息表)4. 表class(学生班级信息表)5. 表depart(系表)6. 表course(课程表)派生出来的表8. 表courseClass(班级必修课表)9. 表sc(选课表)9. 表score(成绩表)学生信息管理的所有运行界面登陆界面:管理员登陆:管理员登陆后可以对学生基本信息进行添加删除和修改也可对学籍和班级进行同样的操作老师登陆:老师登陆后录入成绩:1.根据教师号和班级号查出老师所教班的所教课程号2.然后根据班级号列显出此班同学的信息再对此班同学录入成绩3.因为一些不能实现的原因,所以本人只能多学生一个个在第三个页面中依次录入最后录入的成绩将保存到数据库中去学生登陆:学生选课:1.根据sql语句将学生课程表中课程类型为选修课的信息全部调出来学生查看选课表来进行选课2.通过下面的下拉菜单(为选课信息)将自己想选的课选出来操作选课成功:选课后课进行学生个人课表查询:老师在录入成绩后可进行成绩查询:分为录入前和录入后录入后这里学生的成绩信息为四行说明前面就有四门老师对此学生录入的成绩。

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。

并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。

五、实验任务设计学生信息管理系统。

要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。

而普通用户只可以查找学生信息。

2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。

六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告

JAVA学⽣信息管理系统实验报告JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学⽣信息管理系统⼀、实验⽬的1.掌握Java基本语法2.理解⾯向对象编程特点3.理解Java I/O编程4.掌握Java图形界⾯编程5.掌握Java与不同数据库进⾏连接⼆、预习内容Java的基本语法知识、类和对象、Java Swing图形界⾯编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域⽹互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程⼯具。

并安装MySQL数据库四、实验内容编写并调试运⾏Java程序,进⾏设计,掌握Java开发的基础。

五、实验任务设计学⽣信息管理系统。

要求包括1. 登陆模块:设⽴超级管理员权限,⽤户可以根据不同的权限登陆系统,超级管理员可以对学⽣信息进⾏增、删、改、查操作。

⽽普通⽤户只可以查找学⽣信息。

2. 包括学⽣添加信息模块、学⽣信息删除模块、学⽣信息修改模块和学⽣信息查询模块3.对于管理员,可以对管理员进⾏添加、删除以及修改密码等操作。

六、实验报告(要求独⽴完成参考程序的代码、编译、调试与运⾏)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import /doc/04245934482fb4daa58d4b93.html ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学⽣信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使⽤学⽣管理系统",JLabel.CENTER); label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使⽤");menu2=new JMenu("⽤户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学⽣信息");a13=new JMenuItem("更改学⽣信息");a14=new JMenuItem("删除学⽣信息");a15=new JMenuItem("添加学⽣信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学⽣登录"); a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加⽤户");a22=new JMenuItem("删除⽤户");a23=new JMenuItem("更改⽤户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆"); pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11); menu1.addSeparator(); menu1.add(a16); menu1.addSeparator(); menu1.add(a17); menu1.addSeparator(); menu1.add(a12); menu1.addSeparator(); menu1.add(a13); menu1.addSeparator(); menu1.add(a14); menu1.addSeparator(); menu1.add(a15); menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22); menu2.addSeparator(); menu2.add(a23); menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ; st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();/doc/04245934482fb4daa58d4b93.html lear(); }con.close();}catch(SQLException e){System.out.println(e);}}}}主页⾯class Login{void Login(){final JFrame loginframe=new JFrame("登陆界⾯"); loginframe.setBounds(200,200,400,500); loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10); JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("⽤户名"); JLabel label2=new JLabel("密码"); loginframe.add(btn1); loginframe.add(btn2); loginframe.add(text1); loginframe.add(text2); loginframe.add(label1); loginframe.add(label2);label1.setBounds(80, 100, 50, 50); label2.setBounds(80, 200, 50, 50); btn1.setForeground(Color.black); btn2.setForeground(Color.black); text1.setBounds(150, 100, 200, 30); text2.setBounds(150, 200, 200, 30); btn1.setBounds(100, 300, 100, 60); btn2.setBounds(200, 300, 100, 60);。

javaee学生信息管理系统报告.docx

javaee学生信息管理系统报告.docx

1.课程设计目的做一个学生信息管理系统,要求运用到JavaEE 中的二层模式做设计都要用上。

要求要有后台,就是说要连接到数据库。

适当的运用java代码和 jspjavascript和 css2.课程设计题目描述和需求分析2.1 课程设计题目:学生信息管理系统2.2需求分析:功能分析:(1)用户登录:用户登录(一个界面)通过验证分为管理员,学生,老师登陆三个主页面(2)学生信息管理:管理员对学生信息进行删除,查询和修改。

(3)课程信息管理:管理员也可以进行删除,修改和查询功能,同时学生可以选课和查询该课程成绩,和查询课程成绩。

老师根据所授课程对学生录入成绩(4)用户管理:三种用户可进行注销进行切换,可以修改密码3.课程设计报告内容3.1 学生信息管理系统项目设计3.1.1系统功能结构设计(java Swing界面)录修查选查修录修删修入改询询改入改除改课成成成成密基学学密3.1.2逻辑结构设计(数据库表和存储过程等)一.数据表说明基本表:1.表 Table1 (管理员信息表)字段名数据类型长度主键否描述userno varchar50是用户名password varchar50否密码2.表 student (学生基本信息表)字段名数据类型长度主键否描述sno varchar50是学号pass varchar50否密码sname varchar50否姓名grade varchar50否年级sage varchar50否年龄sex varchar50否性别classno varchar50否班级号3.表teacher(老师基本信息表)字段名数据类型长度主键否描述tno varchar50是教师号tpss varchar50否密码tname varchar50否教师姓名sex varchar50否性别jibie varchar50否职称tel varchar50否电话号码4.表 class (学生班级信息表)字段名数据类型长度主键否描述classno varchar50是班级号classname varchar50否班级名称departno varchar50否系名5. 表 depart (系表)字段名数据类型长度主键否描述departno varchar50是系名departname varchar50否系名6.表 course (课程表)字段名数据类型长度主键否描述cno varchar50是课程号cname varchar50否课程名classday int4否上课日期classtime int4否上课时间ctype varchar50否课程类型tname varchar50否授课老师名派生出来的表8.表courseClass(班级必修课表)字段名数据类型长度主键否描述classno varchar50是班级号cno varchar50是课程号tno varchar50否教师号9.表 sc (选课表)字段名数据类型长度主键否描述sno varchar50是学号cname varchar50否课程名tname varchar50否教师名9.表 score (成绩表)字段名数据类型长度主键否描述sno varchar50是学号cno varchar50是课程号score varchar50否分数学生信息管理的所有运行界面登陆界面:管理员登陆:管理员登陆后可以对学生基本信息进行添加删除和修改也可对学籍和班级进行同样的操作老师登陆:老师登陆后录入成绩:1.根据教师号和班级号查出老师所教班的所教课程号2. 然后根据班级号列显出此班同学的信息再对此班同学录入成绩3.因为一些不能实现的原因,所以本人只能多学生一个个在第三个页面中依次录入最后录入的成绩将保存到数据库中去学生登陆:学生选课:1. 根据 sql语句将学生课程表中课程类型为选修课的信息全部调出来学生查看选课表来进行选课2.通过下面的下拉菜单(为选课信息)将自己想选的课选出来操作选课成功:选课后课进行学生个人课表查询:老师在录入成绩后可进行成绩查询:分为录入前和录入后录入后这里学生的成绩信息为四行说明前面就有四门老师对此学生录入的成绩。

JavaEE学生选课系统实验报告

JavaEE学生选课系统实验报告

实验报告一、实验目的:使用JavaEE语言,由Struts2、Hibernate、Spring这三个框架组合开发实现一个学生信息管理系统。

二、功能描述:该系统具有登录、学生信息查询、实现学生信息的增加、删除和修改等操作。

在登录学生信息管理系统时,如果没有登录成功,就回到登录界面,登录成功后方可进行各种操作,所以需要创建三个表:XSB表、ZYB表、DLB表。

三、实验步骤:1打开SQLServer,将已有的数据库XSCJ还原到SQL数据库中。

2打开MyEclipse,新建一个名为xscjManage_ZYW的Web Project。

将lib包复制到项目中,并且右击项目,打开【Build Path】→【Configure Build Path…】菜单项,选择【Add Jars…】,选择项目中刚考进去的lib包中的jar包,点OK。

3选中项目,打开菜单项中的【Windows】→【show view】→【other】→【DB Browser】,在【MyEclipse Derby】下新建一个名为test的数据连接驱动,并将jtds的jar包添加到Driver Jars中。

其中Template用jtds,Connection URL为“jdbc:jtds:sqlserver://localhost:1433/xscj”,user name以及password都为“sa”.并且打开数据库连接。

4选中xscjManage_ZYW,选择菜单项中的【MyEclipse】→【Project Capalibities】→【Add Spring Capalibities…】,去掉MyEclipse的勾选,单击Next,去掉Enable AOP Builder的勾选,点Finish完成Spring的添加. 5继续选择菜单项中的【MyEclipse】→【Project Capalibities】→【Add Hibernate Capalibities…】, 去掉MyEclipse Libraries的勾选,单击Next,选择”Spring configuration file”,单击【Next】,选择"Exisiting Spring configuration file”,单击【Next】,在DB Driver中选择刚才创建的数据库连接驱动test,单击【Next】,去勾选"Create SessionFactory class”,单击【Finish】,完成Hibernate的添加。

Java学生管理系统培训报告.doc

Java学生管理系统培训报告.doc

Java学生管理系统培训报告。

Java学生管理系统培训报告。

名字:班级级别:讲师:一、项目计划(1)项目名称:学生信息管理系统(2)培训地点:(3)团队成员:第二,系统的总体设计(1)需求分析学生信息管理系统是以信息化的方式管理学生的个人信息、课程信息和成绩信息,最大限度地减少各环节可能出现的错误,有效地减少因人力资源的限制而造成的信息存储量大、信息存储错误、混乱等问题,合理地存储信息,使学校能够合理地输入学生的个人信息、学期成绩和课程安排,为学校的师生工作提供后方。

通过实际调查,学生信息管理系统需要具备以下功能:1.界面设计优雅、方便、快捷、灵活。

2.实现了学生个人信息、课程信息、成绩信息的强大查询、修改、录入、删除管理。

3.实现对联系人信息及其类别的强大查询、录入和删除管理。

4.能够在不同的操作系统下运行,不限于特定的平台。

5.提供数据库备份和恢复功能。

6.提供友谊平台,例如:电脑,容易操作的结果;(2)项目计划任务的成功完成有赖于各种资源的合理规划和有效利用。

有计划、有步骤地开发软件不仅可以提高开发进度,还可以明确项目团队成员的职责和任务。

项目进度表应安排每个成员的任务,并要求成员每天修改自己的进度,以确保项目经理可以随时检查整个项目的进度,及时发现问题,调整工作策略。

(3)概要设计概要设计是根据系统分析和工作环境的要求,粗略设计整个软件的总体结构。

概要设计应坚持以下原则: 1:细分原则2:提高代码的可重用性:3:从上到下的分析4:一致性原则5:提高独立性6:模块的大小应尽可能适中。

由于概要设计在整个设计中是最重要的,所以有必要努力做出一个好的概要设计,以免在以后的软件开发过程中重复。

目前,软件行业流行模型驱动设计,它在自己的设计中使用市场上一些成功的模型。

(4)详细设计大纲旨在阐明开发人员的工作步骤和目标。

详细设计使开发人员能够轻松完成代码编写,并熟悉编写的业务流程。

(5)数据表设计根据系统要求,可以获得以下数据表信息:需要管理学生信息:学生桌。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.课程设计目的
做一个学生信息管理系统,要求运用到JavaEE中的二层模式做 java代码和jsp 设计都要用上。

要求要有后台,就是说要连接到数据库。

适当的运用javascript 和css
2.课程设计题目描述和需求分析
2.1课程设计题目:学生信息管理系统
2.2需求分析:
功能分析:
(1)用户登录:用户登录(一个界面)通过验证分为管理员,学生,老师登陆三个主页面
(2)学生信息管理:管理员对学生信息进行删除,查询和修改。

(3)课程信息管理:管理员也可以进行删除,修改和查询功能,同时学生可以选课和查询该课程成绩,和查询课程成绩。

老师根据所授课程对
学生录入成绩
(4)用户管理:三种用户可进行注销进行切换,可以修改密码
3.课程设计报告内容
3.1学生信息管理系统项目设计
3.1.1系统功能结构设计(java Swing界面)
3.1.2 逻辑结构设计(数据库表和存储过程等)一.数据表说明
基本表:
1. 表Table1(管理员信息表)
2. 表student(学生基本信息表)
3. 表teacher(老师基本信息表)
4. 表class(学生班级信息表)
5. 表depart(系表)
6. 表course(课程表)
派生出来的表
8. 表courseClass(班级必修课表)
9. 表sc(选课表)
9. 表score(成绩表)
学生信息管理的所有运行界面
登陆界面:
管理员登陆:
管理员登陆后可以对学生基本信息进行添加删除和修改也可对学籍和班级进行同样的操作
老师登陆:
老师登陆后录入成绩:
1.根据教师号和班级号查出老师所教班的所教课程号
2.然后根据班级号列显出此班同学的信息再对此班同学录入成绩
3.因为一些不能实现的原因,所以本人只能多学生一个个在第三个页面中依次录入
最后录入的成绩将保存到数据库中去
学生登陆:
学生选课:
1.根据sql语句将学生课程表中课程类型为选修课的信息全部调出来学生查看选
课表来进行选课
2.通过下面的下拉菜单(为选课信息)将自己想选的课选出来操作
选课成功:
选课后课进行学生个人课表查询:
老师在录入成绩后可进行成绩查询:分为录入前和录入后
录入后
这里学生的成绩信息为四行说明前面就有四门老师对此学生录入的成绩。

此学生的成绩是从数据库中调用出来的。

3.2项目运行情况
运行环境:1.eclipse 3.2 2.SQL Server2000
3.Apache Tomcat Properties 6.0
3.3核心代码及技术
教师录入成绩:
TeacherCl中可以查询到教师所教课程的课程号和班级的方法
在页面上显示登录老师的班级号和课程号再通过链接到他所教的班级所有的学生列表
链接到了此页面后,下一步就是录入成绩
录入成绩
验证成绩录入成功了
4.总结
这次课程设计真的是花了很多时间和精力去做的。

先要构思,光想就不敢下手,这种状态就保持了一个星期,盲目的在网上查关于学生信息管理的资料。

等到确定要动手去做的时候,真的无从下手,感觉自己要完成一个项目就觉得纠结。

看到宿舍的人做的那么晚,自己就开始熬夜做这份课程设计,有的时候一个晚上就只能解决一个问题,但是解决出来真的很开心,虽然代码很冗长不简洁。

等到两个星期过去以后,越做到后面就觉得前面有许多地方矛盾,弄的很不好,所以就开始感觉数据库不是很清晰,所以就回头开始整理数据库。

因为数据库比较灵活,所以感觉在管理员那个界面对学生信息进行操作的一些代码开始出现了大批的错误,就只能一点一点的开始修改,找错。

在这个过程中,真的让人觉得很吃力,所以以后做什么的时候一定要先将数据库弄好再开始敲代码。

因为不好改,所以在管理员界面,有的还没有弄好,最后演示的时候还是出了一些无法显示的问题。

所以自己就直接做学生和老师界面的一些功能,这些都需要联系到数据库,因为这些事是数据库整理清楚和才开始做的,所以这两块做的比较清晰,没有那么糊涂。

等到那天演示成果以后,就感觉自己完成了任务,感觉自己还蛮开心的,可能还有很多不好的地方,但是完成了,就真的觉得是最大的亮点了。

相关文档
最新文档