2016-11-07 79 views
-1

正在經歷一些Java Servlets代碼。Java Servlets:不同類型的屬性

我發現屬性設置和檢索3種不同的方式。

req.getSession().setAttribute("var1","value1"); 
req.setAttribute("var2", "value2"); 
getServletContext().setAttribute("var3", "value3"); 

req的類型是HttpServletRequest 的變量,我來就是三者之間的區別有點困惑?

+0

它們分別在會話,請求或servlet上下文範圍中設置屬性。 – Henry

回答

2

req.getSession().setAttribute("var1","value1"); - 是會話屬性。

req.setAttribute("var2", "value2"); - 是請求屬性。

getServletContext().setAttribute("var3", "value3"); - 是Servlet上下文級別(應用程序)屬性。

1

第一個是會話屬性,第二個是請求屬性,第三個是屬於ServletContext的屬性。

如果您不知道會話是什麼以及它與請求有什麼不同,那麼您應該研究HTTP的工作方式。

ServletContext是服務器保留某些信息的單獨位置。你更經常從那裏獲得屬性,而不是設置它們。