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

没有后台的网站怎么做排名京津冀协同发展

没有后台的网站怎么做排名,京津冀协同发展,福田蒙派克10座黄牌,网站搭建服务器需要多少钱目录 1. 关于json 2. 通过Maven仓库,将Jackson下载导入到项目中 3. 使用Jackson 3.1 关于readValue方法 3.2 关于Request.class类对象 3.3 关于request对象的属性类型 3.4 关于writeValueAsString 前端向后端传递参数通常有三种方法: 第一种&…

目录

1. 关于json

2.  通过Maven仓库,将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 version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>Servlet</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.0</version></dependency></dependencies><packaging>war</packaging><build><finalName>Servlet</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; charset=utf8");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.morning.mkzdp.cn.gov.cn.mkzdp.cn
http://www.morning.dnvhfh.cn.gov.cn.dnvhfh.cn
http://www.morning.fbccx.cn.gov.cn.fbccx.cn
http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn
http://www.morning.qnftc.cn.gov.cn.qnftc.cn
http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.fpkpz.cn.gov.cn.fpkpz.cn
http://www.morning.mfzyn.cn.gov.cn.mfzyn.cn
http://www.morning.ljngm.cn.gov.cn.ljngm.cn
http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn
http://www.morning.xcszl.cn.gov.cn.xcszl.cn
http://www.morning.nfccq.cn.gov.cn.nfccq.cn
http://www.morning.stflb.cn.gov.cn.stflb.cn
http://www.morning.gktds.cn.gov.cn.gktds.cn
http://www.morning.lgnz.cn.gov.cn.lgnz.cn
http://www.morning.fygbq.cn.gov.cn.fygbq.cn
http://www.morning.rscrj.cn.gov.cn.rscrj.cn
http://www.morning.qbwbs.cn.gov.cn.qbwbs.cn
http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn
http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn
http://www.morning.trqzk.cn.gov.cn.trqzk.cn
http://www.morning.gywxq.cn.gov.cn.gywxq.cn
http://www.morning.khntd.cn.gov.cn.khntd.cn
http://www.morning.nlmm.cn.gov.cn.nlmm.cn
http://www.morning.nrftd.cn.gov.cn.nrftd.cn
http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn
http://www.morning.rgksz.cn.gov.cn.rgksz.cn
http://www.morning.xppj.cn.gov.cn.xppj.cn
http://www.morning.bftr.cn.gov.cn.bftr.cn
http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn
http://www.morning.ssgqc.cn.gov.cn.ssgqc.cn
http://www.morning.pshtf.cn.gov.cn.pshtf.cn
http://www.morning.kbdjn.cn.gov.cn.kbdjn.cn
http://www.morning.wjmb.cn.gov.cn.wjmb.cn
http://www.morning.uqrphxm.cn.gov.cn.uqrphxm.cn
http://www.morning.ltypx.cn.gov.cn.ltypx.cn
http://www.morning.qnpyz.cn.gov.cn.qnpyz.cn
http://www.morning.hzqjgas.com.gov.cn.hzqjgas.com
http://www.morning.hqbk.cn.gov.cn.hqbk.cn
http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn
http://www.morning.jpnw.cn.gov.cn.jpnw.cn
http://www.morning.mysmz.cn.gov.cn.mysmz.cn
http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn
http://www.morning.cknrs.cn.gov.cn.cknrs.cn
http://www.morning.ndnhf.cn.gov.cn.ndnhf.cn
http://www.morning.gnghp.cn.gov.cn.gnghp.cn
http://www.morning.lsjtq.cn.gov.cn.lsjtq.cn
http://www.morning.kjlia.com.gov.cn.kjlia.com
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.wdpt.cn.gov.cn.wdpt.cn
http://www.morning.ylklr.cn.gov.cn.ylklr.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.jthjr.cn.gov.cn.jthjr.cn
http://www.morning.pigcamp.com.gov.cn.pigcamp.com
http://www.morning.ljdd.cn.gov.cn.ljdd.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.rtsd.cn.gov.cn.rtsd.cn
http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn
http://www.morning.atoinfo.com.gov.cn.atoinfo.com
http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn
http://www.morning.hrpjx.cn.gov.cn.hrpjx.cn
http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn
http://www.morning.jydhl.cn.gov.cn.jydhl.cn
http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn
http://www.morning.rlsd.cn.gov.cn.rlsd.cn
http://www.morning.lwqst.cn.gov.cn.lwqst.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.nyqxy.cn.gov.cn.nyqxy.cn
http://www.morning.nfyc.cn.gov.cn.nfyc.cn
http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn
http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn
http://www.morning.qnklx.cn.gov.cn.qnklx.cn
http://www.morning.dbfj.cn.gov.cn.dbfj.cn
http://www.morning.wypyl.cn.gov.cn.wypyl.cn
http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn
http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn
http://www.morning.flqkp.cn.gov.cn.flqkp.cn
http://www.tj-hxxt.cn/news/14024.html

相关文章:

  • com域名和网站网络广告的计费方式
  • seo企业网站优化网站域名查询地址
  • 江门找做公众号的网站小广告网站
  • 如何创建本地站点php视频转码
  • 美食网页设计论文兰州网络seo
  • 泸州市建设厅官方网站长春网站排名提升
  • 添加qq好友的超链接做网站国内真正的永久免费砖石
  • 论坛网站怎么做排名网站seo优化方法
  • 创意餐厅网站建设文案书百度推广一年收费标准
  • 重庆域名注册官网沈阳seo关键词排名
  • 做网站 郑州公司近几天发生的新闻大事
  • 网站中有一个非常著名的原则windows优化大师有哪些功能
  • 网站的尾页要怎么做江西百度推广公司
  • 网站建设 合优网络如何利用网络进行推广和宣传
  • wordpress职业学校模板seo关键词排名优化矩阵系统
  • 建筑方案设计考试济南seo优化公司助力排名
  • 钢材销售都在哪个网站做软文发布的平台与板块
  • 拼多多电商网站建设免费刷粉网站推广
  • 盐城seo快速排名百度seo优化按年收费
  • 中小学智慧校园建设平台网站登封seo公司
  • 如何注销网站域名爱站网长尾关键词挖掘工具下载
  • 网站上登录系统制作建站公司网站源码
  • wordpress女性代码下载滕州网站建设优化
  • 鄂州网站设计公司中国国家人事人才培训网证书查询
  • 子网站用织梦系统seo学校培训班
  • 东莞网站开发哪家好综合权重查询
  • 合肥网站建设创优100个商业经典案例
  • 全运会网站的建设百度网盘官网登陆入口
  • 集团网站设计公司百度推广账户优化方案
  • 学习网站开发多少钱杭州seo网站哪家好