javaee 新手 javaee 新手 javaee 新手

为什么request.setAttribute 是 set ;
response.addCookie 是 add;
他们都是 只能创建设置一次,会覆盖的 ,有什么不同吗,哪些是set /add有什么规律吗,
一下这样 一下那样 感觉容易记混 ,求个规律

set是一个值,add可以添加多个值,setAttribute一个key对应一个属性,addCookie 就是可以给返回对象添加多个cookie

你应该去了解下 request 和 response的区别。servlet中:
request 请求:servlet处理后跳转另一个jsp页面作为返回给用户,比response多一步跳转
response 响应:servlet处理后直接返回用户结果:一般是下载附件、返回json、xml格式数据

Cookie cookie = new Cookie("keysss","value");
response.addCookie(cookie);

HttpServletRequest req//一般在控制层作为参数出现
req.setsetAttribute("key", value);

重复创建是不不会覆盖的,因为有不同的key值就跟map一样,当然你起相同的key值就会覆盖

response.addCookie 是 add。是因为java底层规范就是 public abstract void addCookie(Cookie cookie);你可以Ctrl+鼠标点进去看看在HttpServletResponse中。同理set也是。在java底层.class文件中这样定义的。而会覆盖,是它们存储的方式是以键值对(key-value)的方式存储的,这个你可以参考Map的键值对存储。