小编Jon*_*ust的帖子

为什么Internet Explorer在失败后不会在Ajax调用上发送HTTP post body?

我们能够可靠地重新创建以下场景:

  1. 创建一个小的HTML页面,向服务器发出AJAX请求(使用HTTP POST)
  2. 断开网络连接并重新连接
  3. 监视IE失败后生成的数据包

在网络连接失败后,IE会发出下一个AJAX请求,但在执行HTTP发布时只发送HTTP标头(而不是正文).这会导致服务器上出现各种问题,因为它只是部分请求.谷歌与Bing的这个问题,你会发现很多人抱怨使用AJAX或无法解释的AJAX失败的"随机服务器错误".

我们知道IE(与大多数其他浏览器不同)总是将HTTP POST作为TWO TCP/IP数据包发送.标题和正文是分开发送的.在故障发生后的情况下,IE仅发送标头.

所以我的问题是 - 它为什么会这样?基于HTTP规范似乎是错误的,其他浏览器不会这样做.这只是一个错误吗?当然,这会在任何严肃的基于AJAX的Web应用程序中造成严重破坏.

参考信息:

由HTTP保持活动超时触发的类似问题短于1分钟,并在此处记录:

http://us.generation-nt.com/xmlhttprequest-post-sometimes-fails-when-server-using-keep-aliv-help-188813541.html

http://support.microsoft.com/default.aspx?kbid=831167

以下是故障包捕获之前和之后:

请注意如何发送HTTP标头和Payload http://img827.imageshack.us/i/beforee.png/

失败后,请注意如何仅发送标头.IE 从不发送有效负载,服务器最终会以超时响应. http://img203.imageshack.us/i/retryt.png/

javascript ajax internet-explorer

113
推荐指数
2
解决办法
5万
查看次数

如何运行Java .class文件?

我编译了一个HelloWorld程序,我正在使用命令提示符来运行它..class文件名为HelloWorld2.class

该文件位于C:\ Users\Matt\workspace\HelloWorld2\bin这是我在进入命令提示符时输入的内容,并输入"Java HelloWorld2":

C:\Users\Matt>Java HelloWorld2
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld2
Caused by: java.lang.ClassNotFoundException: HelloWorld2
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloWorld2.  Program will exit.
Run Code Online (Sandbox Code Playgroud)

我期待看到一个HelloWorld打印出来.我究竟做错了什么?我安装了JDK.

java compilation

63
推荐指数
2
解决办法
17万
查看次数

如何为Android开发增强现实应用程序

我想在HTC Nexus One手机上使用Flash Professional CS5和Adobe AIR 2.5在Android上开发增强现实应用程序.

我发现了几个在线资源,展示了如何使用网络摄像头和Flash开发AR应用程序,我发现跟踪和理解AR的基础非常有用.

例如:

  1. 使用网络摄像头和Flash的增强现实
    http://www.adobe.com/devnet/flash/articles/augmented_reality.html

  2. 增强现实简介 http://www.gotoandlearn.com/play.php?id=105

我还从gotoandlearn网站上观看了有关AIR for Android Applications的其他视频,我做了所有成功,例如:

  1. 适用于Android的Air - 第1部分
  2. 适用于Android的Air - 第2部分
  3. 发布AIR for Android应用程序
  4. AIR for Android GPU加速
  5. 增强现实简介

但是,我没有设法让它在我的Android手机上运行(什么也不做,运行速度很慢).

我想就以下问题提几点问题:

1)要在android上开发增强现实应用程序,是否使用与上面相同的方法完成?

2)我是否需要使用除视频和adobe air 2.5上显示的软件之外的任何其他软件?

3)您是否知道任何其他相关的资料/阅读材料并可能有所帮助?

谢谢

air android augmented-reality flash-cs5

28
推荐指数
2
解决办法
7万
查看次数

带有超类参数的Java getMethod方法

鉴于:

class A
{
    public void m(List l) { ... }
}
Run Code Online (Sandbox Code Playgroud)

假设我想m用反射调用方法,将ArrayList作为参数传递给m:

List myList = new ArrayList();
A a = new A();
Method method = A.class.getMethod("m", new Class[] { myList.getClass() });
method.invoke(a, Object[] { myList });
Run Code Online (Sandbox Code Playgroud)

getMethod3行将抛出,NoSuchMethodException因为myList的运行时类型是ArrayList,而不是List.

有没有一个很好的通用方法,不需要知道A类的参数类型?

java reflection

17
推荐指数
1
解决办法
1万
查看次数

在Git中跨分支共享文件

我的项目中有一堆文件有时被修改但总是在许多不同的分支之间共享.示例包括构建脚本,包含路径的批处理文件等.甚至.gitignore文件本身也是一个示例.

我想在源代码管理中使用这些东西,但我不希望各个分支跟踪它们的变化.

你是如何处理这种情况的?

你在Git中跟踪与你的项目有关的一切吗?你对共享对象有什么看法?

.gitignore是我唯一的选择吗?

git version-control branch git-branch

17
推荐指数
2
解决办法
3407
查看次数

在Java中,静态方法内部声明的变量本身是静态的吗?

假设如下:

private static boolean A()
{
  int parsedUntil = 0;
  ...
  ...
  ...
}

parsedUntil被认为是一个静态变量吗?我注意到我不能在这个静态函数中声明它是静态的.

后续问题:我读到静态变量只会被初始化一次.这是否意味着我第一次调用函数A()时该值将被设置为零,但每隔一次我调用A(),该行被省略?

java static

16
推荐指数
3
解决办法
2万
查看次数

什么是来自.net的java等效的AggregateException?

在.net中,AggregateException类允许您抛出包含多个异常的异常.

例如,如果并行运行多个任务,并且其中一些任务因异常而失败,则您希望抛出AggregateException.

java有一个等价的类吗?

具体案例我想用它:

public static void runMultipleThenJoin(Runnable... jobs) {
    final List<Exception> errors = new Vector<Exception>();
    try {
        //create exception-handling thread jobs for each job
        List<Thread> threads = new ArrayList<Thread>();
        for (final Runnable job : jobs)
            threads.add(new Thread(new Runnable() {public void run() {
                try {
                    job.run();
                } catch (Exception ex) {
                    errors.add(ex);
                }
            }}));

        //start all
        for (Thread t : threads)
            t.start();

        //join all
        for (Thread t : threads)
            t.join();            
    } catch (InterruptedException ex) {
        //no way to recover from …
Run Code Online (Sandbox Code Playgroud)

.net java exception-handling exception

15
推荐指数
2
解决办法
3569
查看次数

为什么我看到前缀为$的JavaScript变量?

这是一个元问题.我在SO上看到的许多JavaScript代码片段都以美元符号前缀命名(例如,$id问题中显示的代码片段的第二行).我不是指jQuery或其他库.我很清楚这是有效的,但在没有必要的情况下做起来似乎很尴尬.为什么人们会像这样命名他们的变量?它是否只是熟悉PHP等服务器端语言并将其转换为JavaScript代码?

我想也许是将变量标识为jQuery对象,例如当您将选择的结果保存到变量以便稍后消除重复选择时,但我没有看到任何一致的约定.

javascript naming-conventions

13
推荐指数
1
解决办法
2426
查看次数

使用鼠标单击时,Eclipse对话框打开两次

在过去的两周内,Eclipse开始表现得很奇怪.不知道发生了什么变化,虽然我确实安装了JDK和JRE 7u21.

任何对话框(搜索,Eclipse关于,切换工作区等)我通过用鼠标单击菜单项打开两次.一个对话框直接显示在另一个对话框后 - 当你完成一个对话框并点击Ok或Close时,还有另一个对话框在它后面等待.如果将第一个拖动到侧面,则另一个相同的对话框就在它后面.

有时,两个对话框打开的事实会破坏一个或两个对话框的内容或功能.例如,搜索对话框中的文件过滤器对于两个弹出窗口中的一个可能是空白的,并且两个搜索窗口都不起作用.

如果使用键盘快捷键打开相同的对话框(单击"搜索"菜单,按键盘上的F键打开"文件搜索"对话框),则只显示一个对话框.以这种方式打开的对话框没有任何功能问题.

没有其他程序表现出这种行为.

为什么会发生这种情况,如何让它停止?

我搜索了谷歌,没有发现任何线索.

以下是我尝试过的事情:

  • 我使用的是Eclipse 3.8 SR2.我尝试创建一个新工作区.干净的工作区中的行为相同.
  • 我尝试使用-clean选项启动Eclipse.启动需要更长时间,但对话行为没有变化.
  • 我解压缩了Eclipse 3.8 SR2的旧版本,并尝试了Eclipse系统的干净副本.相同的行为.
  • 我下载并切换到Eclipse 4.2 SR2.开始新的工作区.相同的行为.
  • 我拔掉了我的USB鼠标并尝试单独使用笔记本电脑触摸板.相同的行为.
  • 我已经检查了workspace\.metadata\.log,但是没有相关的条目.

java eclipse environment mouse windows-7

10
推荐指数
1
解决办法
2413
查看次数

Java布尔包装器类如何实例化?

在java中,我可以编写这样的代码

Boolean b = true ;
Run Code Online (Sandbox Code Playgroud)

它会奏效.我现在有一个保持值为"true"的对象.

这是如何运作的?为什么我不必通过构造函数传递值?像这样:

Boolean b = new Boolean( true ) ;
Run Code Online (Sandbox Code Playgroud)

另外,我可以制作可以以类似方式实例化的自定义类吗?如果是这样的话叫什么?

这样我就可以这样做:

Foobar foobar = "Test" ; 
Run Code Online (Sandbox Code Playgroud)

因此有我自己的包装类.

谢谢

java autoboxing instantiation

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