2016-11-07 82 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是服务器保留某些信息的单独位置。你更经常从那里获得属性,而不是设置它们。