当前位置: 首页 > 面试题库 >

Java WebApp:如何实现Web Bug(1x1像素)?

司徒钱青
2023-03-14
问题内容

在以下问题的可接受答案中,具有13K +代表的SO常规建议使用“ Web Bug”(不可缓存的1x1 img)来跟踪日志中的请求:

Google Analytics(分析)准确吗?

如何用Java做到这一点?

基本上,我有两个问题:

  • 如何确保1x1图片不可缓存(如何设置标头)?

  • 如何确保对这些1x1图像的查询将出现在日志中?

我正在寻找确切的代码段,因为我知道如何编写.jsp / servlet,并且知道如何提供1x1图片:)

我的问题确实是关于我应该编写的确切的.jsp / servlet以及如何/需要做些什么才能使Tomcat记录请求。

例如,我计划使用以下映射:

<servlet-mapping>
        <servlet-name>WebBugServlet</servlet-name>
        <url-pattern>/webbug*</url-pattern>
</servlet-mapping>

然后使用引用“ webbug.png”(或.gif)的img标签,那么如何编写.jsp / servlet?

我应该在日志中查找什么/位置?


问题答案:

简单的方法是将日期时间戳添加到JSP中的图像。这将防止图像被缓存。

<%
java.util.Date dt = new java.util.Date ();
%>
<img src="/invisible.jpg?<%=dt.getTime ()%>" width="1" height="1">

在访问日志中,您可以计算jpg-输出应为

127.0.0.1 - - [10/Jun/2010:11:38:53 +0530] "GET /mywebapp/jsp/invisible.jpg?1276150133362 HTTP/1.1" 200 991
127.0.0.1 - - [10/Jun/2010:11:38:54 +0530] "GET /mywebapp/jsp/invisible.jpg?1276150134659 HTTP/1.1" 200 991
127.0.0.1 - - [10/Jun/2010:11:38:55 +0530] "GET /mywebapp/jsp/invisible.jpg?1276150135627 HTTP/1.1" 200 991

用这种方法,您将不需要servlet映射。

替代方法将涉及编写Filter类来设置缓存控制标头。



 类似资料:
  • 本文向大家介绍详解Java如何实现图像灰度化,包括了详解Java如何实现图像灰度化的使用技巧和注意事项,需要的朋友参考一下 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB。通常,许多24位彩色图像存储为32位图像,每个像素多余的字节存储为一个alpha值,表现有特殊影响的信息[1]。 在RGB模型中,如果R=G=B时,则彩

  • 我正在使用Flutter制作一个关于电影的信息列表。现在我希望左边的封面图片是圆角图片。我做了以下操作,但没有成功。谢谢 如下所示

  • zrender绘制成功后,不知道缩略图怎么实现,没有思路主要,想问问大概是怎么个思路

  • 本文向大家介绍Python实现图像几何变换,包括了Python实现图像几何变换的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现图像几何变换的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我在同一HTML页面上同时使用了javascript和jquery代码。由于某种原因,jQuery库正在阻止我的本机javascript代码正常工作。 我找到了此页面:jQuery No Conflict,它表明您可以使用jquery.noConflict将$释放回javascript。但是,我不确定该怎么做? 具体来说,我不确定如何正确执行此操作?Jquery代码在哪里,JS代码在哪

  • 问题内容: 我已经开发Web应用程序已有一段时间了,但是最近使用Comet服务器端推送技术对其进行了介绍,而我对该技术的理解还很不成熟。虽然链接http://www.zeitoun.net/articles/comet_and_php/start提供了两个使用PHP中无限循环的简单示例实现,但我想进一步了解上述方法的用途以及是否适合生产。专用彗星服务器如Meteor(http://meteorse