基于Java的图书购物商城

reching jing

发布日期: 2019-12-18 20:27:03 浏览量: 643
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、功能

  • 登录用户

  • 管理员登录和用户登录两种

  • 注册功能

  • 有购买书籍功能

  • 查询功能:按书名查询,按ID名查询

  • 删除书籍

  • 显示用户的信息

二、注册和登录模块的设计与实现

2.1 注册和登录界面

2.1.1 注册

用户在进行注册时,需要通过该界面输入帐号、密码和用户身份,然后点击“点我注册”按钮进行注册,注册界面设计如图1.1所示。

2.1.2 登录

用户在进行系统登录时,需要通过该界面输入帐号、密码和用户身份,然后点击“登录”按钮进行登录,登录界面设计如图1.2所示。

2.2 该模块涉及到的文件和类

通过详细的分析,该模块涉及到的文件和类在工程中的组织如图所示。

2.2.1 持久层

用文件users.txt持久存储用户的信息,文件中以u00001:普通用户:pw00001:张三:0:上海 的形式存储,其中u00001为id,普通用户为用户类型,pw00001为用户密码,张三为用户真实姓名,0代表用户性别为男,上海为用户所在城市。所有用户的信息均以这样的格式存储,且每个用户的信息在文件中占一行。

为了方便,在类DatabaseConfig中使用静态常量描述了文件users.txt的详细路径。

2.2.3 文件操作层(Dao层)

该层涉及到接口IUserDao和实现该接口的类UserDaoImpl,主要用来完成对文件user.txt的读和写操作。

  1. public Map<String, User> getUsers();

该方法从文件中读出用户的信息并使用Map集合返回结果集。Map中key为用户id, value为使用User封装的用户信息。

  1. public void addUser(User u)

该方法是将封装到User中的用户信息写入文件。

类UserDaoImpl的核心代码如下:

  1. public class UserDaoImpl implements IUserDao{
  2. @Override
  3. public void addUser(User u) {
  4. //使用缓冲流,一个用户信息占一行
  5. File f = new File(DataBaseConfig.USER_FILE_PATH);
  6. FileWriter fw = null;
  7. BufferedWriter bw = null;
  8. try {
  9. fw= new FileWriter(f, true);
  10. bw = new BufferedWriter(fw);
  11. bw.write(u.toString());
  12. bw.newLine();
  13. } catch (IOException e) {
  14. } finally {
  15. }
  16. }
  17. @Override
  18. public Map<String, User> getUsers() {
  19. Map<String, User> users = new HashMap<String, User>();
  20. File f = new File(DataBaseConfig.USER_FILE_PATH);
  21. FileReader fr = null;
  22. BufferedReader br = null;
  23. try {
  24. fr = new FileReader(f);
  25. br = new BufferedReader(fr);
  26. String s;
  27. String[] userInfo;
  28. User u;
  29. while((s=br.readLine()) != null){
  30. userInfo = s.split(":");
  31. u = new User(userInfo);
  32. users.put(userInfo[0], u);
  33. }
  34. } catch (FileNotFoundException e) {
  35. } catch (IOException e) {
  36. } finally {
  37. }
  38. return users;
  39. }
  40. }

详细请查看源代码

个人博客(后续有时间的话放在博客上面)

上传的附件 cloud_download shopping.zip ( 7.64mb, 76次下载 )

发送私信

5
文章数
1
评论数
最近文章
eject