如题,session在那一层处理比较好。举登录为例子,当用户登录成功时,将用户信息保存在session中,考虑到这个动作也属于业务逻辑的一部分,把它放在service层操作,没问题。登录完后进入首页,想获取用户的信息,这个时候问题来了,是在controller层直接操作session还是写个service来专门处理session(除了session操作,不需要其他的动作了)。
对于controller,我一直觉得它起的是中转的作用,请求来了,经过controller的中转调用service,service处理完了,controller将结果发给界面。如果在controller层操作session,总感觉不对劲。
同事的观点是,controller是数据准备的作用,准备数据给service,准备数据给view。按照这个想法,在controller层处理session感觉合情合理。
所以,想问问各位大神,controller的定位是怎样的?
这个保存到session中的动作,就像你举例那样,假如是登录,登录成功之后就把用户信息储存在session里面,那你直接把这个保存到session里面的动作写到用户登录验证通过那点就好了啊,何必纠结那么多
放在controller层比较方便使用,举个简单例子,比如你用一些框架例如struts2,在使用的时候会在控制层实现sessionAwa...接口,直接使用session,
说明放在控制层是合理的
如果一定要分的清清楚楚,那么我问你servlet到底属于c还是view?这个本就没有太过严格的划分,如果一定要分的清清楚楚,那就不要用mvc的设计模式了,可以用mvp或者mvvm,不过现在项目用这两种的很少,
mvc只是一种设计模式,必要太过于纠结到底谁谁谁一定放哪里
controller最好不处理业务逻辑,session无所谓在哪里都可以,毕竟如果用了shiro框架之后我就没见过session了哈哈