gpt4 book ai didi

java - 没有应用层代码的请求接收时间戳

转载 作者:行者123 更新时间:2023-11-29 08:01:08 25 4
gpt4 key购买 nike

我想基本上监控 Java 端的服务器调用。那么有什么方法可以直接获取收到请求时的时间戳。

换句话说,我不想显式创建日期对象并找出时间戳。相反,我对请求对象是否提供了任何时间戳参数实用程序感兴趣。

ServletActionContext.getRequest() 或任何可用的解决方案提供的东西,无需编写代码来创建 Date() 对象并找出答案。

我之所以这么说,是因为我有大约 50-60 个服务器调用,并且将来在我的应用程序中可能会更多,所以每次我需要在应用程序层中编写代码时,而不是使用这个现成的工具。

最佳答案

HttpServletRequest.getDateHeader为您提供作为 long 值的时间戳。

虽然这是来自请求 header ,不是接收到的时间,但它可能有效,因为它提供了自纪元以来的毫秒数。

您还可以查看 Filter , 这让你可以

Examples that have been identified for this design are:
1. Authentication Filters
2. Logging and Auditing Filters
...

Event Listeners可能是另一种设施,您可以在其中连接到 servlet 的处理。

回到你的问题:

ServletActionContext.getRequest() -> HttpServletRequest.getSession() -> HttpSession.getLastAccessedTime

Returns the last time the client sent a request associated with this session, as the number of milliseconds since midnight January 1, 1970 GMT, and marked by the time the container received the request.

关于java - 没有应用层代码的请求接收时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14358776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com