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);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报