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

网站建设公司 南京百度seo搜索

网站建设公司 南京,百度seo搜索,北京市建设委员会网站证书查询,做收款二维码的网站本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

01 概述

在这里插入图片描述

DispatcherServlet(前端控制器)架构

在这里插入图片描述

在这里插入图片描述

HttpServletRequest(请求对象)负责获取请求数据

HttpServletResponse(响应对象)负责设置响应数据

在这里插入图片描述

Browser/serverBS架构)又称浏览器/服务器架构模式,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。

在这里插入图片描述

Client/ServerCS架构)又称客户端/服务器架构模式,需要自己下载安装软件。

02 Postman 接口测试

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

03 简单参数

补充:SpringBoot入门程序格式

在这里插入图片描述

在这里插入图片描述

① 原始方式

在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

SpringBoot方式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注:如果方法形参名称与请求参数不匹配,可以使用@RequestParam完成映射。

在这里插入图片描述

在这里插入图片描述

@RestController
public class RequestController {//原始方式@RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request){//获取请求参数String name = request.getParameter("name");String ageStr = request.getParameter("age");int age = Integer.parseInt(ageStr);System.out.println(name+ ":" + age);return "OK";}//springboot方式@RequestMapping("/simpleParam")public String simpleParam(String name, Integer age){System.out.println(name+ ":" + age);return "OK";}@RequestMapping("/simpleParam")public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age){System.out.println(username+ ":" + age);return "OK";}
}

04 实体参数

简单实体对象:请求参数名与形参对象属性名相同,定义POJO接收即可。

在这里插入图片描述

复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

在这里插入图片描述

@RestController
public class RequestController {@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);return "OK";}@RequestMapping("/complexPojo")public String complexPojo(User user){System.out.println(user);return "OK";}
}
package com.itheima.pojo;public class User {private String name;private Integer age;private Address address;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 Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}
}
package com.itheima.pojo;public class Address {private String province;private String city;@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}
}

05 数组集合参数

数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数。

在这里插入图片描述

集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系。

在这里插入图片描述

@RestController
public class RequestController {
@RequestMapping("/arrayParam")public String arrayParam(String[] hobby){System.out.println(Arrays.toString(hobby));return "OK";}@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "OK";}
}

06 日期参数

日期参数:使用@DateTimeFormat注解完成日期参数格式转换。

在这里插入图片描述

@RestController
public class RequestController {@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){System.out.println(updateTime);return "OK";}
}

07 JSON 参数

JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,使用@RequestBody标识。

在这里插入图片描述

@RestController
public class RequestController {@RequestMapping("/jsonParam")public String jsonParam(@RequestBody User user){System.out.println(user);return "OK";}
}

08 路径参数

路径参数:通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@PathVariable获取路径参数。

在这里插入图片描述

@RestController
public class RequestController {@RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id){System.out.println(id);return "OK";}@RequestMapping("/path/{id}/{name}")public String pathParam2(@PathVariable Integer id , @PathVariable String name){System.out.println(id);System.out.println(name);return "OK";}
}

09 响应

在这里插入图片描述

@ResponseBody

类型:方法注解、类注解

位置:Controller方法上/类上

作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应。

说明:@RestController=@Controller+@ResponseBody

@RestController
public class ResponseController {@RequestMapping("/hello")public String hello(){System.out.println("Hello World ~");return "Hello World ~";}@RequestMapping("/getAddr")public Address getAddr(){Address addr = new Address();addr.setProvince("广东");addr.setCity("深圳");return addr;}@RequestMapping("/listAddr")public List<Address> listAddr(){List<Address> list = new ArrayList<>();Address addr = new Address();addr.setProvince("广东");addr.setCity("深圳");Address addr2 = new Address();addr2.setProvince("陕西");addr2.setCity("西安");list.add(addr);list.add(addr2);return list;}
}

10 统一响应对象

在这里插入图片描述

@RestController
public class ResponseController {@RequestMapping("/hello")public Result hello(){System.out.println("Hello World ~");//return new Result(1,"success","Hello World ~");return Result.success("Hello World ~");}@RequestMapping("/getAddr")public Result getAddr(){Address addr = new Address();addr.setProvince("广东");addr.setCity("深圳");return Result.success(addr);}@RequestMapping("/listAddr")public Result listAddr(){List<Address> list = new ArrayList<>();Address addr = new Address();addr.setProvince("广东");addr.setCity("深圳");Address addr2 = new Address();addr2.setProvince("陕西");addr2.setCity("西安");list.add(addr);list.add(addr2);return Result.success(list);}
}

11 案例:获取员工数据,返回统一响应结果,在页面渲染展示

在这里插入图片描述

① 在pom.xml文件中引入dom4j的依赖,用于解析XML文件

在这里插入图片描述

② 引入资料中提供的解析XML的工具类XMLParseUtils、对应的实体类Emp.xml

在这里插入图片描述

③ 引入资料中提供的静态页面文件,放在resources下的static目录下

在这里插入图片描述

注:Springboot项目的静态资源(html, css, js等前端资源)默认存放目录为:classpath:/static、classpath:/public、classpath:/resources

④ 编写Controller程序,处理请求,响应数据

package com.itheima.controller;import com.itheima.pojo.Emp;
import com.itheima.pojo.Result;
import com.itheima.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class EmpController {@RequestMapping("/listEmp")public Result list(){//1. 加载并解析emp.xmlString file = this.getClass().getClassLoader().getResource("emp.xml").getFile();System.out.println(file);List<Emp> empList = XmlParserUtils.parse(file, Emp.class);//2. 对数据进行转换处理 - gender, jobempList.stream().forEach(emp -> {//处理 gender 1: 男, 2: 女String gender = emp.getGender();if("1".equals(gender)){emp.setGender("男");}else if("2".equals(gender)){emp.setGender("女");}//处理job - 1: 讲师, 2: 班主任 , 3: 就业指导String job = emp.getJob();if("1".equals(job)){emp.setJob("讲师");}else if("2".equals(job)){emp.setJob("班主任");}else if("3".equals(job)){emp.setJob("就业指导");}});//3. 响应数据return Result.success(empList);}}
http://www.dtcms.com/wzjs/66140.html

相关文章:

  • 重庆企业网站推广平台软文推广公司
  • 网站建设龙头企业seo sem什么意思
  • 邗江区网站建设套餐怎么做一个网页
  • 做微网站公司简介泉州百度广告
  • 济南公司快速建站2021最火关键词
  • 餐饮 网站建设百度注册页面
  • 企业网站排名提升软件能优化百度地图导航网页版
  • 手机网站建设 移商动力百度快照没有了用什么代替了
  • 山东建设人才网站成都百度快照优化排名
  • 深圳做营销网站公司seo排名培训
  • 微擎做的网站好排名吗百度优化是什么
  • 长沙县政务网站网站做外链平台有哪些
  • 电子商务网站建设的课程论文seo实战指导
  • 开封企业网站建设西地那非片吃了多久会硬起来
  • 做a的网站有哪些国内搜索引擎排名
  • 白云做网站SEO软文网站
  • 沈阳网站制作思路黄金网站app视频播放画质选择
  • wordpress文章内容乱码seo软件优化
  • 圣都家居装饰有限公司搜索引擎优化技术有哪些
  • 委托广告公司做的网站违法了中国今日新闻
  • 嘉兴做网站建设的公司哪家好百度平台营销收费标准
  • 从零学php网站开发百度推广登陆网址
  • 网络维护公司名字杭州百度快照优化排名推广
  • 网站如何做流量贵阳seo网站推广
  • 用什么系统程序做评测网站广州企业推广
  • wordpress导航主题下载小时seo
  • 外包公司前端面试难吗南京百度关键字优化价格
  • 大连专业网站设计服务商游戏代理300元一天
  • 做网站月入1000seo会被取代吗
  • it网站建设干嘛的路由优化大师