收藏 分销(赏)

大学生社团信息管理系统.docx

上传人:精*** 文档编号:3058699 上传时间:2024-06-14 格式:DOCX 页数:49 大小:1.32MB
下载 相关 举报
大学生社团信息管理系统.docx_第1页
第1页 / 共49页
大学生社团信息管理系统.docx_第2页
第2页 / 共49页
大学生社团信息管理系统.docx_第3页
第3页 / 共49页
大学生社团信息管理系统.docx_第4页
第4页 / 共49页
大学生社团信息管理系统.docx_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、郑州科技学院java课程设计 设计(论文)题目: 大学生社团信息管理系统所 在 院: 信息工程学院 专 业 班 级: 14通信工程2班学 生 姓 名: 赵创 学 号: 201451050指 导 教 师: 曾毅 2017年3月6日郑州科技学院Java课程设计任务书专业 14通信工程 班级 2班 学号 201451050 姓名 赵创 一、设计题目: 大学生社团信息管理系统的设计 二、设计任务与要求任务:利用所学的Java知识,在图书馆查阅各种相关的书籍和个类杂志报刊以及利用互联网搜索到详尽的补充资料,来设计一个简单的大学生社团信息管理系统。要求:了解软件eclipse和数据库的基本知识,结合自己所

2、学的Java知识,来设计一个系统,此系统能够满足对社团人员信息的管理。三、参考文献1,作者:申莉莉编,-出版社:清华大学 2,作者:薛华成编,-出版社:清华大学,2004.33,宇峰编著,-北京:清华大学出版社,2006.14,作者:麦沙塞克著/金芝译,-出版社:机械工业5,作者:(美)萨茨辛格等著/朱群雄等译,-出版社:机械工业6 ,作者:王成辉编,-出版社:清华大学,2002四、设计时间2 016 年 8 月 31 日至 2016 年 9 月 9 日指导教师签名:年 月 日中 文 摘 要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用eclipse软件和采用M

3、ySQL数据库系统组件来构成的应用服务系统,本文开发了大学生社团管理系统这一程序。它运用方便、操作简单,效率很高。主要提供了对学生社团的管理平台。关键词: 学生社团,eclipse,信息系统,SQL server目 录1项目设计思路11.1功能阐述11.2系统预览11.3功能结构31.4文件组织结构32数据库设计42.1数据库设计42.2数据表的设计43公共类设计53.1连接数据库53.2判断输入是否为空64登录模块设计84.1登录模块概述84.2实现带背景的窗体84.3登录模块实现过程105主窗口设计155.1主窗口概述155.2主窗体实现过程155.2.1系统维护功能155.2.2人员管理

4、功能25参考文献451项目设计思路1.1功能阐述大学生社团信息管理系统是一款辅助人员信息管理的实用性项目,根据社团的日常管理需要,大学生社团信息管理系统包括系统维护、人员管理两大模块。其中,系统维护包括添加用户、修改密码、退出系统。人员管理包括人员信息的录入、人员信息的维护,在人员信息维护中,可以实现人员信息的查询与修改。 上多种功能之间相互联系,可以满足用户的基本需求。1.2系统预览大学生社团信息管理系统有多个窗口组成,其中包括系统不可缺少的登录窗口,项目的主窗口,功能模块的内部窗口等。系统登录窗口效果如图1.1所示:图1.1 大学生社团信息管理系统登录窗口当用户输入合法的用户名的密码后,单

5、机登录按钮,即可进入系统主窗口,运行结果如图1.2所示:图1.2 大学生社团信息管理系统主窗口本程序的主窗口中提供了进入各功能模块的按钮,通过单击这些按钮,即可进入各子模块中。各个子功能功能模块还提供了查询、修改和添加相关信息的操作,例如添加社团人员信息窗口运行的结果如图1.3所示:图1.3 社团人员信息录入窗体1.3功能结构人员信息维护人员信息录入退出系统修改密码添加用户人员管理系统维护大学生社团信息管理系统大学生社团信息管理系统是辅助人员信息管理而设计的,本系统的功能结构如图1.4所示:图1.4 系统功能结构图1.4文件组织结构大学生社团信息管理系统的根目录是大学生社团管理系统,文件组织结

6、构图如图1.5所示。图1.5 大学生社团信息管理系统的文件组织结构图2数据库设计2.1数据库设计大学生社团信息管理系统采用的是SQL Server 2005数据库,数据库命名为organization,包括的数据表为information和user,表user主要用来记录用户名和密码,用于系统的登录。表information主要用来记录大学生社团人员的信息。2.2数据表的设计数据表设计是一个非常重要的环节,下面对系统中的数据表的结构进行分析。1 user(登录信息表)登录基本信息表包括了登录人员的用户名、密码,数据字段设计如表2.1所示:表2.1 user表字段类型额外说明userIdint自

7、动编号主键usernamevarchar用户名userpasswordvarchar密码2 information(社团人员信息表)社团人员信息表中保存了人员的姓名、性别、出生日期、家庭住址、联系电话、所在社团、职务等详细信息,数据表字段设计如表2.2所示:表2.2 information表字段类型额外说明Idint自动编号主键namevarchar姓名sexvarchar性别birthvarchar出生日期addressvarchar家庭住址telvarchar联系电话organizationvarchar所在社团positionvarchar职务3公共类设计3.1连接数据库任何系统的设计都

8、离不开数据库,每一步数据库操作都需要与数据库建立连接,为了增加代码的重要性,可以将连接数据库的相关代码保存在一个类中,以便随时调用。创建类DBUtil,在该类中加载数据库驱动。在该类中定义了获取数据库连接方法getcCon(),该方法返回值为Connecttion对象。具体代码如下:package com.zky.www.util;import java.sql.*;public class DBUtil private static String driverName=com.mysql.jdbc.Driver;private String URL=jdbc:mysql:/localhost

9、:3306/organization?useUnicode=true&characterEncoding=UTF-8;private String username=root;private String password=123;private Connection conn=null;statictry Class.forName(driverName); catch (ClassNotFoundException e) e.printStackTrace();public Connection getConn()try conn=DriverManager.getConnection(U

10、RL,username,password); catch (SQLException e) e.printStackTrace();return conn;public void closeConn(Connection conn)if(conn!=null)try conn.close();conn=null; catch (SQLException e) e.printStackTrace();public static void main(String args) new DBUtil().getConn();System.out.println(链接成功);3.2判断输入是否为空判断文

11、本输入框是否为空,因此在这里建立了一个公共类StringUtil,用来判断,具体代码如下:package com.zky.www.util;public class StringUtil public static boolean isEmpty(String str)if(.equals(str)|null=str)return true;elsereturn false;public static boolean isNotEmpty(String str)if(!.equals(str)&null!=str)return true;elsereturn false;4登录模块设计4.1登

12、录模块概述运行程序,首先进入系统登录窗口。为了使窗体中的各个组件放得更加随意美观,因此本次系统设计采用了绝对布局方式,并在窗体中添加了背景图片,运行结果可以参照图1.1.4.2实现带背景的窗体在创建窗体时,需要向窗体中添加面板,然后在面板中添加各种组件。Swing中代表面板组件的类为JPanel,该类是以灰色为背景,并且没有任何图片,这样就不能达到很好的美观效果。因此该登录窗口所运用的就是面板的叠加,把图片添加到了JLabel中,然后把JLabel添加到面板中,并且带背景图片的面板放在了最低层,并且该面板透明度设置为不透明,这样就可以实现带背景图片的登录窗口,具体代码如下:package co

13、m.zky.www.view;public class LoginFrame extends JFrameprivate JLabel lbUsername=new JLabel(用户名:,JLabel.CENTER);/实例变量private JTextField txtUsername=new JTextField();private JLabel lbPassword=new JLabel(密 码:,JLabel.CENTER);private JPasswordField txtPassword=new JPasswordField();private JButton btnLogin

14、=new JButton(登录); private JButton btnCancel=new JButton(取消); private JLabel lbTip=new JLabel(大学生社团信息管理系统登录,JLabel.CENTER); private DBUtil dbUtil=new DBUtil(); private UserDao userDao=new UserDao();private static User mainUser=null; LoginFrame() ImageIcon background=new ImageIcon(picturet019cd8596989

15、56305e.jpg);JLabel imagLabel=new JLabel(background);this.setSize(800, 600);/设置大小this.setLocationRelativeTo(null);/放在屏幕中间this.setResizable(false);/不可改变大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置关闭属性Container cont=this.getContentPane();cont.setLayout(null);/自定义布局lbTip.setFont(new Font(黑体

16、,Font.PLAIN,28);lbTip.setForeground(Color.BLUE);lbTip.setBounds(0, 30, 800, 100);cont.add(lbTip);lbUsername.setBounds(150, 200, 100, 25);lbUsername.setFont(new Font(宋体,Font.PLAIN,24);txtUsername.setBounds(280, 200, 250, 28);cont.add(lbUsername);cont.add(txtUsername);lbPassword.setBounds(150, 290, 10

17、0, 25);lbPassword.setFont(new Font(宋体,Font.PLAIN,24);txtPassword.setBounds(280, 290, 250, 28);cont.add(lbPassword);cont.add(txtPassword);btnLogin.setBounds(210, 380, 80, 25);btnCancel.setBounds(400, 380, 80, 25);btnLogin.addActionListener(new LoginAction();btnLogin.setFont(new Font(宋体,Font.PLAIN,20)

18、;btnCancel.addActionListener(new CancelAction();btnCancel.setFont(new Font(宋体,Font.PLAIN,20);cont.add(btnLogin);cont.add(btnCancel);this.getLayeredPane().add(imagLabel,newInteger(Integer.MIN_VALUE); imagLabel.setBounds(0, 0, this.getWidth(), this.getHeight(); cont.add(imagLabel);this.setVisible(true

19、); /可见性public static User getMainUser() return mainUser;public static void setMainUser(User mainUser) LoginFrame.mainUser = mainUser;public static void main(String args) new LoginFrame(); 4.3登录模块实现过程登录窗口设计十分简单,有一个用户名文本框,一个密码文本框,一个登录按钮和一个取消按钮组成。下面将实现介绍登录模块的实现过程。(1)实现用户登录操作的数据表是user,首先创建与数据表对应的JaveBee

20、n类User,该类中属性与数据表中字段一一对应,并包含了属性的get与set方法,具体代码如下:package com.zky.www.model;public class User /javabeanprivate int userId;private String username;private String password;public User(int userId, String username, String password) super();this.userId = userId;this.username = username;this.password = pass

21、word;public User(String username, String password) super();this.username = username;this.password = password;public User() super();public int getUserId() return userId;public void setUserId(int userId) this.userId = userId;public String getUsername() return username;public void setUsername(String us

22、ername) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;(2)定义类UserDao,在该类中实现按用户名与密码查询用户的方法getUser(),该方法的返回值为User对象。具体代码如下:package com.zky.www.dao;public class UserDao public User checkLogin(Connection conn,User us

23、er)User resultUser=null;String sql=select * from user where username=? and password=?;try PreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setString(1, user.getUsername();pstmt.setString(2,user.getPassword();ResultSet rs=pstmt.executeQuery();if(rs.next()resultUser=new User();resultUser.setUs

24、erId(rs.getInt(userId);resultUser.setUsername(rs.getString(username);resultUser.setPassword(rs.getString(password); catch (SQLException e) e.printStackTrace();return resultUser;public int modifyPassword(Connection conn, User passUser) int flag=-1;String sql=update user set password=? where userId=?;

25、tryPreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setString(1, passUser.getPassword();pstmt.setInt(2, passUser.getUserId();flag=pstmt.executeUpdate();catch(Exception e)e.printStackTrace();return flag;(3)在登录按钮的单击事件中,调用判断用户是否合法的方法getUser(),实现如果用户名输入的用户名与密码合法将转发至系统主窗体;如果用户输入了错误的用户名与密码,则给出相应的提

26、示。具体代码如下:private class LoginAction implements ActionListenerpublic void actionPerformed(ActionEvent e) String username=txtUsername.getText().trim();String password=txtPassword.getText().trim();if(StringUtil.isEmpty(username)JOptionPane.showMessageDialog(null,用户名不能为空!);return ;if(StringUtil.isEmpty(p

27、assword)JOptionPane.showMessageDialog(null,密码不能为空!);return;User user=new User(username,password);Connection conn=dbUtil.getConn(); mainUser=userDao.checkLogin(conn, user);dbUtil.closeConn(conn);/关闭连接if(mainUser!=null)MainFrame mainFrame=new MainFrame();LoginFrame.this.setVisible(false);elseJOptionPa

28、ne.showMessageDialog(null, 用户名或密码错误!);txtUsername.setText();txtPassword.setText();txtUsername.requestFocus();(4)在取消按钮的单击事件中,用户名文本框与密码文本框里的内容将设置为空,用空文本代替之前输入的内容。具体的代码如下:private class CancelAction implements ActionListenerpublic void actionPerformed(ActionEvent arg0) txtUsername.setText();txtPassword.

29、setText();txtUsername.requestFocus();5主窗口设计5.1主窗口概述成功登录系统后,即可进入程序的主窗体。在主窗口中添加了菜单栏,在菜单栏中添加菜单,菜单中有包括了二级菜单,主窗口运行结果如图5.1所示。图5.1 程序主窗体运行结果5.2主窗体实现过程5.2.1系统维护功能(1)添加用户当单击添加用户,则系统自动跳出添加用户窗口,添加完成以后,对应的数据库中的User表中会添加相应的用户名与密码,此用户名与密码可用于登录该大学生社团信息管理系统的登录。程序运行的结果如图5.2所示,相应的代码如下:图5.2 添加用户窗体运行结果添加用户相应代码:package

30、com.zky.www.view;public class addUser extends JInternalFrame private JPanel jContentPane = null;private JLabel lbTip = null;private JLabel name = null;private JTextField inputName = null;private JLabel password = null;private JPasswordField inputPassword = null;private JLabel passwordTwo=null;privat

31、e JPasswordField inputPasswordTwo=null;private JButton btnAdd = null;private JButton btnCancel = null;public addUser() super();initialize();private void initialize() this.setBounds(new Rectangle(150, 150, 500, 400);this.setIconifiable(true);this.setClosable(true);this.setTitle(添加新用户);this.setContent

32、Pane(getJContentPane();this.setVisible(true);private JPanel getJContentPane() if (jContentPane = null) password = new JLabel(密码:,JLabel.CENTER);password.setFont(new Font(宋体,Font.PLAIN,18);password.setBounds(new Rectangle(45, 130, 93, 34);passwordTwo=new JLabel(再次确认:,JLabel.CENTER);passwordTwo.setFon

33、t(new Font(宋体,Font.PLAIN,18);passwordTwo.setBounds(new Rectangle(36, 177, 150, 34);name = new JLabel(姓名:,JLabel.CENTER);name.setFont(new Font(宋体,Font.PLAIN,18);name.setBounds(new Rectangle(44, 83, 90, 29);lbTip = new JLabel(添加新用户,JLabel.CENTER);lbTip.setBounds(new Rectangle(0, 0, 500, 80);lbTip.setF

34、oreground(Color.blue);lbTip.setFont(new Font(黑体, Font.PLAIN, 26);jContentPane = new JPanel();jContentPane.setLayout(null);jContentPane.add(lbTip, null);jContentPane.add(name, null);jContentPane.add(passwordTwo, null);jContentPane.add(getTxtBookTypeName(), null);jContentPane.add(password, null);jCont

35、entPane.add(getTxtBookTypeDesc(), null);jContentPane.add(getPasswordTwo(), null);jContentPane.add(getBtnAdd(), null);jContentPane.add(getBtnCancel(), null);return jContentPane;private JTextField getPasswordTwo() if (inputPasswordTwo = null) inputPasswordTwo = new JPasswordField();inputPasswordTwo.se

36、tBounds(new Rectangle(170, 177, 170, 25);return inputPasswordTwo;private JTextField getTxtBookTypeName() if (inputName = null) inputName = new JTextField();inputName.setBounds(new Rectangle(170, 83, 170, 25);return inputName;private JTextField getTxtBookTypeDesc() if (inputPassword = null) inputPass

37、word = new JPasswordField();inputPassword.setBounds(new Rectangle(170, 130, 170, 25);return inputPassword;private JButton getBtnAdd() if (btnAdd = null) btnAdd = new JButton(添加);btnAdd.setFont(new Font(宋体,Font.PLAIN,17);btnAdd.setBounds(new Rectangle(120, 240,70, 30);btnAdd.addActionListener(new Act

38、ionListener()public void actionPerformed(ActionEvent arg0) String Name=inputName.getText().trim();String Password=inputPassword.getText().trim();String PasswordTwo=inputPasswordTwo.getText().trim();if(StringUtil.isEmpty(Name)JOptionPane.showMessageDialog(null,姓名不能为空!);inputName.requestFocus();return

39、;if(StringUtil.isEmpty(Password)JOptionPane.showMessageDialog(null,密码不能为空!);inputPassword.requestFocus();return;if(StringUtil.isEmpty(PasswordTwo)JOptionPane.showMessageDialog(null,请再次输入密码!);inputPasswordTwo.requestFocus();return;if(Password.equals(PasswordTwo)BookType bookType=new BookType(Name,Pas

40、sword);int flag=new BookTypeDao().addBookType(bookType);if(flag0)JOptionPane.showMessageDialog(null, 添加成功!);inputName.setText();inputPassword.setText();inputPasswordTwo.setText();inputName.requestFocus();elseJOptionPane.showMessageDialog(null, 添加失败!);elseJOptionPane.showMessageDialog(null, 两次密码输入不一致,请重新输入!);inputPassword.setText();inputPasswordTwo.setText();inputPassword.requestFocus();return;);return btnAdd;private JButton getBtnCancel() if (btnCancel = null) btnCancel = new JButton();btnCan

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服