建设网站的源代码的所有权,黑彩网站建设需要什么东西,免费建个人网站步骤,wordpress 写文章目录 一.简介
二.建立连接#xff08;客户端和服务器#xff09;
三.请求
1.传递单个参数
2.传递多个参数
3.对象
4.数组/集合
5.JSON
6.URL参数
7.上传文件
8.获取cookie和session
#xff08;1#xff09;获取cookie
#xff08;2#xff09;获取session
…目录 一.简介
二.建立连接客户端和服务器
三.请求
1.传递单个参数
2.传递多个参数
3.对象
4.数组/集合
5.JSON
6.URL参数
7.上传文件
8.获取cookie和session
1获取cookie
2获取session
9.设置header
四.响应
1.返回静态页面
2.返回数据
3.返回HTML代码片段
4.返回JSON
5.设置状态码
6.设置Header 一.简介
Spring Web MVC是包含在Spring框架中的用来构造web项目的框架底层基于Servlet API.
之前使用的SpringBoot也是创建Spring MVC的一种方式
MVCmodel view controller把一个项目分成三部分,三部分之间的关系如下 Spring进行实现MVC模式称为Spring MVC 二.建立连接客户端和服务器
Requestmapping 路由映射可以修饰方法也可以修饰类。
访问地址类的路径方法路径
修饰方法 修饰类 在postman中观察可得Requestmapping支持get请求、post请求... 当想要指定一个具体的方法时在代码中进行调整。 三.请求
1.传递单个参数 2.传递多个参数 发送请求的参数名称可以调换
注意在代码中定义类型尽量使用包装类型(int的包装类为Integer),使用基本类型时当输入的变量为空时会报错而包装类型会显示为空。
3.对象
单独定义一个对象类更方便后期根据需求修改代码。
package com.example.demo.controller;public class Person {Integer id;String name;Integer age;Overridepublic String toString() {return Person{ id id , name name \ , age age };}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}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;}
} 后端参数重命名
前端传参是requesPrama()中的 4.数组/集合
数组
当请求中同一个参数有多个时浏览器就会帮我们封装成一个数组。 集合
默认传递的参数是数组形式要是想要传递一个集合的形式需要在参数前面加上RequestParam 5.JSON
json本质上是一个字符串表示对象的字符串。
传递json数据需要使用RequestBody 6.URL参数
获取一个url中的参数需要一个PathVariable获取多个url中的参数需要多个PathVariable
需要注意顺序顺序要与参数相匹配参数个数也需要匹配 URL参数中的重命名 7.上传文件
RequestPart 将图片上传到指定位置 8.获取cookie和session
1获取cookie
1spring中获取指定个数的cookie使用CookieValue 2获取多个cookie的方式不是spring采用最原始的方式在控制台获取value值 //获取多个cookie的方式RequestMapping(getCookie)public String getCookie(HttpServletRequest request){Cookie[] cookiesrequest.getCookies();
// 两种写法
// for (Cookie cookie : cookies) {
// System.out.println(cookie.getName():cookie.getValue());
// }//空指针异常处理if(cookies!null){Arrays.stream(cookies).forEach(cookie - {System.out.println(cookie.getName():cookie.getValue());});}return 获取cookie成功;} 2获取session
1普通方式 //设置sessionRequestMapping(/setSession)public String setSession(HttpServletRequest request){//创建sessionHttpSession session request.getSession();//给session赋值session.setAttribute(username,swy);return success;}//获取sessionRequestMapping(/getSession)public String getSession(HttpServletRequest request){//session默认为true没有session会自动创建一个设置成false避免自动创建HttpSession session request.getSession(false);if(session!null){String username(String) session.getAttribute(username);return 登录用户username;}return session为空; 2spring方式
SessionAttribute RequestMapping(/getSession2)//默认是一个必传参数public String getSession2(SessionAttribute(required false) String username){return username:username;}
3使用HttpSession的方式 9.设置header
1原始方式 2spring方式
RequestHeader 以上
1.传递数组同一个请求参数有多个时会自动封装成数组
2.传递集合RequestParam
3.传递JSONRequestBody
4.上传文件RequestPart
5.Cookie CookieValue
6.SessionSessionAttribute
7.HeaderRequestHeader
8.url:PathVariable
9.文件RequestPart
四.响应
1.返回静态页面
1创建一个简单的html页面 2返回该页面 Controller和RestController 2.返回数据
ResponseBody 可以修饰类、可以修饰方法。修饰类的时候表示这个类下的所有方法返回的均为数据。修饰方法时表示该方法返回的是数据。
如果一个类中返回的都是数据则把注释加在类上如果一个类中只有相对应的方法中返回数据则把该注释添加在相对应的方法上。
3.返回HTML代码片段 4.返回JSON
当返回的接口是String类型、Integer类型时content-Type是text/html
当接口返回的是对象/Map时content-Type自动设置成application/json
这里举例是返回一个对象 5.设置状态码
设置状态码与页面展示无关 6.设置Header
平时很少用到
举例设置header的返回类型属性 举例自定义header属性