小编rya*_*nki的帖子

Eclipse"找不到自定义标签的标签库描述符"(不是JSTL!)

我有一个可以用Ant构建的Java EE项目,完美地部署到JBoss,运行没有任何问题.这个项目包括一些自定义标记库(不是JSTL!),它们也没有任何困难.

问题出在Eclipse IDE(Ganymede)上:在每个使用我们自定义标记的JSP文件中,JSP解析器使用此错误标记taglib包含行:

Cannot find the tag library descriptor for (example).tld

这也会导致标签库的每次使用都被标记为错误,并且由于IDE没有它们的定义,因此无法检查标记参数等.

我们完美工作的JSP文件是一个红色错误的海洋,我的眼睛开始燃烧.

我怎样才能简单地告诉Eclipse,"你要找的标签库描述符是"src/web/WEB-INF /(example)-taglib /(example).tld"?

我已经在Eclipse支持论坛上问过这个问题,没有任何有用的结果.

java eclipse jsp taglib custom-tags

61
推荐指数
5
解决办法
19万
查看次数

检测HTML画布中某些点的鼠标悬停?

我已经为Canvas构建了一个分析数据可视化引擎,并且已经被要求在数据元素上添加类似工具提示的悬停,以显示光标下数据点的详细度量.

对于简单的条形图和Gaant图表,具有简单方形区域或特定兴趣点的树形图和节点图,我能够通过将绝对定位的DIV与:悬停属性重叠来实现这一点,但是有一些更复杂的可视化,例如饼图以及由bezeir曲线定义的数百个独立区域的交通流渲染.

是否有可能以某种方式附加叠加层,或在用户将鼠标悬停在特定的封闭路径上时触发事件?

需要指定悬停的每个区域定义如下:

context.beginPath();
context.moveTo(segmentRight, prevTop);
context.bezierCurveTo(segmentRight, prevTop, segmentLeft, thisTop, segmentLeft, thisTop);
context.lineTo(segmentLeft, thisBottom);
context.bezierCurveTo(segmentLeft, thisBottom, segmentRight, prevBottom, segmentRight, prevBottom);
/*
 * ...define additional segments...
 */
// <dream> Ideally I would like to attach to events on each path:
context.setMouseover(function(){/*Show hover content*/});
// </dream>
context.closePath();
Run Code Online (Sandbox Code Playgroud)

绑定到这样的对象在Flash或Silverlight中实现几乎是微不足道的,因为当前的Canvas实现具有直接使用我们现有的Javascript API并与其他Ajax元素集成的优势,我们希望避免将Flash置于混合中.

有任何想法吗?

javascript canvas

32
推荐指数
3
解决办法
4万
查看次数

隐私应用程序无效地尝试阻止我们的网站分析跟踪数据.我们应该检测失败的尝试而不是跟踪他们的用户吗?

我的公司有一个网络分析软件包,我们用它来进行自己的客户营销活动跟踪.它使用服务器日志,JS和图像Web错误,cookie,独特的缓存文件和ETag标头的组合来收集和整理用户活动.

最近,我们发现插入用户浏览器的某个(未命名的)隐私保护应用程序正在修改某些跟踪代码,其明显意图是阻止用户的活动被跟踪.我们已经购买了应用程序的副本并在本地进行了测试,对于包括Google Analytics在内的许多其他Web错误和分析应用程序也是如此.

对于大多数这些,数据的更改方式会阻止跟踪软件正常运行.但是,他们使用一致的模式进行更改,并且由于我们的排序规则的工作方式,他们的更改对我们的跟踪和分析包的操作没有影响.(好吧,有一个副作用会降低一些计时计算的精确度,从毫秒到秒.)

简而言之,情况是:

  1. 我们的分析结果不受应用程序试图破坏数据的影响

  2. 用户显然打算阻止分析他们的在线活动

  3. 我们可以更改我们的应用程序以检测尝试阻止

  4. 我们必须花时间和金钱修补和测试我们的应用程序,以使尝试的隐私阻止实际上成功

因此,我们应该采取多少措施来检测和尊重用户的意愿,这是一种道德上的困境.涉及的一些问题是:

  1. 隐私应用程序是否有责任按预期执行?有办法,他们可能会改变该数据防止我们的分析,从跟踪他们的用户.

  2. 我们有责任增强我们的应用以检测​​用户的意图吗?这将导致开发成本以及消除有价值的数据(大约2%的流量使用此应用程序).

您认为我们的道德责任应该是什么?

  • 我们应该忽略它并使我们的应用程序按原样运行

  • 我们应该承担费用,丢失数据,并尊重用户的隐含愿望

  • 我们应该联系应用程序的开发人员,告诉他们阻止我们的系统工作的更好方法

  • 我们应该宣传他们的软件没有按预期运行

  • 其他...?

    为了澄清,隐私工具根本不起作用.我们的应用程序,无需更改,仍会跟踪使用它的用户.我们必须改变我们的应用程序,以跟踪这些用户.

    我们确实有一个基于cookie的选择退出,用户可以从追踪器的主页中选择.

    我们向开发隐私应用程序的公司发送了一份说明,他们表示会对此进行调查.

privacy web-analytics

27
推荐指数
2
解决办法
487
查看次数

MySQL ON DUPLICATE KEY UPDATE,唯一键中的可空列

我们的MySQL网站分析数据库包含一个摘要表,该表在导入新活动时全天更新.我们使用ON DUPLICATE KEY UPDATE以便汇总覆盖先前的计算,但由于汇总表的UNIQUE KEY中的一列是可选的FK并且包含NULL值,因此很难.

这些NULL旨在表示"不存在,并且所有这些情况都是等效的".当然,MySQL通常将NULL视为"未知,所有这些情况都不等同".

基本结构如下:

"活动"表,其中包含每个会话的条目,每个条目都属于一个广告系列,其中包含某些条目的可选过滤器和事务ID.

CREATE TABLE `Activity` (
    `session_id` INTEGER AUTO_INCREMENT
    , `campaign_id` INTEGER NOT NULL
    , `filter_id` INTEGER DEFAULT NULL
    , `transaction_id` INTEGER DEFAULT NULL
    , PRIMARY KEY (`session_id`)
);
Run Code Online (Sandbox Code Playgroud)

"摘要"表,其中包含活动表中会话总数的每日汇总,d表示包含事务ID的会话总数.这些摘要是分开的,每个广告系列和(可选)过滤器的组合都有一个.这是一个使用MyISAM的非事务性表.

CREATE TABLE `Summary` (
    `day` DATE NOT NULL
    , `campaign_id` INTEGER NOT NULL
    , `filter_id` INTEGER DEFAULT NULL
    , `sessions` INTEGER UNSIGNED DEFAULT NULL
    , `transactions` INTEGER UNSIGNED DEFAULT NULL
    , UNIQUE KEY (`day`, `campaign_id`, `filter_id`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

实际的摘要查询类似于以下内容,计算会话数和事务数,然后按广告系列和(可选)过滤器进行分组.

INSERT INTO `Summary` 
    (`day`, `campaign_id`, …
Run Code Online (Sandbox Code Playgroud)

mysql nullable summarization

14
推荐指数
1
解决办法
8100
查看次数

如何获取呈现的HTML页面的屏幕截图

我们的网站分析软件包包含有关用户在页面中活动的详细信息,我们在网页顶部的叠加层中显示(单击/滚动/交互)可视化.目前,这是一个包含页面实时渲染的IFrame.

由于页面随时间变化,旧数据不再对应于页面的当前布局.我们想运行一个蜘蛛来偶尔拍摄页面的快照,这样我们就可以保持与各种版本页面交互的记录.

我们有一个工作实现(Linux),但快照过程是一个可怕的Python/JavaScript/HTML黑客,它打开一个Firefox窗口,截图和滚动,合并并保存到文件.这要求我们在通常的无头服务器上安装X堆栈,每页占用一分钟.

我们更喜欢无头实现,其性能接近于常规Web浏览器中的渲染时间,但没有找到任何东西.

有一些使用Mozilla源代码构建东西的动作,但这对我来说似乎有些过分,以及如果我们试图让它保持最新的维护噩梦.

建议?

html rendering

9
推荐指数
1
解决办法
3169
查看次数

在请求Cookie标头中发送的子域cookie,但在IE JavaScript的document.cookie中不存在

我有一个奇怪的问题,正在发送和接收的cookie,但Internet Explorer上的JavaScript无法访问.Chrome,Firefox,Opera和Safari JavaScript都可以.

  1. 发布到" http://wp.abc.example.com/content/sv2.cgi?id=1234 ",响应设置Cookie,问题302重定向:

    HTTP/1.0 302 Moved Temporarily
    Location: http://members.abc.example.com/abc/members/0912/07/news01.html
    Set-Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ;
    Set-Cookie: LEADENDDATE=20091218; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 浏览器请求目标页面,包括刚刚发送的cookie.

    GET /abc/members/0912/07/news01.html HTTP/1.1
    Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; LEADENDDATE=20091218;
    Host: members.abc.example.com
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行"javascript:alert(document.cookie);" 在浏览器地址栏中.

  4. 在IE和IE上,cookie不在那里.其他浏览器都很好.这适用于IE6,7和8.

总而言之,

"wp.abc.example.com"在"abc.example.com"上设置一个cookie,该cookie在"members.abc.example.com"的请求中发送给服务器,但在该页面上的JavaScript不可见.

为什么?

我想也许不是"abc.example.com",应该在".abc.example.com"上设置cookie以允许子域匹配,但即便如此,它也会在"members.abc.example.com"请求标头中发送.

基本上它就像在cookie上设置"HttpOnly"一样,即使从上面显示的Set-Cookie头部示例中,也不包括该标志.额外的";" 也许有一些影响?

javascript cookies cross-browser

5
推荐指数
1
解决办法
3643
查看次数