HTTPServletResponse和ResponseEntity(Spring)之间的区别?

时间:2019-05-06 15:17:48

标签: java spring

我是第一次使用Spring在一个网站上工作,我试图了解如何最好地使用它。我注意到有些程序员/教程将对某些响应使用ResponseEntity <>,而其他人则使用HttpServletResponse。 两种类别/响应之间有区别吗?当我尝试设置Cookie时,建议使用哪一种。 谢谢

2 个答案:

答案 0 :(得分:1)

如果要在响应上设置Cookie,则最好使用HTTPServletResponse。这样一来,您就可以访问完整的servlet API和设置cookie等功能。 ResponseEntity是较高级别的Spring抽象,在正常情况下(处理AJAX请求)效果很好,但是HttpServletReponse是“标准”,可以对完整的http响应对象进行完全低级访问。

答案 1 :(得分:0)

ResponseEntity是在@Controller注释的类中使用的特定于Spring的类,用于告诉Spring返回什么作为响应请求的主体。 HttpServletResponse是一个标准的Java类,代表了整个响应,包括标题和许多其他内容。这两个对象执行不同的功能,尽管其中任何一个都可以用作返回对HTTP请求的响应的一部分。

由于您已经看到了这两个类的不同用法,因此您应该查看并理解它们。然后,您可以看到它们在返回HTTP响应中各自如何发挥不同的作用。我也可以很好地为您阅读每个类的文档,并可能查看每个对象的超类链的文档。