java servlet json_Servlet解析JSON数据和发送JSON数据

package com.jcuckoo.util;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;

import net.sf.json.JSONObject;

public class JsonReader {

public static JSONObject receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {

// 读取请求内容

BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));

String line = null;

StringBuilder sb = new StringBuilder();

while ((line = br.readLine()) != null) {

sb.append(line);

}

//将json字符串转换为json对象

JSONObject json=JSONObject.fromObject(sb.toString());

return json;

}

}

package com.jcuckoo.servlet;

import java.io.IOException;

import java.io.Writer;

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 com.jcuckoo.pojos.User;

import com.jcuckoo.service.UserService;

import com.jcuckoo.util.JsonReader;

import net.sf.json.JSONObject;

@WebServlet("/LoginUserServlet")

public class LoginUserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public LoginUserServlet() {

super();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// response.setContentType("text/html");

// 设置字符编码为UTF-8, 这样支持汉字显示

// response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=utf-8");

/** 设置响应头允许ajax跨域访问 **/

response.setHeader("Access-Control-Allow-Origin", "*");

/* 星号表示所有的异域请求都可以接受, */

response.setHeader("Access-Control-Allow-Methods", "GET,POST");

Writer out = response.getWriter();

JSONObject json=JsonReader.receivePost(request);

System.out.println(json);

UserService userService=new UserService();

//将建json对象转换为java对象

User loginUser = (User)JSONObject.toBean(json,User.class);

User user = userService.LoginUser(loginUser);

JSONObject jsonObject=new JSONObject() ;

if(user!=null){

//将java对象转换为json对象

jsonObject.put("user", JSONObject.fromObject(user));

jsonObject.put("message", "用户登录成功!");

}else{

jsonObject.put("message", "用户登录失败!");

}

out.write(jsonObject.toString());

out.flush();

}

}

Servlet-jCuckoo

用户名:

密码:

$('#sender').click(function(){

var userName=document.getElementById('userName').value;

var userPwd=document.getElementById('userPwd').value;

var user={userName:userName,userPwd:userPwd};

var url="LoginUserServlet";

$.post(url, JSON.stringify(user), function(data) {

console.log(data);

$("#messageDiv").html(data);

var json=JSON.parse(data);

alert(json.message);

});

/* $.ajax({

type:'post',

url:url,

dataType:"json",

data:JSON.stringify(user),

success: function (data) {

var user=data.user;

$("#messageDiv").html(JSON.stringify(user));

alert(data.message);

},

error: function (data) {

alert(data.message);

$("#messageDiv").html("");

}

}); */

});

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Servlet是一种在Java Web应用程序中处理HTTP请求和响应的技术。JSON是一种用于在Web应用程序中传输数据的格式。通常,Servlet可以接收JSON格式的数据,处理它们,并将JSON响应发送回客户端。下面是一个简单的Servlet代码示例,它接收JSON格式的数据并将其转换为Java对象: ```java @WebServlet("/api/myServlet") public class MyServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从请求中读取JSON数据 BufferedReader reader = request.getReader(); StringBuffer jsonBuffer = new StringBuffer(); String line; while ((line = reader.readLine()) != null) { jsonBuffer.append(line); } reader.close(); String jsonData = jsonBuffer.toString(); // 将JSON数据转换为Java对象 ObjectMapper objectMapper = new ObjectMapper(); MyDataObject dataObject = objectMapper.readValue(jsonData, MyDataObject.class); // 处理数据 // ... // 将响应转换为JSON格式并发送回客户端 response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); String jsonResponse = objectMapper.writeValueAsString(dataObject); writer.write(jsonResponse); writer.close(); } } ``` 在这个例子中,我们使用了Jackson库将JSON数据转换为Java对象,并将Java对象转换为JSON响应。这个例子仅仅是一个演示,实际的应用程序可能需要更多的逻辑来处理数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值