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 @   CodeWhisperer001  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示