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

【Java】HttpServlet类中前后端交互三种方式(query string、form表单、JSON字符串)

在前后端的交互中,前端通过以下三种方式来与后端进行交互🌟

✅query string

✅form表单

✅JSON字符串

下面我们将书写这三种方式的后端代码并进行讲解

1、Query String

QueryString即在url中写入键值对,一般用doGet方法进行交互

代码如下 

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;@WebServlet("/getParameter")
public class GetParameterServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");System.out.println(username);System.out.println(password);resp.getWriter().write("ok");}
}

用postman验证

 

2、form表单

 form表单一般用doPost方法进行交互

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;@WebServlet("/postParameter")
public class postParameterServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");System.out.println(username);System.out.println(password);resp.getWriter().write("ok");}
}

3、Jason字符串

 (1)关于Jason

Jason是什么

JSON 是存储和交换文本信息的语法,类似 XML。JSON采用完全独立于任何程序语言的文本格式

要在Servlet中实现Jason相关操作,我们使用Jackson解析器

(2)jackson的配置

怎样配置Jackson呢?🧐

在中央仓库搜索Jackson,选中Jackson Databind👆

 点击进去之后,选择2.15.0版本👆

(Jackson2.15.0对应Tomcat8、对应Servlet3.1.0)

进去后,点击复制下面这段代码📃

<!-- 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>

粘贴到pom.xml文件中

之后会出现Maven的按钮,点击进行下载 

下载完成后,原本出现的红字报错消失

(3)使用json字符串进行前后端交互

 在配置好json的解析器后,我们书写代码进行前后端交互

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;//定一个Request类
class Request{public String username;public String password;
}class Response{public Boolean ok;
}@WebServlet("/json")
public class JsonParameterSerlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ObjectMapper mapper = new ObjectMapper();Request request = mapper.readValue(req.getInputStream(),Request.class);//把json字符串映射成Request类的java对象System.out.println("username:" + request.username);System.out.println("password:" + request.password);Response response = new Response();response.ok = true;//将Response类的java对象映射成json字符串String respjson = mapper.writeValueAsString(response);resp.setContentType("applicaton/json;charset=utf8");resp.getWriter().write(respjson);}
}

使用postman进行验证 ​​​​​​​

http://www.lryc.cn/news/286541.html

相关文章:

  • 【深蓝学院】移动机器人运动规划--第2章 基于搜索的路径规划--笔记
  • 安装向量数据库milvus可视化工具attu
  • STM32标准库开发——串口发送/单字节接收
  • jdk17新特性——文本块(即多行的字符串)增强
  • 阿里云ECS使用docker搭建mysql服务
  • Windows给docker设置阿里源
  • 安裝火狐和穀歌流覽器插件FoxyProxy管理海外動態IP代理
  • C++重新入门-函数重载
  • niushop靶场漏洞查找-文件上传漏洞等(超详细)
  • Bit Extraction and Bootstrapping for BGV/BFV
  • 七八分钟快速用k8s部署springboot前后端分离项目
  • 中移(苏州)软件技术有限公司面试问题与解答(2)—— Linux内核内存初始化的完整流程1
  • 蓝桥杯、编程考级、NOC、全国青少年信息素养大赛—scratch列表考点
  • 1.23 力扣图论
  • Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)
  • Operation
  • Kong关键概念 - 服务(Services)
  • IDEA更改页面不重启
  • golang学习-channel管道
  • oracle 12 查询数据库锁
  • 【LeetCode-135】分发糖果(贪心)
  • 5G_射频测试_发射机测量(四)
  • MySQL经典50题
  • 常用的Qt开源库分享
  • Unity开发授权系统
  • 一周时间,开发了一款封面图生成工具
  • 【.NET Core】深入理解异步编程模型(APM)
  • pyqtgraph绘图类
  • C#6-10新增的内容
  • 【立创EDA-PCB设计基础】3.网络表概念解读+板框绘制