您的位置:首页 > 新闻 > 热点要闻 > 我想建个自己的网站_广告公司取名大全最新版的_seo在哪学_宁波网站建设推广公司价格

我想建个自己的网站_广告公司取名大全最新版的_seo在哪学_宁波网站建设推广公司价格

2025/2/24 3:56:39 来源:https://blog.csdn.net/wk200411/article/details/144973097  浏览:    关键词:我想建个自己的网站_广告公司取名大全最新版的_seo在哪学_宁波网站建设推广公司价格
我想建个自己的网站_广告公司取名大全最新版的_seo在哪学_宁波网站建设推广公司价格

一.RequestMapping

(1).RequestMapping的简单介绍

1.RequestMapping是Spring Web MVC的注解,既可以修饰类也可以修饰方法,通过RequestMapping修饰后的类和方法,它便可提供用户访问路径。

2.下图中的红色是RequestMapping修饰的类,蓝色线是RequestMapping修饰的方法。括号里面写的是访问路径的URL,其中'/'是可以省略的,但一般不省略。

3.RequestMapping既支持POST请求又支持GET请求,但可以更改为只能是POST请求或者只能是GET请求,在RequstMapping中加一个method的参数,就可以指定接受的请求是POST或者是GET。

4.当只需要GET或者POST的请求并且想写简便一点,可以使用GETMapping和PostMapping,括号里面也写URL。

5.不同类中,这几个不同的类使用了RequestMapping进行修饰的话并且这些类的URL也不相同,如果它们的方法用RequestMapping修饰时的URL相同,也是可以的,但是如果类RequestMapping修饰,则方法RequestMapping修饰时,不能用相同的URL,也就是说不能用相同的名字。

(2)RequestMapping修饰的方法的简单使用

1.前端传入单个普通参数(多个参数也是一样的),后端接受参数(建议接受类型用包装类):

2.当前端需要传入多个参数的时候,后端可以将多个参数变成一个对象来进行传入。

3.后端接受数组:

二.RequestParam(参数绑定)

1.当前端传入的参数的名字和后端接受的名字不同时,后端可以通过@RequestParam来进行重命名:

2.RequestParam也可以叫做参数绑定,当前端传入的参数名不是RequestParam括号里面的参数名时,会报错400,说明这个参数就是必传的参数:

之所以会有状态码400,是因为使用RequestParam的时候,系统默认将参数设置为必传参数,但是可以手动改为非必传参数:

当将required设置为false之后,状态码就不会是400了,此时的就会返回null:

3.当后端接受前端传来的数组时,如果后端直接用List接受,是没办法进行接受的,会对服务器进行报错,并且服务器也会报错:

此时就需要通过RequestParam进行类型绑定,将List绑定成数组类型,后端就可以接受通过List类型来接收数组了:

三.传递JSON数据

1.JSON简单介绍

        简单的来说,JSON就是一种数据格式,JSON通过自己的数据格式来让不同语言读懂这个字符串,下图找了一个在线JSON编译器来展示JSON字符串(左边就是JSON字符串,右边就是JSON格式化后的字符串):

2.JSON语法

1. 数据在 键值对(Key/Value) 中
2. 数据由逗号, 分隔
3. 对象⽤ {} 表⽰
4. 数组⽤ [] 表⽰
5. 值可以为对象,也可以为数组,数组中可以包含多个对象
JSON的两种结构
1. 对象:⼤括号 {} 保存的对象是⼀个无序的 键值对 集合.⼀个对象以左括号 { 开始,右括号}
结束。每个"键"后跟⼀个冒号 : ,键值对使⽤逗号 , 分隔
2. 数组:中括号 [] 保存的数组是值(value)的有序集合.⼀个数组以左中括号 [ 开始,右中括
号 ] 结束,值之间使⽤逗号 , 分隔。


3.Java对象和Json字符串的转换

1.Java对象转Json字符串:

2.Json对象转Java对象:

4.接收Json字符串用RequestBody注解

四.PathVariable(URL)

1.PathVariable注解,用于获取URL中的参数(写的代码是获取URL中的多个参数,而且前端必须传入指定个数的参数):

五.RequestPart(文件)

后端接收文件时,RequestPart可以对参数的重命名:

六.Cookie和Session

1.Cookie和Session的简单介绍

        Cookie类比于学生的学生证,当学生考入某个学校时,填入自己的信息就会得到学校发来的学生证,这个学生证相当于是一个令牌,也是学生属于这个学校的身份证明。

        Session类比于学校的存储学生信息的数据库,当学生填入了自己的信息之后,就会保存一份学生的信息,并且对应不同的学生就会有不同学生自身的专属SessionId,并且会校验学生证是否存在于学校的数据库当中,相当于对Cookie进行校验,防止伪造。

2.Cookie和Session的区别

(i)Cookie 是客⼾端保存用户信息的⼀种机制.

(ii)Session 是服务器端保存用户信息的⼀种机制.

(iii)Cookie 和 Session之间主要是通过 SessionId 关联起来的, SessionId 是 Cookie 和 Session 之间的 桥梁 Cookie 和 Session 经常会在⼀起配合使⽤. 但是不是必须配合. 完全可以⽤ Cookie 来保存⼀些数据在客⼾端. 这些数据不⼀定是用户⾝份信息, 也不⼀定是 SessionId。

(iv)Session 中的 sessionId 也不需要⾮得通过 Cookie/Set-Cookie 传递, ⽐如通过URL传递。

2.获取Cookie

(i).通过HttpServletRequest获取Cookie

(ii)通过CookieValue获取Cookie的值

3.设置Session

getSession中是一个布尔值,默认为true,当为默认值时,会从Cookie中获取SessionId,根据SessionId获取Session对象,如果没有Cookie或是SessionId在服务器中不存在时,则会创建一个空的Session对象。当getSession中的布尔值为false时,不同于true时是当Cookie不存在或者SessionId在服务器中不存在时,不会创建Session对象了,并且服务器重启,Session就会消失。

4.获取Session

(i)通过HttpServletRequest获取Session对象

(ii)通过HttpSession直接获取Session

(iii)通过注释SessionAttribute直接获取Session

5.获取Header

(i)通过HttpServletRequest获取Header

(ii)通过注释RequestHeader

七.响应

1.返回静态页面和HTML代码片段

2.Controller和RestController区别

        简单说一下Controller和RestController的区别,RestController = Controller + ResponseBody在返回一个页面中,如果使用RestController注解,就只会得到一个/Hello.html的字符串,而不会跳转到Hello.html的页面,是因为ResponseBody直接返回了数据,所以就不会进行页面的跳转和处理。ResponseBody即可以修饰类,也可以修饰方法,修饰类的时候就是这个类的所有方法都返回数据,如果加在一个方法上,只有这个方法返回数据。当在一些类中使用的RestController修饰时,将RestController换成Controller可能会将状态码变成404,这是因为,当需要返回字符串时,Controller会将字符串转换成是视图,可我们需要的是字符串,当然找不到视图,则前端的状态码会变成404。

3.返回JSON

4.设置状态码

5.设置Header

1. value:指定映射的URL
2. method:指定请求的method类型,如GET,POST等
3. consumes:指定处理请求(request)的提交内容类型(Content-Type),例如application/json,
text/html;
4. produces:指定返回的内容类型,还可以同时设置返回值的字符编码
5. Params:指定request中必须包含某些参数值时,才让该⽅法处理
6. headers:指定request中必须包含某些指定的header值,才能让该⽅法处理请求
了解即可,更多说明参考Mapping Requests :: Spring Framework

改变Header中的字符串的文本形式

设置Header的信息

八.案例一:加法计算器

1.约定前后端接口文档

(i)请求方式:get/post

(ii)参数:参数名,参数格式

(iii)返回结果:格式和内容

2.该案例的接口文档:

请求路径:calc/sum

请求方式:get/post

接口描述:计算两个整数相加

3.请求参数:

参数名        类型           是否必须          备注 

num1         Integer           是                参与计算的第一个数      

num2         Integer           是                参与计算的第二个数

4.响应数据

Content - Type: text/html

响应内容:计算机计算结果

后端代码:

前端代码:
 

九.案例二:用户登入

1.接口定义:

请求路径:/user/login

请求方式:POST

接口描述:校验账号密码是否正确

2.请求参数:

参数名                    类型                   是否必须              备注

userName              String                       是                   校验的账号

password              String                        是                   校验的密码

3.响应的数据

Content - Type:text/html

响应内容:

true代表账号密码验证成功

false代表账号密码验证失败

4.查询登入用户接口:

请求路径:/user/getLoginUser

请求方式:GET

接口描述:查询当前登入的用户

5.请求参数:无

6.响应的数据:

Content - Type:text/html

相应内容:登入用户名

后端代码:

前端代码:

十.案例三:留言板

1.前后端交互接口:获取留言:

2.请求:GET/message/getList

3.响应:JSON格式:

[
        {
        "from": "⿊猫",
        "to": "⽩猫",
        "message": "喵"

        },

        {
        "from": "⿊狗",
        "to": "⽩狗",
        "message": "汪"
        },
        //...
]

4.发布新留言接口定义:

1.请求:POST/message/publish

2.响应:JSON格式:

{
ok: 1
}
 

后端代码:

前端代码:

十一.lombok依赖

        Lombok是⼀个Java⼯具库,通过添加注解的⽅式,简化Java的开发,其中的@Data注解可以在开发中不用写SET和GET方法了。需要先引入lombok的依赖才能使用它带来的注释。@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor = @Data

引入lombok依赖:

没有使用@Data时,需要手动写Get,Set和ToString方法:

加入@Data之后就不需要写了:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com