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);

    }
posted @ 2022-04-09 20:45  lwx_R  阅读(49)  评论(0编辑  收藏  举报