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("密碼: <input type=password name=password ><br />");
out.println("<input type=submit value=登入><br /><br />");
2.接收資料
String username=request.getParameter("username");