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