例如客户端通过ajax发送json请求数据
$.ajax({
type:"get",
url:"${ctxPath}/login",
contentType:"application/json,charset=UTF-8",
data:{
"handle":"login",
"name":"张三"
},
dataType:'json',
success: function(data){
console.log(data);
},
error: function(){
console.log("请求数据失败");
}
【后台|服务器和客户端json数据传输】服务器端取查询数据库做出响应
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
PrintWriter writer=resp.getWriter();
String handle=req.getParameter("handle");
String account=req.getParameter("name");
System.out.println("handle="+handle+",account="+account);
Connection conn=null;
try {
conn=DBUtil.getConnection();
String sql="select * from person";
PreparedStatement psmt=conn.prepareStatement(sql);
ResultSet rs=psmt.executeQuery();
ResultSetMetaData rsm=rs.getMetaData();
int num=rsm.getColumnCount();
JSONObject json=new JSONObject();
JSONObject user=new JSONObject();
while(rs.next()) {
String name=rs.getString("name");
json.put("code", "0");
json.put("message", "success");
if(account.equals(name)) {
for(int i=1;
i<=num;
i++){
user.put(rsm.getColumnName(i), rs.getObject(i));
}
json.put("data", user);
System.out.println(json.toString());
writer.write(json.toString());
writer.flush();
writer.close();
} }
} catch (Exception e) {
e.printStackTrace();
}finally {
DBUtil.closeConnection(conn);
}
关于json数据和实体类的转化
Person person=(Person) JSONObject.toBean(user,Person.class);
//json转person实体类
System.out.println(person.getName());
System.out.println(person);
JSONObject data=https://www.it610.com/article/JSONObject.fromObject(person);
//person实体类转json
System.out.println(data.get("name"));
System.out.println(data.toString());
推荐阅读
- mysql|InnoDB数据页结构
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- mysql|一文深入理解mysql
- Java毕业设计项目实战篇|Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)
- 后台|NATAPP内网穿透通过nginx实现一个端口访问多个不同端口服务
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- vue|电商后台管理系统(vue+python|node.js)
- Java及基础算法及数据结构|旧笔记整理(MySQL)
- mysql|双非本211硕,无实习无项目,自学大数据开发,秋招上岸
- 数据库|Mysql--InnoDB存储引擎详解