zoukankan      html  css  js  c++  java
  • request对象域和转发

    1.request是一个域对象,具备以下方法

      setAttribute(string name,Object O)

      getAttribute(String name)

      removeAttribute( String name)

    2.关于域对象的请求转发

    servlet1,servlet2

            // 1.servlet1将请求转发给servlet2
            // 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
            // 2.执行转发的方法
            requestDispatcher.forward(request, response);

    3.域对象中的数据转发

      servlet1   
             //向request域中存储数据  
            //request域的作用范围  在一次request和response请求中
            request.setAttribute("name", "Tom");   
     
      servlet2       
             //在request域中提取数据
            Object attribute = request.getAttribute("name");
            response.getWriter().write("hello word......"+attribute);              

    4.注意事项

    request域的作用范围:仅在一次request和response请求中有效

    5.完整代码

    servle1

    package com.hdh.forward;
    
    import java.io.IOException;    
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Servlet1 extends HttpServlet {
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //向request域中存储数据  
            //request域的作用范围  在一次request和response请求中
            request.setAttribute("name", "Tom");
            
            
            // 1.servlet1将请求转发给servlet2
            // 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
            // 2.执行转发的方法
            requestDispatcher.forward(request, response);
    
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    servlet2

    package com.hdh.forward;
    
    import java.io.IOException;    
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Servlet1 extends HttpServlet {
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //向request域中存储数据  
            //request域的作用范围  在一次request和response请求中
            request.setAttribute("name", "Tom");
            
            
            // 1.servlet1将请求转发给servlet2
            // 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
            // 2.执行转发的方法
            requestDispatcher.forward(request, response);
    
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    
    }
  • 相关阅读:
    机器学习中 margin loss 、hinge loss 和 ramp loss 的区别
    ML 论文中 用到的 temperature
    对一系列 pickle load 进行解包,只保留最后几个
    Linux 常用命令速览
    Numpy 的 dtype 和 astype 的区别
    远程配置 tensorflow 环境
    pytorch 的一些坑
    Conda 配置虚拟 pytorch 环境 和 Tensorflow 环境
    Ubuntu 远程离线配置 pytorch 运行环境
    3.Vue起步
  • 原文地址:https://www.cnblogs.com/asndxj/p/9830451.html
Copyright © 2011-2022 走看看