springmvc 开发中关于Controller 的单例情况和多例情况
本案例情况:springmvc+html+url传递参数,url直接访问一个controller来进行页面分配
在开发的过程中,我们springmvc里面的controller用的不少,但是需要注意并发的情况。比如我们在做一个接口,所需要的参数是通过url来传递,这个时候,是直接访问了一个controller A,然后在A中读取出url里面的参数id,这个id需要返回给前端html,而刚好这个A又是返回一个页面给前端,这个时候id和页面不能同时返回,所以将id设置为全局变量,然后用html用ajax来访问A的另一个方法得到id。
这样做的弊端有很多,比如你这个id是全局的,所以每次访问A都会实例这个bean,然后如果第二个用户刚好也访问了A,那么两个用户就用了相同的id,因为这个时候是单例模式,所以应该将这个controller设置为多例模式。
小弟不才,希望有发现这个说法有错误的大神能指点一下。^_^
但是因为项目后面要用到集群,所以用了session的话,不同的服务器之间的会话是不共享的,如果要弄好又很麻烦,所以不能用session。那么问题又回到了原点。
用新的解决思路:
这是我的解决springmvc 返回数据和页面给html的办法