各类的属性和方法:
书籍(Book):
可以将借书还书的活动写成日志,记录到某个文件当中
private Integer id; // 书的id(主键、递增、唯一)
private String name; // 书名
private String pos; // 书的位置
private String type; // 书的类型
private String info; // 书的简介
private Integer state; // 书籍状态可以使用单选框来限定
// 书的状态(0表示未被借出,1表示已被借出,2表示被续借,3表示逾期, 4表示丢失,5表示损毁,6表示其他情况)
private String remark; // 书的备注
private Integer owner; // 借书的同学的id(还书之后为null)
private String borrowBookDate; // 借书的时间(还书之后为null)
private String returnBookDate; // 还书的时间(还书之后为null)
// 书的总数量(???) 可以直接用SELECT * FROM table where state=0 然后统计list.size()
留言(Evaluation):
private Integer evaluationId; // 该留言的id
private Integer adminId; // 如果是管理员留言的话,管理员的id
private Integer studentId; // 如果是学生留言的话,学生的id
private Integer bookId; // 被留言的书的id
private String message; // 留言的内容
学生(Student):
private Integer id;
private String number;
private String username;
private String password;
private String tel;
private String email;
private Integer credit;
// 信誉等级(通过调用不同的函数,根据信誉等级来设置每个同学能借书和续借书的数量)
private Integer bookCnt; // 每个月借的书的数量
private Integer bookRenewal; // 每个月能续借的书籍
private String bookId; // 不同的书的id之间使用,分割开
管理员(Admin):
private Integer id;
private String username;
private String password;
登录逻辑:
用户登录之前:
到时候会将项目部署到我的服务器上面,所以会有一个公网IP(项目地址)
输入项目地址,进入index(初始页面):
页面用来展示介绍咱项目的具体内容和信息
并且提供学生的登录、注册以及管理员的注册按钮
(这里可以用别人现成的网页改一下)
学生注册页面:
输入用户的信息进行注册(这些内容都可使用正则表达式进行验证)
学号:必填、不可更改、不可重复(使用Ajax异步进行数据库的连接验证学号是否重复)
密码:长度限制
手机号:格式限制(可能需要发送验证码?)
邮箱:格式限制(可能需要发送验证码?)
最后可能需要验证码?
注册完成之后,Ajax验证注册是否成功
成功:提示用户成功,自动跳转到登录页面
失败:提示用户失败,还是在当前页面
与学生登录和管理员登录之间可以相互跳转(response完成重定向)
注册的时候不要以form表单的形式直接提交信息,要采用ajax,以json的形式,向后台提交信息。
学生登录页面:
登录信息:学号、密码登录
用cookie(加密)使十天内记住账号信息
(提示:为了您的信息安全,请不要在网吧或公用电脑上使用此功能!)
使用正则表达式验证账号密码是否符合条件
使用ajax在当前页面对与登录信息进行连接数据库的验证,验证登录的账号和密码是否正确
登录成功:用session来记录用户信息,跳转到学生个人菜单页面
登录失败:在本页面提示登录失败(用户名或密码错误)
然后就进入用户模块了
管理员登录页面:
登录信息:用户名、密码登录
使用正则表达式验证账号密码是否符合条件
使用ajax在当前页面对与登录信息进行连接数据库的验证,验证登录的账号和密码是否正确
登录成功:用session来记录用户信息,跳转到学生个人菜单页面
登录失败:在本页面提示登录失败(用户名或密码错误