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

网站建设的可研设计报告软文推广广告公司

网站建设的可研设计报告,软文推广广告公司,在百度做网站赚钱吗,国外免费b2b网站大全黄页免费观看SpringBoot项目中参数获取与响应 1. 程序结构&通信方式 程序结构: C/S : 客户端/服务器端 -Main方法。 -效果炫目、数据相对安全。 -公司成本高,因为要分别开发客户端和服务器端。 B/S: 浏览器端/服务器端 -效果依赖于浏览…

SpringBoot项目中参数获取与响应

1. 程序结构&通信方式

程序结构:

  • C/S : 客户端/服务器端
    -Main方法。
    -效果炫目、数据相对安全。
    -公司成本高,因为要分别开发客户端和服务器端。

  • B/S: 浏览器端/服务器端
    -效果依赖于浏览器、数据相对不如C/S安全(token令牌模式)
    -公司成本低,只需要单独开发服务器端。

资源信息:

  • 资源:在网上能够访问的一切信息(文字、图片、音乐、视频…)

  • 静态资源:代码不变、效果不变。
    (HTML/CSS/JS/VUE…)

  • 动态资源:效果改变根据代码控制。
    (Java、servlet…)

通信方式:

  • WEB程序:请求和响应模式。
    -浏览器向服务器发信息: 发请求
    -服务器向浏览器发信息:发响应

  • 请求-响应是成对出现的。
    -先有请求,再有响应。
    -必须是 浏览器先向服务器发请求,服务器收到请求后,才能向浏览器发响应。

2. 创建和浏览器交互的控制器-controller

  • 包创建:
    01
    02
  • Java程序(Java类)创建:

新建名为—MyController的class类
03
04
在MyController中输入

@RestController //标记当前Java类,是一个可以和浏览器进行数据交换的控制器
@RequestMapping("/my") //给该控制器设置一个访问路径,该路径是可以在浏览器上进行访问的
public class MyController {@RequestMapping("/t1")//给该方法设置一个访问路径,该路径是可以在浏览器上进行访问的public String t1(){System.out.println("helloWorld!!!");//在控制台打印信息return "你好世界!!!";//将信息发给浏览器,让浏览器展示}
}

程序运行的访问路径:http://localhost:8080/my/t1

问题解释

  1. SpringBoot启动和关闭
    启动:
    05
    关闭:
    任意按下一个小红方块均可关闭SpringBoot项目
    06
    关闭之后,刷新网页,不再出现运行SpringBoot项目时显示的页面
    07

  2. 代码编写的注意事项

08

  1. 如果更新了代码,怎么办?
    先正常关闭服务器,再重新正常启动服务器,代码执行的就是最新代码了。

3. 单参数获取

09

传统风格:
http://主机名:端口/资源?参数列表
例如:http://localhost:8080/my/t1?userName=aa&sex=man&hobbies=code&hobbies=swim
- 必须传递参数
@RequestParam("参数名") 参数类型 参数名

例如:如果忘记传递sex这个参数,浏览器就会报错
09

- 非必须传递参数
@RequestParam(value="参数名",required=false) 参数类型 参数名
设置为非必须传递参数,如果参数正常传递,可以接收,如果参数未传递,返回为null

例如:

 @RequestMapping("/t2")public void t2(@RequestParam("userName")String userName,@RequestParam("sex")String sex,@RequestParam("hobbies")String[] hobbies){//http://localhost:8080/my/t2?userName=aa&sex=man&hobbies=code&hobbies=swimSystem.out.println(userName);System.out.println(sex);System.out.println(Arrays.toString(hobbies));}
@RequestMapping("/t3")
public void t3(@RequestParam("userName")String userName,@RequestParam(value="sex",required = false)String sex,@RequestParam("hobbies")String[] hobbies
){//http://localhost:8080/my/t3/userName=aa&sex=man&hobbies=code&hobbies=swim//http://localhost:8080/my/t3?userName=aa&hobbies=code&hobbies=swimSystem.out.println(userName);System.out.println(sex);System.out.println(Arrays.toString(hobbies));
}
RESTFul风格:
http://主机名:端口/资源/参数列表
例如:http://localhost:8080/my/t1/aa/man/code,swim
@PathVariable("参数名") 参数类型 参数名
@RequestMapping("/资源名/{参数名1}/{参数名2}")例如:http://localhost:8080/my/t1/aa/man/code,swim
@RequestMapping("/t1/{userName}/{sex}/{hobbies}")
@PathVariable("userName") String userName
@RequestMapping("/t4/{userName}/{sex}/{hobbies}")
public void t4(@PathVariable("userName") String userName,@PathVariable("sex")String sex,@PathVariable("hobbies")String[] hobbies
){//http://localhost:8080/my/t4/aa/man/code,swimSystem.out.println(userName);System.out.println(sex);System.out.println(Arrays.toString(hobbies));
}
小结: 传统方式:@RequestParamRESTFul风格:@PathVariable

4. 多参数获取(JavaBean/Map数据)

4.1. Swagger2

postman经典测试工具
Swagger2集成到项目中,比postman更加方便测试工具。
  • 环境搭建:
    在pom.xml中添加maven环境—再点击更新maven环境010
	<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>

添加注解
011

  • 使用入口:
    8080是端口号
http://localhost:8080/swagger-ui/index.html
  • 使用操作:
    012
    POST请求居多,少量的GET请求
JavaBean:
进行数据封装:
属性名 = 属性值;
userName = 张三;
hobbies = 编程,游泳;

创建TestBean1类

@Data
public class TestBean1 {private String name;private String sex;private String[] hobbies;
}
@RequestMapping("/t5")
public void t5(){//ctrl+alt+vTestBean1 tb1 = new TestBean1();tb1.setName("小张");tb1.setSex("男");String[] hobbies = {"编程","游泳"};tb1.setHobbies(hobbies);System.out.println(tb1);//查看所有属性值System.out.println(tb1.getName());//小张
}

Map:
创建出来,封装数据。

@RequestMapping("/t6")
public void t6(){//key:String类型   value:任意类型Map<String, Object> map1 = new HashMap<>();map1.put("name","小张");map1.put("sex","男");String[] hobbies = {"编程","游泳"};map1.put("hobbies",hobbies);System.out.println(map1);//查看所有属性值System.out.println(map1.get("name"));//小张System.out.println(Arrays.toString((Object[]) map1.get("hobbies")));
}

4.2. application/x-www-form-urlencoded格式

Swagger测试同步会导致复选框用hobbies=a1|a2格式,导致服务器解析失败。	
普通数据
接收请求:直接在controller方法参数列表上写 JavaBean或map
格式1:(建议)
public 返回值类型 方法名(JavaBean javaBean){}格式2:(不建议)
public 返回值类型 方法名(Map<String,Object> map){}
@RequestMapping("/t7")
public void t7(TestBean1 testBean1){//http://localhost:8080/my/t7?name=%E5%B0%8F%E5%BC%A0&sex=man&hobbies=code&hobbies=swimSystem.out.println(testBean1);System.out.println(testBean1.getName());
}
@RequestMapping("/t8")
public void t8(Map<String,Object> map){//http://localhost:8080/my/t8?name=%E5%B0%8F%E5%BC%A0&sex=man&hobbies=code&hobbies=swimSystem.out.println(map);//{}System.out.println(map.get("name"));//nullSystem.out.println(Arrays.toString((Object[]) map.get("hobbies")));//null
}

4.3. application/json格式

  • json数据接收请求:
    013
@RequestBody JavaBean javaBean
@RequestBody Map<String,Object> map
@RequestMapping("/t9")
public void t9(@RequestBody TestBean1 testBean1){System.out.println(testBean1);System.out.println(testBean1.getName());
}
@RequestMapping("/t10")
public void t10(@RequestBody Map<String,Object> map){System.out.println(map);//{hobbies=[游泳, 编程], name=小张, sex=男}System.out.println(map.get("name"));//小张
}
小结:如果接收json请求数据,若只是接收并使用一次,用map.如果多个方法中都有接收和使用,用JavaBean
  • json数据发送响应
@ResponseBody JavaBean
@ResponseBody Map<String,Object>
@RequestMapping("/t11")
public @ResponseBody TestBean1 t11(){TestBean1 tb1 = new TestBean1();tb1.setName("小张");tb1.setSex("男");String[] hobbies = {"编程","游泳"};tb1.setHobbies(hobbies);return tb1;
}
@RequestMapping("/t12")
public @ResponseBody Map<String, Object> t12(){Map<String, Object> map1 = new HashMap<>();map1.put("name","小张");map1.put("sex","男");String[] hobbies = {"编程","游泳"};map1.put("hobbies",hobbies);return map1;}
小结:如果发送json响应数据,若只是响应并使用一次,用map.如果多个方法中都有响应和使用,用JavaBean
http://www.qdjiajiao.com/news/3974.html

相关文章:

  • 做网站销售好累平台怎样推广
  • 深圳知名网站建设哪家好常州seo
  • 用本机做网站浏览河南智能seo快速排名软件
  • 东莞做网站乐云seo怎么建立企业网站免费的
  • 免费做网站的石家庄seo顾问
  • 动态网页设计论文3000字长沙seo推广
  • 哈尔滨最好的网站建设公司现在的seo1发布页在哪里
  • 网站建设的结论百度网站建设
  • 社交网站开发 转发郑州官网网站优化公司
  • 广告网址大全北京厦门网站优化
  • 备案网站免网网页制作教程
  • 建设工程招标公告seo是什么意思怎么解决
  • 怎么用建站abc做网站今天的三个新闻
  • 公司网站怎么做关键词网站优化哪家好
  • 成都高端网站建设公司手机端百度收录入口
  • 建设银行面试通知网站seo做得比较好的公司
  • 南宁网站建设云尚网络百度推广是什么
  • 建国外网站买完域名后怎么做怎样推广app
  • 网站的优化方案怎么写培训方案及培训计划
  • 搜索建站网国内看不到的中文新闻网站
  • 白云做网站SEO最全的搜索引擎
  • 网站建设java前后台好处超级软文网
  • 临沂手机网站开发制作公司怎么建立个人网站
  • 网站开发文案模板网络营销做的好的企业
  • 绍兴企业自助建站网址外链平台
  • 网站界面修改《新闻联播》 今天
  • 怎么做网站加载动画网站建设制作专业
  • 网架生产厂家排名seo成都培训
  • 秦皇岛营销式网站制作推广网址
  • 湖州佳成建设网站seo每日一帖