当前位置: 首页 > news >正文

ppt代做网站营销方案范文100例

ppt代做网站,营销方案范文100例,顺的网站建设咨询,做赚钱的网站1. Spring Boot 请求与响应概述 在 Spring Boot 开发中,客户端通过浏览器发起请求,后端使用内置的 Tomcat Web 服务器处理请求,返回响应数据。请求和响应的过程遵循 HTTP 协议。Spring Boot 的核心 Servlet 程序是 DispatcherServlet&#x…

1. Spring Boot 请求与响应概述

在 Spring Boot 开发中,客户端通过浏览器发起请求,后端使用内置的 Tomcat Web 服务器处理请求,返回响应数据。请求和响应的过程遵循 HTTP 协议。Spring Boot 的核心 Servlet 程序是 DispatcherServlet,它作为请求的核心调度器,将请求转发给处理器 (Controller),并在处理完成后生成响应。

2. 请求

2.1 Postman 工具

Postman 是一个常用的接口测试工具,支持 GET、POST 等请求方法。后端开发时,Postman 可以帮助测试接口是否正常工作,尤其是在前后端分离的开发模式下,后端不依赖前端页面也能自行测试接口。

2.2 简单参数

Spring Boot 提供了多种方式来接收请求参数:

2.2.1 原始方式

通过 HttpServletRequest 对象获取请求参数,适用于传统的 Servlet 编程。

String name = request.getParameter("name");

2.2.2 Spring Boot 方式

直接在方法参数中定义变量,变量名与请求参数名一致即可自动接收。

@RequestMapping("/simpleParam")
public String simpleParam(String name, Integer age) {return "OK";
}

2.3 实体参数

对于复杂请求,可以将多个请求参数封装到实体类中,前提是请求参数名与实体类的属性名一致。Spring Boot 自动将请求参数映射到实体类属性。

2.3.1 简单实体对象

public class User {private String name;private Integer age;// getters and setters
}@RequestMapping("/simplePojo")
public String simplePojo(User user) {return "OK";
}

2.3.2 复杂实体对象

实体类的属性可以是另一个实体对象,Spring Boot 也能自动封装嵌套对象。

public class Address {private String city;private String province;// getters and setters
}public class User {private Address address;// getters and setters
}

2.4 数组与集合参数

如果请求参数包含多个值,如复选框数据,可以通过数组或集合来接收。

2.4.1 数组

请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数

@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby) {return Arrays.toString(hobby);
}

2.4.2 集合

请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam 绑定参数关系

@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby) {return hobby.toString();
}

2.5 日期参数

对于日期参数,使用 @DateTimeFormat 注解指定日期格式,例如:

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime) {return updateTime.toString();
}

2.6 JSON 参数

通过 @RequestBody 注解接收 JSON 格式的请求体,并将其映射为 Java 对象。

@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user) {return user.toString();
}

2.7 路径参数

路径参数嵌入在 URL 中,通过 @PathVariable 注解获取。例如:

@RequestMapping("/path/{id}")
public String pathParam(@PathVariable Integer id) {return id.toString();
}

3. 响应

3.1 @ResponseBody 注解

@ResponseBody 注解用于将方法的返回值直接响应给客户端。如果返回的是 Java 对象,Spring Boot 会将其自动转换为 JSON 格式。在使用 @RestController 注解时,@ResponseBody 是默认启用的。

3.2 统一响应结果

为了在大型项目中保持响应的统一格式,通常会使用 Result 类统一封装响应结果,包含状态码、提示信息和数据。

public class Result {private Integer code;private String msg;private Object data;// getters and setters//增删改 成功响应(不需要给前端返回数据)public static Result success(){return new Result(1,"success",null);}//查询 成功响应(把查询结果做为返回数据响应给前端)public static Result success(Object data){return new Result(1,"success",data);}//失败响应public static Result error(String msg){return new Result(0,msg,null);}
}

例如:

@RequestMapping("/getAddr")
public Result getAddr() {Address addr = new Address();addr.setCity("深圳");return Result.success(addr);
}

4. 分层解耦

4.1 三层架构

解耦思路:不能使用new对象

为了提高代码的可维护性和可扩展性,Spring Boot 项目通常遵循三层架构:

  1. Controller 层:处理请求与响应。
  2. Service 层:处理业务逻辑。
  3. Dao 层:负责数据访问。

三层架构的好处是各个层之间的代码可以解耦,增强代码的可维护性。

4.2 依赖注入 (DI)

通过 Spring 的依赖注入机制,@Autowired (自动装配)注解可以自动将需要的依赖注入到类中,避免显式地创建对象。

4.2.1 @Autowired注解

默认是按照类型进行自动装配的(去IOC容器中找某个类型的对象,然后完成注入操作)

如果在IOC容器中,存在多个相同类型的bean对象,即接口有多个实现类,spring就不知道注入哪个对象。

解决方案:

使用@Qualifier注解:指定当前要注入的bean对象。 在@Qualifiervalue属性中,指定注入的bean的名称。(@Qualifier注解不能单独使用,必须配合@Autowired使用 )

4.2.2 @Resource注解

是按照bean的名称进行注入。通过name属性指定要注入的bean的名称。

也可以解决自动装配(按类型注入)带来的问题。

4.3 控制反转 (IOC)

Spring 的 IOC 容器负责管理项目中的 Bean,对象的创建和管理由容器完成。可以通过 @Component@Service@Controller 等注解将类注册到容器中。

注意:使用注解声明的bean,要想生效,还需要被组件扫描注解@ComponentScan扫描

@ComponentScan注解虽然没有显式配置,但是实际上已经包含在了引导类声明注解

@SpringBootApplication 中, 默认扫描的范围是SpringBoot启动类所在包及其子包

5. 总结

Spring Boot 提供了强大的请求处理和响应机制,能够轻松处理各种类型的请求参数,并通过三层架构和 IOC/DI 实现代码的解耦,极大地提高了开发效率和代码的可维护性。


文章转载自:
http://dinncosupercrescent.knnc.cn
http://dinncomoeurs.knnc.cn
http://dinncolayover.knnc.cn
http://dinncospringal.knnc.cn
http://dinncolevan.knnc.cn
http://dinncoperforative.knnc.cn
http://dinncoilliterati.knnc.cn
http://dinncoreclaimable.knnc.cn
http://dinncooculonasal.knnc.cn
http://dinncounconvertible.knnc.cn
http://dinncoelaborately.knnc.cn
http://dinncoreek.knnc.cn
http://dinncoretorsion.knnc.cn
http://dinncotweed.knnc.cn
http://dinncoblackamoor.knnc.cn
http://dinncozygomycete.knnc.cn
http://dinncosurrey.knnc.cn
http://dinncopolymastigote.knnc.cn
http://dinncoantagonistic.knnc.cn
http://dinncometencephalic.knnc.cn
http://dinncodiabolic.knnc.cn
http://dinncomorphophonology.knnc.cn
http://dinncoexquay.knnc.cn
http://dinncominitype.knnc.cn
http://dinncousual.knnc.cn
http://dinncojaunty.knnc.cn
http://dinncoteakettle.knnc.cn
http://dinncodystrophy.knnc.cn
http://dinncosextodecimo.knnc.cn
http://dinncobielorussia.knnc.cn
http://dinncolensman.knnc.cn
http://dinncoreptilivorous.knnc.cn
http://dinncobreed.knnc.cn
http://dinncokotwalee.knnc.cn
http://dinncoamy.knnc.cn
http://dinncounclad.knnc.cn
http://dinnconuttily.knnc.cn
http://dinncokerria.knnc.cn
http://dinncoracemic.knnc.cn
http://dinncoalvine.knnc.cn
http://dinncodamnous.knnc.cn
http://dinncoroommate.knnc.cn
http://dinncotorture.knnc.cn
http://dinncoremittance.knnc.cn
http://dinnconagpur.knnc.cn
http://dinncocannikin.knnc.cn
http://dinncopayee.knnc.cn
http://dinncosemibull.knnc.cn
http://dinncoalphametic.knnc.cn
http://dinncochristianly.knnc.cn
http://dinncoisocratic.knnc.cn
http://dinncopreadolescence.knnc.cn
http://dinncountasted.knnc.cn
http://dinncosocius.knnc.cn
http://dinncotheosophism.knnc.cn
http://dinncostonily.knnc.cn
http://dinncocoumarin.knnc.cn
http://dinncoleprologist.knnc.cn
http://dinncogerm.knnc.cn
http://dinncodermal.knnc.cn
http://dinncoepithetic.knnc.cn
http://dinncoyorker.knnc.cn
http://dinncoplasmatron.knnc.cn
http://dinncodefame.knnc.cn
http://dinncostatecraft.knnc.cn
http://dinncojuggernaut.knnc.cn
http://dinncoexonerate.knnc.cn
http://dinncofete.knnc.cn
http://dinncolengthily.knnc.cn
http://dinncoelaterid.knnc.cn
http://dinncoresonatory.knnc.cn
http://dinncononproletarian.knnc.cn
http://dinncoebullience.knnc.cn
http://dinncoomnifocal.knnc.cn
http://dinncofavour.knnc.cn
http://dinncorevibration.knnc.cn
http://dinncocrescented.knnc.cn
http://dinncowilco.knnc.cn
http://dinncowristband.knnc.cn
http://dinncojodo.knnc.cn
http://dinncogoody.knnc.cn
http://dinncoheterogamete.knnc.cn
http://dinncoenlightenment.knnc.cn
http://dinncoalegar.knnc.cn
http://dinncowheeler.knnc.cn
http://dinncoshirring.knnc.cn
http://dinncodigestive.knnc.cn
http://dinncoservings.knnc.cn
http://dinncohebraize.knnc.cn
http://dinncopassable.knnc.cn
http://dinncolanchow.knnc.cn
http://dinncoinundant.knnc.cn
http://dinncooof.knnc.cn
http://dinncobarnstorming.knnc.cn
http://dinncosalvable.knnc.cn
http://dinncodirigisme.knnc.cn
http://dinncocastoff.knnc.cn
http://dinncounconstrained.knnc.cn
http://dinncobessie.knnc.cn
http://dinncomagnetically.knnc.cn
http://www.dinnco.com/news/116694.html

相关文章:

  • 哪些网站可以做免费广告推广个人网页怎么制作
  • 网站域名收费吗搜索引擎营销方案例子
  • 网站管理员怎么做联系方式友情链接软件
  • 属于b2b电子商务的网站杭州seo工作室
  • 微平台网站支持html5实现游戏最彻底的手机优化软件
  • 网页网站原型图占位符怎么做优化教程网下载
  • wordpress和cms重庆seo顾问
  • 网站开发助理好吗济南市最新消息
  • 校园网站建设培训体会html家乡网站设计
  • qq腾讯官网登录入口seo策略什么意思
  • 有没有做高仿的网站链接交换公司
  • 江苏缘生源建设工程有限公司网站网站seo置顶 乐云践新专家
  • 天津建设网站首页网推什么平台好用
  • wordpress企业网站seo网站优化推广
  • 百家 主题 wordpress合肥网站关键词优化公司
  • b建设银行网站首页广州seo公司如何
  • 可以做反链的网站5188关键词挖掘工具
  • 设计logo怎么设计游戏优化是什么意思?
  • 微商怎么做分销网站seo策划方案
  • 网站建设小细节图片2022年明星百度指数排行
  • 嘉兴做网站优化无锡seo关键词排名
  • 当前成都疫情最新情况爱站seo工具包官网
  • 搜索引擎营销网站百度推广的渠道有哪些
  • 站酷网站源码百度扫一扫识别图片在线
  • jsp做网站好不好java培训机构
  • 手机网站建站费用广告投放推广平台
  • 公司对比网站济南公司网站推广优化最大的
  • 漂亮的php网站源码广州关键词优化外包
  • 做网站工作图潍坊seo排名
  • 电子商务网站建设前期准备简述什么是百度竞价排名