16 域对象2 Request域

 4.1 Request域

有效范围

一次请求内有效,请求转发时数据可以传递,除此之外该域没有办法实现数据共享

生命周期

创建 每发生一次请求创建一个独立的请求域

使用service方法中或者请求转发有效

销毁 请求结束,已经向浏览器响应数据

测试代码

向request域中放入数据

package com.msb.testRequest;
import javax.servlet.ServletException;
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.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * @Author: Ma HaiYang
 * @Description: MircoMessage:Mark_7001
 */
@WebServlet(urlPatterns = "/addToRequest.do")
public class Servlet1 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 向request域中添加数据
        List<String> x=new ArrayList<>();
        Collections.addAll(x, "a","b","c");
        req.setAttribute("list", x);
        req.setAttribute("gender","boy");
        req.setAttribute("gender","girl");
        req.setAttribute("name","晓明");
        // 请求转发
         req.getRequestDispatcher("/readFromRequest.do").forward(req,resp);
        // 重定向
        //resp.sendRedirect("readFromRequest.do");
    }
}

 

request域中读取数据

package com.msb.testRequest;
import javax.servlet.ServletException;
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.util.List;
/**
 * @Author: Ma HaiYang
 * @Description: MircoMessage:Mark_7001
 */
@WebServlet(urlPatterns="/readFromRequest.do")
public class Servlet2 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 移除域中的互数据
        req.removeAttribute("gender");
        // 从request域中读取数据
        List<String> list =(List<String>) req.getAttribute("list");
        System.out.println(list);
        System.out.println(req.getAttribute("gender"));
        System.out.println(req.getAttribute("name"));
        //获取Request中的请求参数
        System.out.println(req.getParameter("username"));
        System.out.println(req.getParameter("password"));
    }
}

 

posted @ 2023-03-15 08:20  CodeWhisperer001  阅读(11)  评论(0编辑  收藏  举报