Struts2登录注册实现:用Map模拟数据库操作

0 下载量 96 浏览量 更新于2024-09-01 收藏 107KB PDF 举报
本资源是一个基于Struts2框架的简单登录与注册系统实现,使用Map作为临时数据库存储用户信息。 在这个实例中,设计思想是利用Java的静态集合Map来模拟数据库存储用户账户和密码。首先,当用户尝试注册时,程序会检查Map是否为空,如果为空则表示没有注册过的用户,此时可以进行注册操作。注册时,用户输入的账号和密码被存储到`AdduserAction`类的静态Map中。成功注册后,用户会被重定向到主页。登录过程则分为三种情况:账号和密码都正确,账号存在但密码错误,以及账号不存在。 具体实现上,遵循了MVC(Model-View-Controller)架构模式: **MVC中的V (View)**: - 首页界面包含登录和注册的链接。 - 注册界面用于用户输入用户名和密码。 - 结果界面会显示登录或注册的结果,例如错误消息或成功提示。 **MVC中的M (Model)**: - `User.java` 类代表用户模型,包含了用户名(username)和密码(password)属性,以及对应的getter和setter方法。 **MVC中的C (Controller)**: - `AdduserAction.java` 类作为控制器,其中的静态Map `map` 用于存储用户信息,`flag` 用于标识操作状态,`userName` 和 `password` 用于接收用户输入。 - `getMap()` 和 `setMap()` 方法用于访问和设置Map,`addAction()` 或其他相关方法处理用户的注册和登录请求。 在登录时,`LoginActionModel.java` 会检查Map中的账号是否存在并验证密码。如果账号不存在,或者密码不匹配,系统会给出相应的错误提示。如果账号和密码都正确,用户将顺利登录并看到主页面。 这个简单的示例适用于初学者了解Struts2框架的基本用法,以及如何利用Map进行数据存储和验证。它展示了如何将用户输入与后台数据进行交互,并处理不同场景下的逻辑控制。然而,实际应用中,通常会使用真正的数据库存储用户信息,而不是静态的Map,因为Map不具备持久化存储的能力,且在多线程环境下可能存在并发问题。