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

有好点的做网站的公司吗怎样申请免费域名

有好点的做网站的公司吗,怎样申请免费域名,卖汽车的网站怎么做的,哈尔滨网站建设公司oeminc文章目录 SpringMVC介绍及使用一、简介二、核心组件三、请求流程图解四、常用注解介绍1.RequestMapping2.RequestParam3.PathVariable4.RequestBody 五、依赖六、外部访问流程 SpringMVC介绍及使用 一、简介 SpringMVC 是 Spring 框架中的一个模块,用于构建基于 W…

文章目录

  • SpringMVC介绍及使用
    • 一、简介
    • 二、核心组件
    • 三、请求流程图解
    • 四、常用注解介绍
      • 1.@RequestMapping
      • 2.@RequestParam
      • 3.@PathVariable
      • 4.@RequestBody
    • 五、依赖
    • 六、外部访问流程

SpringMVC介绍及使用

一、简介

SpringMVC 是 Spring 框架中的一个模块,用于构建基于 Web 的应用程序。它是一个实现了 MVC 设计模式 的 Web 框架,旨在帮助开发者更清晰地分离表示层(View)、控制层(Controller)和业务逻辑(Model)。

SpringMVC 是 Spring Framework 的一部分,可以与 Spring 的其他模块(如 Spring Boot、Spring Security、Spring Data)无缝整合。

二、核心组件

  1. DispatcherServlet(前端控制器)
    (1)Spring MVC 的核心类,所有的请求都先由它接收并分发。
    (2)它是整个请求处理流程的“总调度”。

  2. HandlerMapping(处理器映射器)
    (1)根据请求 URL 找到对应的 Controller(处理器)。
    (2)可以是注解(如 @RequestMapping)映射,也可以是配置映射。

  3. Controller(控制器)
    (1)由开发者编写,用于处理具体请求,执行业务逻辑并返回 Model 和 View。
    (2)通常通过注解 @Controller 或 @RestController 定义。

  4. ModelAndView(模型和视图)
    (1)控制器返回的对象,封装了数据模型和视图名。
    (2)Spring 根据视图名去查找具体的 View,并结合模型渲染页面。

  5. ViewResolver(视图解析器)
    (1)根据 Controller 返回的逻辑视图名,解析成具体的视图对象(如 JSP、Thymeleaf、HTML 等)。

  6. View(视图)
    (1)负责将数据渲染成最终页面,例如:JSP、HTML、Thymeleaf 模板等。

三、请求流程图解

客户端请求|v
DispatcherServlet (前端控制器)|v
HandlerMapping(找控制器)|v
Controller(处理请求逻辑)|v
返回ModelAndView(包含模型数据 + 视图名)|v
ViewResolver(找具体视图)|v
View(渲染)|v
响应返回客户端

四、常用注解介绍

注解说明
@Controller标识一个类是控制器组件
@RestController等价于 @Controller + @ResponseBody,用于返回 JSON 数据
@RequestMapping映射请求路径到方法(类/方法级别都可用)
@GetMapping / @PostMapping更具体的请求映射,常用于 RESTful 风格接口
@RequestParam获取 URL 查询参数
@PathVariable获取 URL 路径参数
@RequestBody获取请求体 JSON 并绑定到对象
@ResponseBody将返回值序列化成 JSON/XML 直接返回给前端

1.@RequestMapping

常用属性
(1)path 属性:接口路径。[] 数组,可以填写多个接口路径。
(2)values 属性:和 path 属性相同,是它的别名。
(3)method 属性:请求方法 RequestMethod ,可以填写 GET、POST、POST、DELETE 等等。[] 数组,可以填写多个请求方法。如果为空,表示匹配所有请求方法。

@RestController
@RequestMapping("/api/user")
public class HelloController {// 处理 GET 请求,路径为 /hello@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "Hello, Spring!";}
}

一般需要指定各方法具体的method,否则默认可以接受各种请求,存在安全隐患,以下是一些简化写法的派生注解,如@GetMapping@PostMapping

@RestController
@RequestMapping("/api/user")
public class HelloController {// 处理 GET 请求,路径为 /hello@GetMapping("/hello")public String sayHello() {return "Hello, Spring!";}
}
HTTP 方法注解作用幂等性常见用法
GET@GetMapping查询/获取数据是(安全)获取资源列表或详情
POST@PostMapping新建资源新增数据、提交操作
PUT@PutMapping全量更新资源替换整个资源
PATCH@PatchMapping局部更新资源视实现而定更新部分字段
DELETE@DeleteMapping删除资源删除指定资源

重点:
(1)在类上,添加 @RestController 注解,表示直接返回接口结果。默认情况下,使用 JSON 作为序列化方式。
(2)在类上,添加 @RequestMapping(“/api/user”) 注解,表示 HelloController 所有接口路径,以 /api/user 开头。

2.@RequestParam

常用注解
(1)name 属性:对应的请求参数名。如果为空,则直接使用方法上的参数变量名。
(2)value 属性:和 name 属性相同,是它的别名。
(3)required 属性:参数是否必须传。默认为 true ,表示必传。
(4)defaultValue 属性:参数默认值。

@RestController
@RequestMapping("/api/user")
public class HelloController {@GetMapping("/greet")public String greet(@RequestParam String name) {return "Hello, " + name + "!";}// 设置参数默认值和是否必填@GetMapping("/welcome")public String welcome(@RequestParam(name = "user", required = false, defaultValue = "Guest") String username) {return "Welcome, " + username;}// 接收多个参数@GetMapping("/add")public String add(@RequestParam int a, @RequestParam int b) {return "Sum: " + (a + b);}// 接收对象@GetMapping("/user")public String getUser(@RequestParam User user) {return "Name: " + user.getName() + ", Age: " + user.getAge();}// 接收参数列表@GetMapping("/tags")public String getTags(@RequestParam List<String> tags) {return "Tags: " + String.join(", ", tags);}
}

访问示例:
GET /api/user/greet?name=123 返回 “Hello, 123!”

重点
参数名和请求参数名一致时,可省略。如function(@RequestParam("paramName") String name)则不可省略。

3.@PathVariable

@RestController
@RequestMapping("/users")
public class UserController {// 请求路径:/users/123@GetMapping("/{id}")public String getUserById(@PathVariable("id") int userId) {return "User ID is: " + userId;}// 省略括号里的变量名,默认匹配参数名@GetMapping("/{name}/profile")public String getUserProfile(@PathVariable String name) {return "Profile of user: " + name;}
}

访问示例:
①GET /users/123 返回 “User ID is: 123”
②GET /users/tom/profile 返回 “Profile of user: tom”

重点
①@PathVariable(“id”) 绑定路径中 {id} 对应的值。
②如果方法参数名和路径变量名一致,可以省略括号里的名称,比如上面 @PathVariable String name。

4.@RequestBody

@RequestBody 是 Spring MVC 用来接收请求体(body)中的数据,通常用于接收 JSON、XML 或表单数据,自动把请求体内容转换成 Java 对象。

@RestController
public class UserController {@PostMapping("/user")public String createUser(@RequestBody User user) {return "Received user: " + user.getName() + ", age: " + user.getAge();}
}

五、依赖

<!-- 实现对 Spring MVC 的自动化配置 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot 自动注册 DispatcherServlet,并内置 Tomcat,使得你可以直接编写控制器并启动项目。

六、外部访问流程

步骤说明
1. 应用启动,@SpringBootApplication 启动扫描自动扫描包路径下的 Controller 并注册
2. Spring MVC 根据映射处理请求URL 请求会匹配到对应 Controller 方法
3. 外部通过浏览器或 HTTP 客户端访问 URL访问控制器暴露的接口

所以要确保@controller类被扫描到


文章转载自:

http://hZN0AP8z.ffcsr.cn
http://QdCbWpkz.ffcsr.cn
http://8dTSIJL0.ffcsr.cn
http://fwzuuhl1.ffcsr.cn
http://GayWAt7G.ffcsr.cn
http://Fh2lsxRa.ffcsr.cn
http://Kxpel4Vw.ffcsr.cn
http://dajytziS.ffcsr.cn
http://sHkxIZ3K.ffcsr.cn
http://KcRx8qHU.ffcsr.cn
http://zs0bQd2D.ffcsr.cn
http://efYx6FvC.ffcsr.cn
http://jLKm2atq.ffcsr.cn
http://Z5t4Yspu.ffcsr.cn
http://nND2YVhE.ffcsr.cn
http://80UI51A0.ffcsr.cn
http://OX7zaZSE.ffcsr.cn
http://y5CEx16w.ffcsr.cn
http://6vecNJFj.ffcsr.cn
http://f2PDqqoW.ffcsr.cn
http://lGutcbip.ffcsr.cn
http://1xcxMAVQ.ffcsr.cn
http://0yoljlGE.ffcsr.cn
http://HrVP1lsk.ffcsr.cn
http://6SqSCcVP.ffcsr.cn
http://1T50hQWP.ffcsr.cn
http://dPQ1Z7qp.ffcsr.cn
http://XlcGjQap.ffcsr.cn
http://toJh1Ol3.ffcsr.cn
http://QNrZTiPM.ffcsr.cn
http://www.dtcms.com/wzjs/732715.html

相关文章:

  • 建站平台排行宁波关键词优化平台
  • 手机网站优化公司键词优化排名
  • 制作深圳网站建设电脑安装系统后wordpress
  • 北京微信网站建设费用网站建设客网站
  • 建设内容管理网站的目的广告代运营
  • 那家公司做网站比较好个人社保网上服务
  • 那种网站怎么搜关键词网站友情链接自动上链
  • 为什么网站打不开定制开发电商网站建设
  • 网页网站设计公司浏览器官网
  • 响应式网站区别科技资讯网站有哪些
  • wordpress 适合外贸站临安做网站
  • 饲料 东莞网站建设wordpress显示作者
  • 中英西班牙网站建设出口网站平台
  • wordpress 改网站介绍云建站不能用了吗
  • 网站建设方案书 内容管理制度php网站开发数据列表排重
  • 服务器与网站的关系网页设计教程谁的好
  • 医院网站源码phpwordpress 发布网站
  • 站长聚集地百度网站的网址
  • 和田网站建设今天的新闻直播间
  • 汕头网站建设详细内容基于asp网站开发 论文
  • 手机网站建设多少钱一个个人申请小程序收费吗
  • 学院二级网站建设方案模板做影视网站怎么样不犯法
  • 做房产网站长网站建设服务哪家好 价格多少钱
  • 公司用wordpress建站用花钱有哪些黄页网不付费
  • 客户网站分析销售平台
  • 网站建设需求设计网络营销服务
  • 网站建设 价格后台网站要做权限前端还是后台做
  • 如何对网站的文件和资源进行优化?什么是企业
  • 论文写作网站5000字怎么写如何利用网站开发国外客户
  • 网站工作有哪些内容wordpress 换模板