当前位置: 技术问答>java相关
有关servlet的概念令我大惑不解,请高手点化!在线等待!
来源: 互联网 发布时间:2015-07-02
本文导语: 请问一下3种的区别和用途: 1. ServletContext中用setAttribute()设置的属性 2. session中用setAttribute()设置的属性 3. servlet类中的变量 我看过好几本书的资料还是没有搞懂,其中包括sun的,按我自己的理解是这样的,不知对不...
请问一下3种的区别和用途:
1. ServletContext中用setAttribute()设置的属性
2. session中用setAttribute()设置的属性
3. servlet类中的变量
我看过好几本书的资料还是没有搞懂,其中包括sun的,按我自己的理解是这样的,不知对不对?
一个servlet一般只在服务器上加载一次,也就是只有一个copy, 它通过不同的线程为不同的请求服务,所以所有客户的请求共享同一个servletContext对象;由于线程之间是共享运行空间的,所以所有的请求也可通过servlet类中的变量记录或传递信息(与ServletContext中用setAttribute()设置的属性的功能相同);session是针对同一客户的不同请求的,因此在session中用setAttribute()设置的属性只可在同一客户的不同请求之间共享。
不知我的理解是否对,请高手点化!谢谢!
1. ServletContext中用setAttribute()设置的属性
2. session中用setAttribute()设置的属性
3. servlet类中的变量
我看过好几本书的资料还是没有搞懂,其中包括sun的,按我自己的理解是这样的,不知对不对?
一个servlet一般只在服务器上加载一次,也就是只有一个copy, 它通过不同的线程为不同的请求服务,所以所有客户的请求共享同一个servletContext对象;由于线程之间是共享运行空间的,所以所有的请求也可通过servlet类中的变量记录或传递信息(与ServletContext中用setAttribute()设置的属性的功能相同);session是针对同一客户的不同请求的,因此在session中用setAttribute()设置的属性只可在同一客户的不同请求之间共享。
不知我的理解是否对,请高手点化!谢谢!
|
Servlet中的变量一般都是用于Servlet类本身的,虽然你可以用public是其他类可以使用,在运行时,由于你不能得到对象的引用,所以无法使用该变量,但static另当别论。
这个变量和ServletContex和Session中的区别很大,应该很容易理解。
这个变量和ServletContex和Session中的区别很大,应该很容易理解。