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

瑞安市建设工程质量监督站网站网站开发预算

瑞安市建设工程质量监督站网站,网站开发预算,小程序发布流程怎么弄,微网站和手机网站的区别目录 1. 关于json 2. 通过Maven仓库#xff0c;将Jackson下载导入到项目中 3. 使用Jackson 3.1 关于readValue方法 3.2 关于Request.class类对象 3.3 关于request对象的属性类型 3.4 关于writeValueAsString 前端向后端传递参数通常有三种方法#xff1a; 第一种将Jackson下载导入到项目中 3. 使用Jackson 3.1 关于readValue方法 3.2 关于Request.class类对象 3.3 关于request对象的属性类型 3.4 关于writeValueAsString 前端向后端传递参数通常有三种方法 第一种 【JavaEE】_前端使用GET请求的queryString向后端传参-CSDN博客 第二种 【JavaEE】_前端POST请求借助form表单向后端传参-CSDN博客 第三种 使用POST请求的body部分向后端传参且body格式为json格式 本篇介绍第三种方法 1. 关于json 1. body部分的格式就是json 此时请求报头部分有Content - Type : application / json 2. 对于通过GET请求的query string部分传参和通过POST请求的body的form表单格式传参是servlet天然支持的但是对于POST请求的body使用json格式传参servlet本身并不支持需要引入额外的第三方库 3. json本质也是键值对但规则和form表单不同解析方式也不同。且json支持嵌套手写解析json并不容易 4. json的第三方库非常丰富本专栏使用jackson。(spring官方推荐jackson被spring集成 代码编写详情如下 2.  通过Maven仓库将Jackson下载导入到项目中 选择Jackson Databind版本 复制并粘贴至pom.xml中 引入依赖后pom.xml内容如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdServlet/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.0/version/dependency/dependenciespackagingwar/packagingbuildfinalNameServlet/finalName/build/project 如果导入缓慢或失败可以点击Maven面板的刷新按钮此处不再赘述若对导入依赖仍有疑问请查看本专栏Servlet程序编写方法一文链接如下 【JavaEE】_Servlet程序的编写方法-CSDN博客 3. 使用Jackson 1. Jackson的重点为一个对象和两个方法 一个对象ObjectMapper类 两个方法readValue方法和WriteAsString方法 2. 使用一个ObjcectMapper类对象映射器可以把json字符串映射为一个Java对象或把一个java对象映射成json字符串 在网络传输中使用的是json字符串 在实现业务逻辑的java代码中使用的是java对象 站在服务器角度就需要把获取到的请求json字符串先映射为java对象 再进行一系列业务逻辑处理。 处理完毕后还需要把处理完的java对象再映射回json字符串通过响应返回 3. json字符串向java对象的映射json字符串——java对象使用readValue方法 java对象向json字符串的映射java对象——json字符串使用writeValueAsString方法 现约定请求格式如下 POST /json Content-Type: application/json{username:zhangsan,password:123 } 约定响应格式如下也按照json来组织 {ok: true } .java文件内容如下 import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; class Request{public String username;public String password; } class Response{public boolean ok; } WebServlet(/Json) public class JsonParameterServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// 1. 获取请求body并将其按照json格式解析为请求java对象ObjectMapper objectMapper new ObjectMapper();Request request objectMapper.readValue(req.getInputStream(), Request.class);System.out.println(username: request.username);System.out.println(password: request.password);// 2. 构造响应java对象并将其转为json格式字符串Response response new Response();response.ok true;String respJson objectMapper.writeValueAsString(response);resp.setContentType(application/json; charsetutf8);resp.getWriter().write(respJson);} }使用postman构造一个POST请求发送 获取到的响应如下 在服务器日志端也可获取到前端的参数 3.1 关于readValue方法 1. 把body的流对象方法的第一个参数直接传给readValue这个方法内部就会读取InputStream中的所有数据HTTP请求中的body即json字符串 2. 尝试把json字符串解析成Map键值对 3. 把Map转换成java对象方法的第二个参数 readValue内部就可以通过反射API创建出Request.class实例并且根据Request.class提供的属性的名字username和password来查询上述Map把得到的结果zhangsan和123赋值给对应的属性username和password从而获取到了一个完整的Request对象 请注意反射属于非常规操作除非万不得已在开发中不要随便使用反射 3.2 关于Request.class类对象 对于一个java代码会被javac编译成.class文件二进制这个文件包含了.java源代码中的核心信息比如类的名称、属性及其类型、方法及其参数与类型、父类、实现的接口、注解等等 当java进程启动就会读取.class文件把这些二进制内容读到内存并进行解析这个过程称为类加载。 类加载完毕后就会在内存中获取到一个类对象。 故而.class文件中的所有信息也都在类对象中了。 可以将类对象理解为一个类的图纸后续要构造这个类的实例都是基于类对象来进行展开的 3.3 关于request对象的属性类型 在本例中Request对象的两个属性均使用public修饰 class Request{public String username;public String password; } 如果要将属性被private修饰必须提供对应的Getter和Setter方法 否则Jackson只会处理public属性 3.4 关于writeValueAsString 可以将writeValueAsString视为readValue的反向操作这个方法可以把一个java对象映射成json字符串 1. 通过传入的参数获取到类对象通过反射获取到属性ok 2. 根据属性名获取属性值true 3. 把上述属性名与属性值按照json格式构造成字符串reqJson作为返回值
http://www.dnsts.com.cn/news/118467.html

相关文章:

  • 吉林市城市建设学校网站用手机怎样免费做网站
  • 现代化专业群建设专题网站护理专业wordpress实现选项卡
  • 湖北网站建设企业网站维护 设计
  • 网站建设费做什么会计科目权威发布2015
  • 肃宁网站建设网站建设保报价文档
  • 学院网站改造方案有哪些做平面设计好的网站有哪些内容
  • 珠海网站建设品牌策划app搭建要多少钱
  • 长治市网站开发一级域名和二级域名怎么区分
  • 诚信网站建设的意义重庆市全面解封
  • 网站开发目标开题报告wordpress 无法粘贴
  • 国外的电商网站网站建设对接模版
  • 酒网站模板wordpress 位置地图
  • 深圳搭建网站公司如何写网站建设实验结果分析
  • 广州房地产网站建设方案工程信息网站哪家做的较好
  • 利用社交网站做淘宝客html作业代码
  • 人是用什么做的视频网站吗外贸三种语言网站建设
  • 电子商务网站开发与设计报告wordpress envato主题
  • 自己做盗号网站深圳结构设计
  • 西安网站开发多少钱网站建好用电脑做服务器
  • 做pc端网站什么开头短网址工具
  • 河南网站优化公司电商网站开发的现状
  • wordpress 中文用户舟山网站建设优化
  • 花生壳做网站需要备案WordPress编辑文章空白
  • 哪个网站做的比较好打开网站notfound
  • 微信建立免费网站吗做动画在线观看网站
  • 广州番禺网站制作正规的合肥网站建设价格
  • 做网站前怎么建立数据结构外贸网站功能
  • 怎样在百度免费做网站专做国际时事评论网站
  • 济南 外贸网站建设个人网页设计实验报告
  • 网站建设无锡京伦科技做的网站如何