1. 程式人生 > >Servlet共享資料的方法(一)

Servlet共享資料的方法(一)

 暫且總結了5種方式

Servlet共享資料的方法

一.重定向

1.傳送資料

request.setAttribute("request_name", "request_value");

response.sendRedirect("接受的url?request_name=request_value ");

2.接收資料

String request_name=(String)request.getAttribute("request_name");

二.請求轉發

1.傳送資料

 request.getRequestDispatcher("接受的url").forward(request, response);

2.接收資料

String request_name=(String)request.getAttribute("request_name");

三.Servlet-Context技術

1.在web.xml中配置

<context-param>
    <param-name>request_name</param-name>
    <param-value>request_value </param-value>
  </context-param>

2.獲取資料

String value=this.getServletContext().getInitParameter("request_name");

四.Servlet-Init技術

(與第三種相區別:context 為全域性變數,而init是兩個servlet間的共享)

A.共享單個數據

1.在web.xml中配置

<init-param>
      <param-name>request_name</param-name>
      <param-value>request_value</param-value>
    </init-param>

2.獲取資料

ServletConfig servletConfig =this.getServletConfig();
String value=servletConfig.getInitParameter("request_name");

B.共享多個數據

1.在web.xml中配置

配置多組<init-param></init-param>鍵值對

2.獲取資料

Enumeration params=this.getServletConfig().getInitParameterNames();

while(params.hasMoreElements()) {

 String name=params.nextElement().toString();

 String value=this.getServletConfig().getInitParameter(name);

五.獲取引數(使用者在登入介面輸入的資訊實現共享)

1.傳輸資料

        PrintWriter out=response.getWriter();
        out.println("<form action='url' method='post'>");
        out.println("使用者名稱:<input type=text name=username ><br />");
        out.println("密碼:&nbsp;<input type=password name=password ><br />");
        out.println("<input type=submit value=登入><br /><br />");

2.接收資料

        String username=request.getParameter("username");