Response
作用:
HttpServletResponse 类 和 HttpServletRequest 类 一 样 。 每 次 请 求 , Tomcat 服 务 器 都 会 刨 陣 一 个 Response 对 象 传 递 给 servlet 程 序 去 使 用 。 HttpServ1etRequest 表 示 请 求 过 来 的 所 有 信 息, HttpServletResponse 表 示 所 有 响 应 的 信 息 如 果 需 要 设 置 返 回 给 客 户 端 的 信 息 , 都 可 以 通 过 HttpServletResponse 对 象 进 行 设 设 置
输出流说明:
字节流 getOutputStream() 常用于下载(传递二进制数据)
字符流 getWriter(); 常用于回传字符串(常用)
两 个 流 同 时 只 能 使 用 一 个 。
给客户端回传字符串数据:
importjavax.servlet.*;
importjavax.servlet.http.*;
importjavax.servlet.annotation.*;
importjava.io.IOException;
importjava.io.PrintWriter;
@WebServlet(name="ResponseIOServlet",value="/ResponseIOServlet")
public class ResponseIOServlet extends HttpServlet{
@Override
protected void doGet(HttpServlet Requestrequest,HttpServlet Responseresponse)throws Servlet Exception,IOException{
PrintWriter writer=response.getWriter();
writer.write("response'scontent!!!");
}
}
响应中中文乱码:
请求重定向:
示例:
注意:
1、 浏 览 器 地 址 是 会 发 生 变 化 2 、 重 定 向 是 两 次 请 求 3 、 不 共 享 Request 域 中 数 据 4 、 不 能 访 问 WEB-INF 下 的 资 源 5 、 可 以 访 问 工 程 外 的 资 源
Session:
会话跟踪:
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.IOException;
public class Session extends HttpServlet{
@Override
protected void service(HttpServlet Requestrequest,HttpServlet Response)throws ServletException,IOException{
//获取session,如果获取不到,则创建一个新的
HttpSession session=request.getSession();
System.out.println("session:"+session.getId());
}
}
session保护作用域:
packagecom.atguigu.servlets;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.IOException;
//保存数据
public class Servlet02 extends HttpServlet{
@Override
protected void service(HttpServlet Requestreq,HttpServlet Responseresp)throws ServletException,IOException{
req.getSession().setAttribute("uname","lina");
}
}
packagecom.atguigu.servlets;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.IOException;
//保存数据
public class Servlet02 extends HttpServlet{
@Override
protected void service(HttpServlet Requestreq,HttpServlet Responseresp)throws ServletException,IOException{
req.getSession().setAttribute("uname","lina");
}
}