Servlet 响应数据
package com.xxxx.servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
@WebServlet("/s5")
public class Servlet5 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/**
* 响应数据
* 两个流只能同时用一个
*/
//防止乱码
//服务端编码
resp.setCharacterEncoding("UTF-8");
//客户端编码
resp.setHeader("content-type","text/html;charset=UTF-8");
//同时设置服务端和客户端编码
resp.setContentType("text/html;charset=UTF-8");
//字符输出流 输出字符串
// PrintWriter pw=resp.getWriter();
// pw.write("你好");
//字节输出流 一切数据
ServletOutputStream sos=resp.getOutputStream();
sos.write("你好".getBytes("UTF-8"));
}
}
2.返回json给jsp,使用fastjson
BaseResponse类
public class BaseResponse {
private Integer code;
private String messages;
private Object data;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessages() {
return messages;
}
public void setMessages(String messages) {
this.messages = messages;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/json;charset=utf-8");
BaseResponse baseResponse = new BaseResponse();
String userName = request.getParameter("userName");
String password = request.getParameter("password");
if(userName == null || password == null || userName.isEmpty() || password.isEmpty()){
baseResponse.setCode(200);
baseResponse.setMessages("没有获取到数据");
} else {
try{
User user = userDao.login(userName,password);
if(user == null){
baseResponse.setCode(210);
baseResponse.setMessages("请检查用户名和密码");
} else {
HttpSession session = request.getSession();
session.setAttribute("user",user);
baseResponse.setCode(100);
baseResponse.setMessages("登录成功");
baseResponse.setData(user);
}
}catch (Exception e){
e.printStackTrace();
baseResponse.setCode(220);
baseResponse.setMessages("数据库问题");
}
}
JSONObject json = (JSONObject) JSONObject.toJSON(baseResponse);
response.getWriter().print(json);
}