简单动作,深刻联结。在这技术海洋,我备好舟,等你扬帆。启航吧!
🌟点击【关注】,解锁定期的技术惊喜,让灵感与知识的源泉不断涌动。
👍一个【点赞】,如同心照不宣的默契,是我们共同语言的闪亮印记。
📚【收藏】好文,搭建你的专属智慧库,让每次回望都能照亮新知之路。
在本文中,我们将一起探讨如何使用最新版Spring Boot版本 Spring Boot 3.3.1、Eclipse IDE 和 Maven(不使用 Spring Boot Starter 插件)来创建一个简单的 Spring Boot 应用程序。这个应用程序将包含一个 Thymeleaf 登陆页面,一个 Java 类 用于接收用户名和密码,并进行简单的验证。
一、准备工作
1. 安装 Java:
- 访问 Oracle 官网 下载并安装 Java JDK 17(Spring Boot 3.3.1 需要 JDK 17 或更高版本)。
- 配置环境变量,确保 JAVA_HOME 和 PATH 变量设置正确。
2. 安装 Eclipse:
- 访问 Eclipse 官网 下载 Eclipse IDE for Enterprise Java and Web Developers。
- 解压并运行 Eclipse 安装程序,按照提示完成安装。
3. 安装 Maven:
访问 Maven 官网 下载并安装 Maven。
配置环境变量,确保 M2_HOME 和 PATH 变量设置正确。
二、创建 Maven 项目
1. 启动 Eclipse,点击 File -> New -> Maven Project。
2. 选择项目模板:
- 勾选 Create a simple project (skip archetype selection)。
- 点击 Next。
3. 填写项目信息:
- Group Id:com.jsglxx
- Artifact Id:demo
- Version:0.0.1-SNAPSHOT
- Packaging:jar
4. 点击 Finish,Eclipse 将自动生成项目结构。
三、添加 Spring Boot 依赖
1. 打开 pom.xml 文件,添加以下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.1</version>
</dependency>
</dependencies>
2. 添加 Spring Boot Maven 插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
四、编写代码
1. 创建 Spring Boot 项目的基本文件
在Spring Boot中,application.yml 文件用来集中配置应用程序的属性设置,它提供了一种清晰、层次化的配置方式,替代了传统的 application.properties,使配置管理更加灵活和可读。
1)在 src/main/resources 目录下创建一个 application.yml 配置文件,并配置服务器端口号:
server:
port:8080
2)在 src/main/java 目录下创建项目启动类: DemoApplication.java:
package com.jsglxx.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
2. 创建 Thymeleaf 登陆页面:
在 src/main/resources/templates 目录下创建一个 login.html 文件。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>请登陆!</title>
</head>
<body>
<h2>用户登陆</h2>
<h2 th:text="${errorMessage}"></h2> <!-- 此处显示登陆失败的错误信息 -->
<form action="/login" method="post">
<div>
<label>用户名:</label>
<input type="text" name="username"/>
</div>
<div>
<label>密 码:</label>
<input type="password" name="password"/>
</div>
<button type="submit">登 陆</button>
</form>
</body>
</html>
2. 创建 Java 类用于接收用户名和密码
在 src/main/java/com/jsglxx/demo 目录下创建一个 LoginController.java 文件。
package com.jsglxx.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class LoginController {
@PostMapping("/login")
public ModelAndView login(@RequestParam("username") String username, @RequestParam("password") String password) {
if ("admin".equals(username) && "password".equals(password)) {
return new ModelAndView("welcome", "message", "登陆成功!");
} else {
return new ModelAndView("login", "errorMessage", "错误的用户名或密码!");
}
}
@GetMapping("/login")
public String showLoginForm() {
return "login";
}
}
以上代码是一个典型的 Spring Boot 控制器类,用于处理与登录相关的 HTTP 请求。让我们逐行解析这段代码的关键部分:
- @Controller:这是一个 Spring MVC 控制器注解,它告诉 Spring 这个类是用来处理 HTTP 请求的。Spring Boot 自动扫描此类注解,并将它们注册为处理传入请求的控制器。
- @PostMapping(“/login”):这是一个请求映射注解,用于处理 HTTP POST 请求。当客户端发送一个 POST 请求到 /login URL 时,此方法将被调用。
- @RequestParam:注解用于从 HTTP 请求中提取参数。这里,“username” 和 “password” 是 POST 请求体中的参数名称,它们将分别绑定到方法参数 username 和 password 上。
- ModelAndView(“welcome”, “message”, “登陆成功!”):如果登录成功,返回一个 ModelAndView 对象,其中 “welcome” 是视图的名称(简单理解 为welcome.html页面,同理如果视图名称是"login",则对应login.html),“message” 是模型中的键(html中的 th:text=“${message}”),“登陆成功!” 是与该键关联的值。Spring Boot 将渲染这个视图,并将模型数据传递给视图层。
- @GetMapping(“/login”):这个注解用于处理 HTTP GET 请求。当客户端请求 /login URL 时,将调用下面的方法,即用于显示登录表单页面 login.html。
- return “login”:返回一个字符串 “login”,这通常是指向视图模板的名称,这里对应 login.html 页面。Spring Boot 将负责渲染这个视图,并将其返回给客户端。
3. 创建欢迎页面
在 src/main/resources/templates 目录下创建一个 welcome.html 文件。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>欢迎你!</title>
</head>
<body>
<h2 th:text="${message}"></h2>
</body>
</html>
五、运行和测试
1. 运行项目:
在主类的 DemoApplication 的 main 方法上右键,选择 Run As -> Java Application。出现如下信息则说明启动成功(看到最后一行的启动ms):
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.3.1)
2024-07-11T20:37:30.640+08:00 INFO 16584 --- [ main] com.jsglxx.demo.DemoApplication : Starting DemoApplication using Java 17.0.5 with PID 16584 (D:\eclipse-workspace\demo\target\classes started by JJW in D:\eclipse-workspace\demo)
2024-07-11T20:37:30.644+08:00 INFO 16584 --- [ main] com.jsglxx.demo.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2024-07-11T20:37:31.722+08:00 INFO 16584 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2024-07-11T20:37:31.738+08:00 INFO 16584 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2024-07-11T20:37:31.739+08:00 INFO 16584 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.25]
2024-07-11T20:37:31.829+08:00 INFO 16584 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2024-07-11T20:37:31.832+08:00 INFO 16584 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1138 ms
2024-07-11T20:37:32.270+08:00 INFO 16584 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2024-07-11T20:37:32.282+08:00 INFO 16584 --- [ main] com.jsglxx.demo.DemoApplication : Started DemoApplication in 2.018 seconds (process running for 2.327)
2. 访问应用:
- 打开浏览器,访问 http://localhost:8080/login。
3.测试登录:
- 输入用户名 admin 和密码 password,点击登录,你应该能够看到欢迎页面。
- 输入 错误的用户名或密码,你应该能够看到错误消息。
六、总结
通过遵循上述步骤,你应该能够成功地在 Eclipse 中使用 Maven 创建一个简单的 Spring Boot 应用程序,该应用程序包含一个 Thymeleaf 登陆页面和一个 Java 类用于接收用户名和密码,并进行简单的验证。