Day42

Day42

 

如何往客户端回传数据

public class ResponseIOServlet extends HttpServlet {
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       //这里有个小细节,要把设置字符集放在获取流之前,不然还是不能操作.

       //方法1:
//       //设置服务器字符集为utf-8
//       resp.setCharacterEncoding("utf-8");
//       //通过响应头,设置浏览器的字符集
//       resp.setHeader("Content-type","text/html; charset=UTF-8");

       //方法2:会同时设置服务器和客户端都使用utf-8字符集.还设置了响应头.
       resp.setContentType("text/html; charset=UTF-8");
       //要求:往客户端回传 字符串 数据
       PrintWriter writer = resp.getWriter();
       writer.write("啊哈啊哈是大厦");
  }
}

 

请求重定向

请求重定向: 客户端给服务端发送请求,然后服务端告诉客户端说 ,我给你一些地址, 你去新地址访问, 叫请求重定向( 因为 之前的地址可能已经被废弃 such as yellow web )

 

服务端(至少需要两个Servlet)

1.服务器1响应码302 ,告诉客户端,原先地址已经搬迁

2.告知客户端新的地址, 响应头 Location

 

客户端:

就接受response1的结果,知道已经搬迁,再次对新地址发起请求, 然后收到最终的结果,解析展示在页面上.

 

特点:

  1. 浏览器地址栏会发生变化

  2. 两次请求 ,

  3. 不共享Request 域中的数据(每次请求都会封装一个request对象)

  4. 不能访问WEB-INF文件夹下的资源

  5. 可以访问工程外的资源.

 

JavaEE三层结构

 

posted @ 2021-05-03 21:27  独眼龙  阅读(49)  评论(0)    收藏  举报