SpringBoot - [07] Web入门

题记部分

 

一、Web 入门

  SpringBoot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。创建SpringBoot项目勾选SpringWeb选项后,会自动将spring-boot-starter-web组件加入到项目中。spring-boot-starter-web启动器主要包括web、webmvc、json、tomcat等基础依赖组件,作用是提供Web开发场景所需的所有底层依赖。webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带的容器依赖。

<!-- 指定父级项目,子项目的依赖包可以使用父级项目的依赖包版本 -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version>
</parent>
<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- WEB依赖: Tomcat,dispatcherServlet.xml -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

 

二、控制器

  SpringBoot 提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据,则可以使用@RestController注解。

 

 

三、@Controller的用法

(1)返回hello页面和name的数据,在前端页面可以通过${name}参数获取后台返回的数据并显示。

(2)@Controller通常与Thymeleaf模板引擎结合使用。

package com.harley.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloController {@RequestMapping("/hello")public String index(ModelMap map){map.addAttribute("name","Harley");return "hello";}}

 

四、@RestController的用法

默认情况下,@RestController注解会将返回的对象数据转换为JSON格式。

package com.harley.controller;import com.harley.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping("/hello")public User getUser(){User user = new User();user.setUsername("Harley");user.setPassword("!QAZ2wsx");return user;}
}

 

五、路由映射

  @RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的方法上。如果添加在Controller上,则这个Controller中所有路由映射都将会加上此映射规则,如果添加在方法上,则只对当前方法生效。

  @RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常用的属性参数如下:

  (1)value:请求的URL路径,支持URL

  (2)method:HTTP请求方法

  (3)consumes:请求的媒体类型(Content-Type),如application/json

  (4)produces:响应的媒体类型

  (5)params,headers:请求的参数及请求头的值

  @RequestMapping的value属性用于匹配URL映射,value支持简单表达式。@RequestMapping支持使用通配符匹配URL,用于统一映射某些URL规则类的请求:@RequestMapping("/getJson/*.json"),当在浏览器中请求/getJson/a.json或者/getJson/b.json时都会匹配到后台的Json方法。@RequestMapping的通配符匹配非常简单实用,支持"*" "?" "**"等通配符。符号"*"匹配任意字符,符号"**"匹配任意路径,符号"?"匹配单个字符。有通配符的优先级低于没有通配符的,比如/user/add.json比/user/*.json优先匹配。有"**"通配符的优先级低于有"*"通配符的。

 

 

 

 

 

 

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787420.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s~ServiceAccount_ClusterRole_ClusterRoleBinding

apisix的k8s服务发现配置 命名空间权限是基于Kubernetes RBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限。Kubernetes RBAC API定义了四种类型:Role、ClusterRole、RoleBinding与ClusterRoleBinding,这四种类型之间的关系和简要说明…

国产化适配——银河麒麟V10(2)

续上文 三、nignx安装 ng版本是:nginx-1.20.2 链接:https://pan.baidu.com/s/1gVJ_YgD-_gyJ6JL2VxoFhA 提取码:bqf4 版本比较老了,大家可以自己去官网下载最新的版本使用。 官网地址:https://nginx.org/en/download.html 1.挂载镜像 mount -t iso9660 /mnt/tools/Kylin-Se…

nessus使用教程心得

安装教程网络一大堆,这里就不多哔哔。点击查看代码 倒计时发USD不符合萨达办法1.输入你注册的账号密码进行登录,进入主页面。 ![](https://img2024.cnblogs.com/blog/3471184/202408/3471184-20240826102025745-788321108.png)2.点击“New Scan”新建一个扫描。 ![](https://…

Prometheus监控规则推荐网站

Prometheus监控规则推荐网站🔰Prometheus监控规则推荐网站: https://samber.github.io/awesome-prometheus-alerts/

Prometheus监控规则网站

Prometheus监控规则网站🔰Prometheus监控规则推荐网站: https://samber.github.io/awesome-prometheus-alerts/

学习vue3——element插槽

input 带有前缀图标1 <el-input 2 class="inputClass" 3 v-model="form.name" 4 ref="name" 5 placeholder="请输入用户名" 6 clearable 7 > 8 …

[ARC183D] Keep Perfectly Matched

树的重心,匹配My Blogs [ARC183D] Keep Perfectly Matched 这场不打感觉亏麻了,怎么大家都不会 D。首先匹配路径长度之和最大,很典的想到取重心,猜测答案上界 \(\sum_i dep_i\) 可以取到。 取完重心之后,希望不断把两个不同的子树里的点进行匹配,直到删空。因为原树本身存…

触想强固型工业显示器加速海上油气勘探开发

石油作为现代工业发展的主要能源,已成为国际间政治、经济博弈的重要工具。一、行业发展背景过去百年间,人类对陆地油气资源的勘探开发逐渐趋于饱和,而面对持续增长的全球能源需求,海洋勘探已成为当今油气能源角逐的主要“战场”,进一步催生出对先进的自动化海上钻井系统的…

Win11减少C盘占用及清爽系统配置教程

Win11减少C盘占用及清爽系统配置教程你是否有过C盘爆满而不得不重装系统的经历?你是否有过因为C盘爆满而不得不不断的拓展空间的无奈?你是否有过已经将软件安装在D盘但C盘的空间还是在日益变满的痛苦?好消息好消息!!!今天你看到了这篇文章从此就可以最大程度的告别C盘爆满…

浏览器启动首页被360篡改

可能原因: (一)浏览器快捷方式被篡改 (二)浏览器启动程序的启动行为被360监听,执行启动浏览器过程中被360进行篡改 解决方案一(edge为例):查找edge浏览器的安装路径: 右击edge浏览器-> 属性-> 快捷方式-> 起始位置删除桌面的edge快捷图标将edge安装路径的 ms…

应用如何快速实现云原生化?华为云DTSE解读关键策略

本文分享自华为云社区《DTSE Tech Talk | 第64期:DTSE与开发者同行,探索云原生实践,共筑高效云优化之路》,作者:华为云社区精选。 在主题是《DTSE与您同行,探索云原生实践,共筑高效云优化之路》的直播活动中👉(点击观看),华为云云原生DTSE技术布道师王逸真,与开发…

redis 注册windows服务自启动

一:注册服务 每次重启服务器都得重启电脑,还得输入一大串运行redis太过于麻烦,查了下,可以设置开机自动启动。 方法如下: 1、首先,win+R,运行 cmd。 2、打开对应的redis文件夹。 3、输入redis-server --service-install redis.windows.conf会弹出类似提示; 4、再次 win…