Spring Angular 登录 & 登出应用程序

2025 年 3 月 25 日 | 阅读时间 16 分钟

在本节中,我们将创建一个登录和登出 Web 应用程序。该应用程序包括一个注册和登录表单。在这个集成中,我们使用 Spring 处理后端部分,并使用 Angular 处理前端部分。

应用程序的工作方式

  • 一旦我们在服务器上部署了我们的应用程序,将生成一个欢迎页面,其中包含两个链接 - 注册和登录。
  • 新用户可以选择注册并通过填写所需详细信息来注册自己。
  • 但是,现有用户可以使用他们的电子邮件 ID 和密码登录。
  • 登录后,我们可以获取现有用户的详细信息。
  • 最后,我们可以通过单击登出链接退出当前状态。

要使用的工具

  • 使用任何 IDE 开发 Spring 和 Hibernate 项目。它可以是 MyEclipse/Eclipse/Netbeans。在这里,我们使用 Eclipse。
  • MySQL 用于数据库。
  • 使用任何 IDE 开发 Angular 项目。它可以是 Visual Studio Code/Sublime。在这里,我们使用 Visual Studio Code。
  • 服务器:Apache Tomcat/JBoss/Glassfish/Weblogic/Websphere。

我们使用的技术

在这里,我们使用以下技术

  • Spring 5
  • Hibernate 5
  • Angular 6
  • MYSQL

创建数据库

让我们创建一个数据库 loginlogoutexample。无需创建表,因为 Hibernate 会自动创建它。

Spring 模块

让我们看看我们需要遵循的 Spring 目录结构

Spring Angular Login and Logout Application

要开发一个登录和登出应用程序,请按照以下步骤操作:-

  • 将依赖项添加到 pom.xml 文件中。
  • 创建配置类
    我们使用基于注解的配置而不是 XML。因此,我们创建两个类并在其中指定所需的配置。

DemoAppConfig.java

MySpringMvcDispatcherServletInitializer.java

  • 创建实体类
    在这里,我们正在创建以下实体类
    1. AdminDetail.java - 它是一个 Entity/POJO(简单的 Java 对象)类。
    2. Token.java - 它用于身份验证目的。

AdminDetail.java

Token.java

  • 创建 DAO 接口
    在这里,我们创建了两个 DAO 接口来执行与数据库相关的操作。

AdminDAO.java

TokenDAO.java

  • 创建 DAO 接口实现类

AdminDAOImpl.java

TokenDAOImpl.java

  • 创建服务层接口

在这里,我们正在创建服务层接口,这些接口充当 DAO 和实体类之间的桥梁。

AdminService.java

TokenService.java

  • 创建服务层实现类

AdminServiceImpl.java

TokenServiceImpl.java

  • 创建令牌类

GenerateToken.java

  • 创建控制器类

AdminController.java

  • 创建 properties 文件

在这里,我们在项目的 src/main/resources 中创建 properties 文件。以下文件包含 Hibernate 连接配置。

persistence-mysql.properties

Angular 模块

让我们看看我们需要遵循的 Angular 目录结构

Spring Angular Login and Logout Application
  • 创建一个 Angular 项目

让我们使用以下命令创建一个 Angular 项目

ng new LoginLogoutExample

在这里,LoginLogoutExample 是项目的名称。

安装 Bootstrap CSS 框架

使用以下命令在项目中安装 Bootstrap。

npm install [email protected] --save

现在,在 style.css 文件中包含以下代码。

  • 生成组件
    在 Visual Studio 中打开项目,然后使用以下命令生成以下 Angular 组件
    ng g c Home
    ng g c Login
    ng g c Signup
    ng g c Profile
Spring Angular Login and Logout Application
Spring Angular Login and Logout Application

让我们也使用以下命令创建一个服务类:-

ng g s services/Admin

Spring Angular Login and Logout Application
  • 编辑 app.module.ts 文件
    • 实现路由 - 在这里,我们导入位于 @angular/router 包中的 RouterModule,并在导入数组中定义路径。
    • 导入 ReactiveFormsModule - 在这里,我们导入 ReactiveFormsModule 用于响应式表单,并在导入数组中指定它。
    • 导入 HttpModule - 在这里,我们导入 HttpModule 用于服务器请求,并在导入数组中指定它。
    • 注册 Service 类 - 在这里,我们在 providers 数组中提及服务类。
  • 编辑 app.component.html 文件
  • 编辑 home.component.html 文件
    这是应用程序的欢迎页面,其中包含两个链接 - 注册和登录。
Spring Angular Login and Logout Application
  • 创建 AdminDetail.ts

让我们使用以下命令创建一个类:-

ng g class classes/AdminDetail

Spring Angular Login and Logout Application

现在,在 AdminDetail 类中指定所需的字段。

此类的目的是将指定的字段映射到 Spring 实体类的字段。

  • 编辑 admin.service.ts 文件
  • 编辑 signup.component.ts 文件
  • 编辑 signup.component.html 文件
Spring Angular Login and Logout Application
  • 编辑 login.component.ts 文件
  • 编辑 login.component.html 文件
Spring Angular Login and Logout Application
  • 编辑 profile.component.ts 文件
    用户登录后,它将被重定向到 profile 组件。
  • 编辑 profile.component.html 文件

用户可以通过单击 获取管理员详细信息 链接来获取管理员详细信息。

Spring Angular Login and Logout Application

现在,用户可以通过单击 登出 退出当前状态。


下一主题搜索字段示例