bean在通常情况下都是一个单例的bean
bean的作用范围调整
bean标签的scope属性,作用:用于指定bean的作用范围
取值:
singleton:单例,也是默认值,常用
prototype:多例,常用
request:作用于web应用的请求范围
session:作用于web应用的会话范围
global-session:作用于集群环境的会话范围,或者叫全局会话范围,当不是集群环境时,它就是session
<bean id="accountService" class="com.yujie.service.Impl.AccountServiceImpl" scope="singleton"></bean>
IAccountService as1=(IAccountService)ac.getBean("accountService"); //第一种,拿到object类型,强转
IAccountService as2=(IAccountService)ac.getBean("accountService"); //第一种,拿到object类型,强转
System.out.println(as1==as2);
<bean id="accountService" class="com.yujie.service.Impl.AccountServiceImpl" scope="prototype"></bean>
而global-session作用是什么
当我们一个人访问服务器的时候,服务器都有自己的ip地址,比如192.168.0.1,但是随着访问量的增加,一台服务器扛不住了,所以就有很多台服务器,每台服务器都有ip地址,这个时候就会有一个问题,当我们访问的时候,我们记录的是一个网址http://…当我们第一次请求,在登录页面。那么这个时候在中间就会有一个东西,让你直接访问网址,请求到这里来了,即获取login.jsp然后来到了。然后这个东西就会在后面找哪台机器是空闲状态,假如说1是空闲的,其他都是满负荷,接下来1在执行之后,就会把1给显示过来,login.jsp显示的就是什么用户名,密码,验证码啥的,而验证码应该存两份,一份表单,一份服务器的session域中,但是此时验证码是存在1这台服务器上,当你点击登录按钮,准备发送第二次请求,于是又一次请求点击登录,第二次再请求的时候,以前空闲的机器变成满负荷,而另一台6变成了空闲,这一次请求来到了这台空闲机器,此时由于验证码存在1号服务器上,所以我们需要把这些都看成是一个session,即global-session.
而这个东西叫负载均衡。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态