java - Java Servlets中这条语句是什么意思?

标签 java jakarta-ee servlets

我读到了关于doGet方法()的声明

Make sure that the doHead method you write is both safe and idempotent (that is, protects itself from being called multiple times for one HTTP HEAD request).

上述语句是什么意思,从编程的角度来看必须注意什么?

我正在对后端服务器进行一次调用,而后端的 servlet 正在对自身进行重复调用。所以我想了解这是否与上面的声明有任何关系。

请帮助我理解。

最佳答案

head() 在重写 doget() 时自动重写。HEAD 请求是一个 GET 请求,它在响应中不返回正文,只返回请求头字段。

Make sure that the doHead method you write issafe

GET 方法应该是安全的,也就是说,没有任何用户应负责的副作用。例如,大多数表单查询没有副作用。如果客户端请求旨在更改存储的数据,则该请求应使用其他一些 HTTP 方法。

Make sure that the doHead method you write is idempotent

GET 方法也应该是幂等的,这意味着它可以安全地重复。有时使方法安全也使其幂等。例如,重复查询既安全又幂等,但在线购买产品或修改数据既不安全也不幂等。

JavaDoc 解释得很清楚:doget()

Idempotence of a function:

幂等性是数学和计算机科学中某些操作的属性,它们可以多次应用而不改变初始应用后的结果。幂等性意味着执行请求 10 次与执行一次具有相同的效果。一个幂等请求可能第一次在数据库中创建一些东西,但它不会再这样做了。或者它会在下一次返回对它的引用。

关于java - Java Servlets中这条语句是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24693234/

相关文章:

java - 使用 JWT (java-jwt) 验证签名

java - 线程 "main"javax.xml.ws.soap.SOAPFaultException : A required header representing a Message Addressing Property is not present 中的异常

java - 如何删除错误 UnsupportedOperationException 和可能的内存泄漏

java - Hibernate与同一实体的递归多对多关联

java - 如何使用 Struts 2 在 Apache Tomcat 应用程序中建立数据库连接

java - 整数的最小值

java - Cometd,Spring 安全 : Currently authenticated user not available inside a Listener

java - 当 Action 类位于单独的 jar 文件中时,Struts 2 验证失败

image - 通过 URI 中的文件名而不是请求参数来识别 servlet 中的图像请求

java - JSP 究竟在哪里运行?在客户端还是服务器端?