生成java代码,在idea中运行:在Spring MVC中,我们可以一次创建多个控制器。必须使用 @Controller 注释映射每个控制器类。 多个控制器的Spring MVC示例。步骤如下: 1. 在Maven中加载spring jar文件或添加依赖项创建控制器类 2. 在web.xml文件中提供控制器的条目 3. 在spring-servlet.xml文件中定义bean 4. 创建其他视图组件 5. 启动服务器并部署项目。要求至少要写三个controller且不能用href语句实现跳转。页面最终实现效果为:可以直接从页面1分别跳转到页面2和页面3(即页面1中有页面2和页面3的跳转链接,页面2和页面3中只有一句话。代码需要简单易懂符合初学者大学生的水平,并对每个页面进行解说。
时间: 2025-06-24 11:36:07 浏览: 12
### Spring MVC 多控制器示例代码
以下是满足需求的一个简单 Spring MVC 示例代码,包含三个控制器 `HomeController`、`PageTwoController` 和 `PageThreeController`。通过表单提交的方式实现页面间的跳转,而不是使用 `<a href>`。
#### 控制器代码
```java
// Controller 1: 跳转到首页和页面2、页面3的选择界面
@Controller
@RequestMapping("/home")
public class HomeController {
@GetMapping("/")
public String showHomePage() {
return "home"; // 显示 home.html 页面
}
}
// Controller 2: 跳转到页面2
@Controller
@RequestMapping("/page-two")
public class PageTwoController {
@PostMapping("/") // 使用 POST 方法接收请求
public String handleFormSubmission() {
return "redirect:/target-page-two"; // 跳转至目标页面
}
@GetMapping("/target-page-two")
public String showTargetPageTwo() {
return "page_two"; // 显示 page_two.html 页面
}
}
// Controller 3: 跳转到页面3
@Controller
@RequestMapping("/page-three")
public class PageThreeController {
@PostMapping("/") // 使用 POST 方法接收请求
public String handleFormSubmission() {
return "redirect:/target-page-three"; // 跳转至目标页面
}
@GetMapping("/target-page-three")
public String showTargetPageThree() {
return "page_three"; // 显示 page_three.html 页面
}
}
```
#### 前端 Thymeleaf 模板文件
##### 文件名:`home.html`
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Home Page</title>
</head>
<body>
<h1>Welcome to Home Page!</h1>
<!-- 表单用于跳转到页面2 -->
<form th:action="@{/page-two/}" method="post">
<button type="submit">Go to Page Two</button>
</form>
<!-- 表单用于跳转到页面3 -->
<form th:action="@{/page-three/}" method="post">
<button type="submit">Go to Page Three</button>
</form>
</body>
</html>
```
##### 文件名:`page_two.html`
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Page Two</title>
</head>
<body>
<h1>You are on Page Two!</h1>
<p>This is a simple example of how to navigate between pages using forms.</p>
<a th:href="@{/home}">Back to Home</a>
</body>
</html>
```
##### 文件名:`page_three.html`
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Page Three</title>
</head>
<body>
<h1>You are on Page Three!</h1>
<p>This is another example of navigating between pages without using href directly.</p>
<a th:href="@{/home}">Back to Home</a>
</body>
</html>
```
---
此示例展示了如何利用多个控制器来管理不同的页面逻辑,并通过表单提交方式完成页面之间的跳转[^1]。这种方式避免了直接使用 `<a href>` 链接,适合初学者理解 Spring MVC 中的请求处理机制以及视图跳转功能[^2]。
如果遇到类似于循环视图路径错误的情况,请检查视图解析器是否正确配置,确保返回的视图名称不会与当前处理器映射冲突[^3]。
---
###
阅读全文
相关推荐
















