为了给用户一个返回数据,我们需要使用HttpServletResponse

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

从相应对象获取一个输入流

通过输入流将返回结果写入到响应体中

关闭输入流

public class ResponseServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String result = "Hello Java";
        PrintWriter out = resp.getWriter();
        out.println(result);
        out.close();
    }
}

中文会乱码

还是因为默认的响应体编码是 ISO的

需要指定编码

resp.setCharacterEncoding("utf-8");

还可以指定ContentType。

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

 

 

Cookie

Cookie ck = new Cookie("key", "value");
resp.addCookie(ck);

读取cookie

Cookie[] cookies = req.getCookies();

不好的是要获取key就只能循环出来,不能单独读取。后续学到了再来做补充。

 Session

通过在cookie中存一个session_id来确认用户身份。

 session创建方法

HttpSession hs = req.getSession();
HttpSession hs = req.getSession(false);
HttpSession hs = req.getSession(true);

getSession() 已有session则返回现有session,否则创建返回

getSession(true) 同上

getSession(false) 已有session则返回现有session,否则返回空

 

session保存数据

hs.setAttribute("key","value");
hs.getAttribute("key");

 

设置session的空闲时间

1)Tomcat中配置

    <session-config>
        <session-timeout>1</session-timeout>  
    </session-config>
<!-- 单位分钟 --!>

2)Servlet中配置

hs.setMaxInactiveInterval(120); #单位秒

 

//todo 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄