03 請求轉發和request共享數據

        3. 共享數據:
            * 域對象:一個有作用範圍的對象,可以在範圍內共享數據
            * request域:代表一次請求的範圍,一般用於請求轉發的多個資源中共享數據
            * 方法:
                1. void setAttribute(String name,Object obj):存儲數據
                2. Object getAttitude(String name):通過鍵獲取值
                3. void removeAttribute(String name):通過鍵移除鍵值對

package cn.itcast.web.request;

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.Enumeration;
import java.util.Map;
import java.util.Set;

@WebServlet("/requestDemo7")
public class RequestDemo7 extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.設置流的編碼
    request.setCharacterEncoding("utf-8");

    //獲取請求參數username
    String username = request.getParameter("username");

    System.out.println(username);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    this.doPost(request,response);
}

}
package cn.itcast.web.request;

import javax.servlet.RequestDispatcher;
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;

@WebServlet("/requestDemo8")
public class RequestDemo8 extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("demo8888被訪問了。。。");
    //轉發到demo9資源

/*

    RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo9");
    requestDispatcher.forward(request,response);
    */

    //存儲數據到request域中
    request.setAttribute("msg","hello");

    request.getRequestDispatcher("/requestDemo9").forward(request,response);
    //request.getRequestDispatcher("http://www.itcast.cn").forward(request,response);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    this.doPost(request,response);
}

}
package cn.itcast.web.request;

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;

@WebServlet("/requestDemo9")
public class RequestDemo9 extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //獲取數據
    Object msg = request.getAttribute("msg");
    System.out.println(msg);

    System.out.println("demo9999被訪問了。。。");

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    this.doPost(request,response);
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章