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

如何建设网站赚钱浙江高端建设网站

如何建设网站赚钱,浙江高端建设网站,在线公司网站查询,黑马培训机构目录 学习Spring MVC 一、建立连接 RestController和RequestMapping RequestMapping 使用 访问地址:类路径方法路径 既支持Get请求又支持Post请求 ⭐️指定GET方法类型 🌙指定POST方法类型 二、请求 1️⃣传递单个参数 2️⃣传递多个参数 ​…

目录

学习Spring MVC

一、建立连接

@RestController和@RequestMapping

@RequestMapping 使用

访问地址:类路径+方法路径

既支持Get请求又支持Post请求

⭐️指定GET方法类型

🌙指定POST方法类型

二、请求

1️⃣传递单个参数

2️⃣传递多个参数

​3️⃣传递对象

4️⃣后端参数重命名(后端参数映射)

非必传参数设置

5️⃣传递数组 

6️⃣传递集合 

7️⃣传递JSON数据

JSON字符串和Java对象互转

​传递JSON对象

传递对象和传递JSON的区别

8️⃣获取URL中参数@PathVariable

​ 参数重命名

9️⃣上传文件@RequestPart

​ 参数重命名

🔟 获取Cookie/Session

​📝面经: Cookie 和 Session 的区别

获取Cookie

🍃传统获取Cookie

​🍂简洁获取Cookie:@CookieValue

Session存储

获取Session

🍈方式一:

🍒方式二: 

🥥方式三:    @SessionAttribute

1️⃣1️⃣获取Header

🌭传统获取 header

🍔简洁获取 Header:@RequestHeader

三、响应

返回静态页面:@Controller

前端代码

后端代码

返回数据:@ResponseBody

返回HTML代码片段

返回JSON

设置状态码

设置Header (了解)

设置Content-Type

设置其他Header


Spring Web MVC咱们简称之为: Spring MVC

Spring MVC 是⼀个实现了 MVC 模式的 Web 框架
 

学习Spring MVC

一、建立连接

将用户(浏览器)和 Java 程序连接起来,也就是访问⼀个地址能够调用到我们的Spring 程序

@RestController和@RequestMapping

@RestController
public class UserController {@RequestMapping("/hello")public String sayHello() {return "Hello Spring";}
}

@RequestMapping 使用

访问地址:类路径+方法路径
@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/hello")public String sayHello() {return "Hello Spring";}
}
既支持Get请求又支持Post请求
⭐️指定GET方法类型
@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "Hello Spring";}
}

@GetMapping 

@RestController
@RequestMapping("/user")
public class UserController {@GetMapping("/hello")public String sayHello() {return "Hello Spring";}
}
🌙指定POST方法类型
@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping(value = "/hello", method = RequestMethod.POST)public String sayHello() {return "Hello Spring";}
}

@PostMapping 

@RestController
@RequestMapping("/user")
public class UserController {@PostMapping("/hello")public String sayHello() {return "Hello Spring";}
}

二、请求

用户请求的时候会带⼀些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能

传递的普通参数,默认类型为String,后端接收时,会根据后端定义的类型来转换

1️⃣传递单个参数

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p1")public String p1(String name) {return "接收到参数 name:" + name;}
}

2️⃣传递多个参数

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p2")public String p2(String name, Integer age) {return "接收到参数,age:" + age + ", name:" + name;}
}

 3️⃣传递对象

public class User {private String name;private Integer age;private Integer gender;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Integer getGender() {return gender;}public void setGender(Integer gender) {this.gender = gender;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", gender=" + gender +'}';}
}

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p3")public String p3(User user) {return "user:" + user;}
}

4️⃣后端参数重命名(后端参数映射)

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p4")public String p4(@RequestParam("userName") String name, Integer age) {return "接收到参数,age:" + age + ", name:" + name;}
}


使用@RequestParam进行参数重命名时,请求参数只能和@RequestParam声明的名称一
致,才能进行参数绑定和赋值.
使用@RequestParam进行参数重命名时,参数就变成了必传参数.

非必传参数设置
@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p4")public String p4(@RequestParam(value = "userName", required = false) String name, Integer age) {return "接收到参数,age:" + age + ", name:" + name;}
}

5️⃣传递数组 

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p5")public String p5(String[] arr) {return "arr:" + List.of(arr);}
}


6️⃣传递集合 

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p6")public String p6(@RequestParam List<String> list) {return "list:" + list;}
}

7️⃣传递JSON数据

JSON字符串和Java对象互转
package com.example.demo;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonTest {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();User user = new User();user.setName("lisi");user.setAge(18);user.setGender(1);// 对象转jsonString s = objectMapper.writeValueAsString(user);System.out.println(s);//json转对象User user1 = objectMapper.readValue(s, User.class);System.out.println(user1);}
}

传递JSON对象

@RequestBody

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p7")public String p7(@RequestBody User user) {//从请求正文中return "User:" + user;}
}

 

传递对象和传递JSON的区别
 

8️⃣获取URL中参数@PathVariable

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/article/{articleId}")public String p8(@PathVariable("articleId") String articleId) {//从请求正文中return "articleId:" + articleId;}
}
 参数重命名
@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/article/{articleId}/{name}")public String p8(@PathVariable("articleId") String id, @PathVariable String name) {//从请求正文中return "articleId:" + id + ",name:" + name;}
}

 

 如果方法参数名称和需要绑定的URL中的变量名称一致时,可以简写, 不用给@PathVariable的属性赋值

如果方法参数名称和需要绑定的URL中的变量名称不一致时, 需要给@PathVariable的属性value赋值

9️⃣上传文件@RequestPart

@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p9")public String p9(MultipartFile file) {System.out.println(file.getOriginalFilename());return "文件名称:" + file.getOriginalFilename();}
}

 参数重命名
@RequestMapping("/param")
@RestController
public class ParamController {@RequestMapping("/p9")public String p9(@RequestPart("fileName") MultipartFile file) {System.out.println(file.getOriginalFilename());return "文件名称:" + file.getOriginalFilename();}
}

🔟 获取Cookie/Session

 

📝面经: Cookie 和 Session 的区别

●Cookie是客户端保存用户信息的一种机制.Session是服务器端保存用户信息的一种机制.
●Cookie和Session之间主要是通过Sessionld关联起来的,Sessionld是Cookie和Session之间的桥梁
●Cookie和Session经常会在一起配合使用.但是不是必须配合.
     o 完全可以用Cookie来保存一些数据在客户端.这些数据不一定是用户身份信息,也不一定是Sessionld
      o Session中的sessionld也不需要非得通过Cookie/Set-Cookie传递,比如通过URL传递.

获取Cookie
🍃传统获取Cookie
@RestController
@RequestMapping("/header")
public class HeaderController {@RequestMapping("/getCookie")public String getCookie(HttpServletRequest request) {Cookie[] cookies = request.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {System.out.println(cookie.getName() + ":" + cookie.getValue());}}return "获取cookie成功";}
}

🍂简洁获取Cookie:@CookieValue
@RestController
@RequestMapping("/header")
public class HeaderController {@RequestMapping("/getCookie")public String getCookie2(@CookieValue("baidu") String baidu) {return "从Cookie中获取信息,baidu:" + baidu;}
}

Session存储
@RestController
@RequestMapping("/header")
public class HeaderController {@RequestMapping("/setSession")public String setSession(HttpServletRequest request) {HttpSession session = request.getSession();session.setAttribute("userName", "zhangsan");session.setAttribute("age", "15");return "设置session成功";}
}
获取Session
🍈方式一:
@RequestMapping("/getSession")public String getSession(HttpServletRequest request) {HttpSession session = request.getSession();if (session != null) {String userName = (String) session.getAttribute("userName");System.out.println(session.getAttribute("age"));return "从session中获取信息,userName:" + userName;}return null;}
🍒方式二: 
@RequestMapping("/getSession")public String getSession(HttpSession session) {if (session != null) {String userName = (String) session.getAttribute("userName");System.out.println(session.getAttribute("age"));return "从session中获取信息,userName:" + userName;}return null;}
🥥方式三:    @SessionAttribute
@RequestMapping("/getSession")public String getSession(@SessionAttribute("userName") String userName) {return "从session中获取信息,userName:" + userName;}

1️⃣1️⃣获取Header

🌭传统获取 header
@RestController
@RequestMapping("/header")
public class HeaderController {@RequestMapping("/getHeader")public String getHeader(HttpServletRequest request) {String uesrAgent = request.getHeader("User-Agent");return "uesrAgent:" + uesrAgent;}
}

🍔简洁获取 Header:@RequestHeader
@RestController
@RequestMapping("/header")
public class HeaderController {@RequestMapping("/getHeader")public String getHeader(@RequestHeader("User-Agent") String uesrAgent) {return "uesrAgent:" + uesrAgent;}
}

三、响应

返回静态页面:@Controller

前端代码
后端代码
@RequestMapping("/response")
@Controller
public class ResponseController {@RequestMapping("/returnHtmlPage")public String returnHtmlPage() {return "/hello.html";}
}

返回数据:@ResponseBody

@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/returnHtmlPage")public String returnHtmlPage() {return "/hello.html";}
}

返回HTML代码片段

@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/returnHtml")public String returnHtml() {return "<h1>returnHtml<h1>";}
}

返回JSON

@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/returnJson")public User returnJson() {User user = new User();user.setName("zhangsan");user.setAge(18);return user;}
}

设置状态码

@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/setStatus")public User setStatus(HttpServletResponse response) {User user = new User();user.setName("zhangsan");user.setAge(18);response.setStatus(500);return user;}
}

设置Header (了解)

设置Content-Type
@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/setHeader")public String setHeader() {return "{\"success\":true}";}
}


@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping(value = "/setHeader",produces = "application/json")public String setHeader() {return "{\"success\":true}";}
}

设置其他Header
@RequestMapping("/response")
@Controller
@ResponseBody
public class ResponseController {@RequestMapping("/setHeader")public String setHeader(HttpServletResponse response) {response.setHeader("myKey", "myValue");return "success";}
}


文章转载自:

http://kVZPjyx7.Lyjwb.cn
http://HA00ebvo.Lyjwb.cn
http://HTLS8Z2H.Lyjwb.cn
http://I3UHRfCJ.Lyjwb.cn
http://UBCSSh8s.Lyjwb.cn
http://xnFSmepl.Lyjwb.cn
http://1vosm9uk.Lyjwb.cn
http://z0pdedZz.Lyjwb.cn
http://saA2HMuy.Lyjwb.cn
http://g4YVthaX.Lyjwb.cn
http://GP0uKmqn.Lyjwb.cn
http://95u3WKAK.Lyjwb.cn
http://sO3QPq53.Lyjwb.cn
http://fHLCt2w5.Lyjwb.cn
http://9KR0gD9T.Lyjwb.cn
http://TkwrWzpz.Lyjwb.cn
http://6s2wJcab.Lyjwb.cn
http://bNOfmHJK.Lyjwb.cn
http://C1pMPbY1.Lyjwb.cn
http://73IrISMz.Lyjwb.cn
http://eY0Uey2A.Lyjwb.cn
http://yHkKQqet.Lyjwb.cn
http://7y9Y7SvJ.Lyjwb.cn
http://Vj36SNdy.Lyjwb.cn
http://jDTtp8uf.Lyjwb.cn
http://ktLkw19u.Lyjwb.cn
http://SsL3mhNW.Lyjwb.cn
http://T6DaJPXr.Lyjwb.cn
http://bezFi2GD.Lyjwb.cn
http://LUhqEhfC.Lyjwb.cn
http://www.dtcms.com/wzjs/627146.html

相关文章:

  • 网站建设与运营合同源码时代培训机构官网
  • 阿里巴巴能拿货在家里做的网站单位网站建设内容
  • 免费推广平台网站wordpress教程 导航
  • 周浦做网站公司在线制作简历模板免费
  • 网站推广计划包含的主要内容房产网贷平台
  • 建立网站备案的法律依据服装网站建设比较好
  • 公司网站建设需要哪些绵阳 网站建设
  • 自助建站软件自动建站系统永久免费asp空间
  • 网站的主色调四川在线城市论坛
  • 相亲网站怎么建设新增接入 新增网站
  • 网站建设询价采购竞价单页制作
  • 江西网站建设公司费用沈阳建设网站费用
  • 网站改版要重新备案吗福田欧曼官网
  • 网站架构推荐山西做网站
  • 网站用途seo搜论坛
  • 你注册过哪些网站官网自学网页设计要多久
  • 电商网站商品表设计方案宁波做公司网站的公司
  • 企业做年度公示在哪个网站网站安全检测工具网站
  • 做图片网站会侵权吗企业查询员工社保缴费记录
  • 全国企业信息系统查询系统太原网站优化服务
  • 推网站淘宝代运营是什么意思
  • 中山市城乡和住房建设局网站网站制作费用申请
  • 虹口建设机械网站制作优化公司网站排名
  • 建站开发工具河北企业自助建站
  • 商丘网站制作与设计wap站开发
  • 网站建设中制作页面导航郑州做网站的论坛
  • 怎么让客户做网站廊坊电子网站建设
  • 宠物网站建设费用上海自适应网站设计
  • 妇科医院手机网站源码网站程序超市
  • 台州网站哪家专业如何创建一个自己公司网站