前后端交互整合

本文详细介绍了SpringBoot框架的使用,包括Spring、SpringMVC和MyBatis的整合,讲解了前后端交互的实现,如RESTful API设计、控制器层的请求处理、参数接收与转化。并提供了一个查询案例,演示了如何通过RestFul风格的URL进行数据查询,涉及到控制器、服务层和持久层的配合使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

框架

1.SpringBoot(框架的框架/工具)

2.Spring(整合第三方框架)

3.springMVC(实现前后端的交互)

4.mybatis/MP(实现持久化操作)

 在这里插入图片描述

spring框架流程:

1.主要流程依然不变,数据从网页端发送请求,

2,3.服务器收到请求,并参考pojo的对象类整理请求参数

4.从Controller模块中找到对应的方法.

5.加载对应服务类

6.加载对应接口的实现方法

7.加载映射文件(MyBatis)

8.实现DB

创建代码层

模型层(pojo),                @Component:将该类交给spring管理

持久层(mapper/dao),   @MapperScan:将该类交给spring管理

业务层(service),           @Service:将该类交给spring管理

控制层(controller),        @RestController=@Controller+@ResponseBody

        @ResponseBody:将服务器数据转化为JSON返回

        @Controller:         将该类交给spring管理

        public class UserController

        {

                @Autowired

                //编码规则:面向接口开发:解耦

                private UserService userService;使用接口

        }

项目层次

 在这里插入图片描述

 控制层(controller)

@RequestMapping可以接受get,post,put,delete请求

@GetMapping            只能接受get请求

@PostMapping           只能接受post的请求

@PutMapping             只能接受Put的请求

@DeleteMapping        只能接受Delete的请求

SpringMVC可以利用对象的方式接收

        底层实现:将参数“name=XXX”  拼接为setname,之后检查是否存在对应的Setname(),如果存在就为对象赋值。

1.参数名称必须与url中的名称一致

2.SpringMVC可以根据用户的需求,自动实现类型的转换 

        底层实现,SpringMVC可以根据用户的参数类型,自动实现类的转化,

//控制类UserController代码

//SpringMVC直接根据网页传输的数据整理成user对象,传输进方法中

@GetMapping("findByU

### SSM框架前后端交互的实现方式 SSM(Spring + Spring MVC + MyBatis)框架是目前Java开发中常用的轻量级开发框架组合。它通过整合SpringSpring MVC和MyBatis,实现了前后端分离架构下的数据交互功能。以下是SSM框架前后端交互的主要实现方式: #### 1. 表单提交(Form Submission) 表单提交是一种传统的前后端交互方式,适用于需要页面跳转或刷新的场景。用户在前端填写表单后,点击提交按钮,浏览器会将表单中的数据发送到服务器[^4]。 - **实现过程**: - 前端HTML表单定义`<form>`标签,并设置`action`属性指定请求的目标URL。 - 后端控制器(Controller)通过`@RequestMapping`注解接收请求,并绑定表单参数到方法参数中。 - 控制器调用服务层(Service)进行业务逻辑处理,最终返回视图或数据。 ```html <form action="/submitForm" method="post"> <input type="text" name="username" placeholder="请输入用户名"> <input type="password" name="password" placeholder="请输入密码"> <button type="submit">提交</button> </form> ``` ```java @Controller public class FormController { @PostMapping("/submitForm") public String handleForm(@RequestParam("username") String username, @RequestParam("password") String password) { // 处理表单数据 System.out.println("用户名: " + username + ", 密码: " + password); return "success"; // 返回成功页面 } } ``` #### 2. AJAX请求(Asynchronous JavaScript and XML) AJAX是一种异步交互技术,允许前端在不刷新页面的情况下与后端通信。这种方式适合局部刷新或动态更新页面内容的需求[^2]。 - **实现过程**: - 前端通过JavaScript或jQuery发起AJAX请求,将数据以JSON或表单格式发送到后端。 - 后端控制器通过`@ResponseBody`或`@RestController`注解直接返回JSON数据,而不是视图。 - 前端接收到响应数据后,根据需要更新页面内容。 ```javascript $.ajax({ url: "/ajaxRequest", type: "POST", data: JSON.stringify({ username: "test", password: "123456" }), contentType: "application/json", success: function(response) { console.log("后端返回的数据: ", response); }, error: function(error) { console.error("请求失败: ", error); } }); ``` ```java @RestController @RequestMapping("/ajax") public class AjaxController { @PostMapping("/ajaxRequest") public Map<String, Object> handleAjaxRequest(@RequestBody Map<String, Object> requestData) { String username = (String) requestData.get("username"); String password = (String) requestData.get("password"); Map<String, Object> response = new HashMap<>(); response.put("status", "success"); response.put("message", "欢迎, " + username); return response; } } ``` #### 3. RESTful API设计 RESTful是一种基于HTTP协议的设计风格,强调资源的统一接口和无状态交互。SSM框架可以通过`@RestController`注解轻松实现RESTful API[^1]。 - **实现过程**: - 定义资源的URI路径,例如`/users/{id}`表示获取某个用户的详细信息。 - 使用HTTP动词(GET、POST、PUT、DELETE)表示不同的操作。 - 前端通过AJAX或其他工具调用API,后端返回JSON格式的数据。 ```java @RestController @RequestMapping("/api/users") public class UserController { @GetMapping("/{id}") public User getUserById(@PathVariable("id") int id) { // 根据ID查询用户 return userService.findById(id); } @PostMapping("/") public String createUser(@RequestBody User user) { // 创建新用户 userService.save(user); return "用户创建成功"; } } ``` #### 4. 参数绑定与数据传递 SSM框架支持多种参数绑定方式,包括直接绑定、对象绑定和注解绑定[^3]。 - **直接绑定**:通过`@RequestParam`或`@PathVariable`注解将请求参数映射到方法参数。 - **对象绑定**:通过实体类自动封装请求参数。 - **注解绑定**:使用`@RequestBody`接收JSON格式的数据。 ```java @GetMapping("/findUserByNS") public List<User> findUserByNS(User user) { return userService.findUserByNS(user); } ``` ### 总结 SSM框架提供了多种前后端交互的方式,包括表单提交、AJAX请求、RESTful API设计等。开发者可以根据具体需求选择合适的交互方式。表单提交适合传统页面跳转场景,AJAX请求适合局部刷新或动态更新,而RESTful API则更适合现代微服务架构下的数据交互。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sayhitoloverOvO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值