图书管理系统数据库课程设计实验报告(2)

2019-01-07 16:49

管理员信息表 字段名称 数据类型 BookNo BookName Auther Publishment ButTime Borrowed Ordered 图书基本信息表 字段名称 数据类型 BookNo int STUNO varchar BorrorTime varchar ReturnTime varchar Borrowed varchar Ordered varchar 借阅图书信息 字段名称 数据类型 StuNO Int BookNO Int BookName Varchar DelayTime varchar 超期图书信息表 字段名称 数据类型 BookNO Int StuName varchar Class varchar BookName varchar StuNO Int Auther varchar 预约图书表如上

字段大小 是否主键 是 否 否 否 否 否 否 是否为空 否 是 是 是 是 是 是 说明 图书ID 图书名称 图书作者 出版社 购进日期 是否借阅 是否预约 字段大小 N/A 50 50 50 50 50 是否主键 是 否 否 否 否 否 是否为空 否 否 是 是 是 是 说明 书号 学号 借阅时间 归还时间 是否借阅 是否预约 字段大小 N/a N/A 50 50 是否主键 是 否 否 否 是否为空 否 是 是 是 说明 学号 书号 书名 超期天数 字段大小 N/A 50 50 50 N/A 50 是否主键 是 否 否 否 否 否 是否为空 否 是 是 是 是 是 说明 书号 学生姓名 班级 书名 学生ID 作者 字段名称 LBNO BookNO BookName StuNO

数据类型 Int Int Varchar int 字段大小 N/A N/A 50 N/A 是否主键 是 否 否 否 是否为空 否 是 是 是 说明 挂失书号 书号 书名 学生ID 第四章:程序模块设计

1, 用户登录模块设计

用户登录界面的主要功能是验证登录者的身份和权限,只有学生用户或管理员才能登录与之对应的管理系统。在登录界面,通过对各项登录条件的验证,就可以确认用户的使用权限。下面将介绍登陆模块的具体开发。

登录界面开发 界面构造器的实现

管理员登录模块需要对管理员登录是输入的用户名和密码进行检验,当管理员输入用户名和密码后,系统需要对输入的参数与数据库中的所存储的参数进行

对比,当用户名和密码相对应且都正确时能能够成功登录到管理员的操作首页

Login.jsp是管理员的登录界面,主要功能是将管理员输入的用户名和密码提交到manager.action进行处理而且能够进行简单的客户端校验。Manager.action是对用户提交的用户名和密码进行服务器端的校验。当用户提交了数据后,manager.action将调用managerdao中的check()检测用户提交的数据是否匹配数据库中的数据,各代码如下所示

Login.jsp代码如下: package wyf.hxl;

import javax.swing.*;import java.awt.*;

import java.awt.event.*;import javax.swing.table.*; import javax.swing.event.*;import java.sql.*; import java.util.*;import java.util.Date;

public class Login extends JFrame implements ActionListener{ private JPanel jp=new JPanel();//创建JPanel对象 private JLabel []jlArray={//创建标签组

new JLabel(\用户IP\端口号\用户名\new JLabel(\密 码\};

private JButton[] jbArray={//创建按钮数组

new JButton(\学生登录\清空\管理员登录\};

private JTextField[] jtxtArray={ //创建文本框

new JTextField(\};

private JPasswordField jpassword=new JPasswordField(\创建密码框 String sql; DataBase db; public Login(){

jp.setLayout(null); //设置JPanel的布局管理器 for(int i=0;i<4;i++){ //对标签与按钮控件循环处理

jlArray[i].setBounds(30,20+i*50,80,25);//设置标签与按钮的大小和位置 jp.add(jlArray[i]);//将标签和按钮添加进JPanel容器中 }

for(int i=0;i<3;i++){//设置按钮的大小位置并为其添加事件监听器 jbArray[i].setBounds(10+i*120,230,100,25); jp.add(jbArray[i]);

jbArray[i].addActionListener(this); }

for(int i=0;i<3;i++){//设置文本框的大小位置并为其添加事件监听器 jtxtArray[i].setBounds(80,20+50*i,180,25); jp.add(jtxtArray[i]);

jtxtArray[i].addActionListener(this); }

jpassword.setBounds(80,170,180,25);//设置密码框的大小位置

jp.add(jpassword);//将密码框添加进JPanel容器 jpassword.setEchoChar('*');//设置密码框的回显字符 jpassword.addActionListener(this);//为密码框注册监听器

jlArray[4].setBounds(10,280,300,25);//设置用于显示登录状态的标签的大小位置 jp.add(jlArray[4]); //将标签添加进JPanel容器 this.add(jp);

Image image=new ImageIcon(\对logo图片进行初始化 this.setIconImage(image);

//设置窗体的大小位置及可见性 this.setTitle(\登录\this.setResizable(false);

this.setBounds(100,100,400,350); this.setVisible(true); }

//实现ActionListener接口中的方法

public void actionPerformed(ActionEvent e) {//事件源为文本框

String mgno=jtxtArray[2].getText().trim(); String mgIP=jtxtArray[0].getText().trim(); String port=jtxtArray[1].getText().trim(); String message=mgIP+\

DataBase.message=message;//将本方法椎谋淞孔魑?问?持蹈鳧ataBase方法的私有变量

DataBase.log=this;

if(e.getSource()==jtxtArray[0]){

jtxtArray[1].requestFocus();//切换输入焦点到密码框 }

if(e.getSource()==jtxtArray[1]){

jtxtArray[2].requestFocus();//切换输入焦点到密码框 }

if(e.getSource()==jtxtArray[2]) {

jpassword.requestFocus();//切换输入焦点到密码框 }

else if(e.getSource()==jbArray[1]){//事件源为清空按钮 //清空所有信息 jlArray[4].setText(\jtxtArray[2].setText(\jpassword.setText(\

//将输入焦点设置到文本框 jtxtArray[2].requestFocus(); }

else if(e.getSource()==jbArray[2]){//事件源为管理员登录按钮 //判断用户名和密码是否匹配 if(!mgno.matches(\

{//如果用户名格式输入有误

JOptionPane.showMessageDialog(this,\用户名格式错误!!!\信息\JOptionPane.INFORMATION_MESSAGE); return; }

if(jtxtArray[0].getText().trim().equals(\{//如果\用户IP\文本框为空,提示

JOptionPane.showMessageDialog(this,\用户IP不能为空!!!\信息\JOptionPane.INFORMATION_MESSAGE); return; }

if(jtxtArray[1].getText().trim().equals(\{//如果\端口号\文本框为空,提示

JOptionPane.showMessageDialog(this,\用户端口号不能为空!!!\信息\JOptionPane.INFORMATION_MESSAGE); return; }

sql=\db=new DataBase();

db.selectDb(sql);//以上三行是对用户名和密码进行查询,验证身份 try{

String mgNo=\String password=\

while(db.rs.next()){//取出结果集中数据并赋值 mgNo=db.rs.getString(1).trim(); password=db.rs.getString(2).trim(); }

if(jtxtArray[2].getText().trim().equals(mgNo)&&

String.valueOf(jpassword.getPassword()).equals(password)){//登录成功 jlArray[4].setText(\恭喜您,登录成功!!!\new Root(mgNo); this.dispose(); }

else{//登录失败

jlArray[4].setText(\对不起,登录失败!!!\} }

catch(Exception e1){e1.printStackTrace();} db.dbClose();//关闭数据库链接 }

else if(e.getSource()==jbArray[0]){//事件源为学生登录按钮 if(!jtxtArray[2].getText().trim().matches(\//若学号格式错误,输出提示对话框

JOptionPane.showMessageDialog(this,\输入有误,学号只能为数字!!!\


图书管理系统数据库课程设计实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:加油站各类安全检查表汇编(通用)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: