问题标签 [jdk1.6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
glassfish - GlassFish v3 JSESSIONID 多个子域和 TLD
我们正在构建一个 Web 应用程序来服务多个区域网站 TLD。此外,Web 应用程序还支持数以千计的动态子域。示例包括:
虽然我们可以理解不同的域 TLD 会导致新会话,但上述后两个示例开始出现问题,这也会导致新会话实例。例如,如果用户:
- 转到:www.example.co.uk 创建一个新会话,然后...
- 点击链接:fred123.example.co.uk 创建一个新会话,然后...
- 点击一个链接:sam99.example.co.uk 一个新的会话被创建...
3 次点击 ==>> 3 次会议!!!!
问题似乎是由于 GlassFish v3 自动将 JSESSIONID 的域设置为主机请求的 FQDN。
需要的是至少将主机名部分从域值中剥离,以具有如下域值:
有谁知道如何实现这一点。我发现了以下问答,但在我们的案例中,子域 TLD 并不完全匹配:
因此,静态配置 sun-web.xml 或使用 Servlet 3.0 解决方案的解决方案似乎没有帮助。此外,创建过滤器响应包装器也不起作用,因为 JSESSIONID cookie 是在应用程序服务器的较低级别分配的,并且不会暴露给 Web 应用程序以进行拦截。
我认为我仅有的另外两个选择是:
a) 修补将 JSESSIONID cookie 域值设置为 FQDN 的 GlassFish v3 代码,以便发生一些剥离或
b) 在 Sun Web Server 7.0 反向代理层中做一些事情,我们必须重写 set-cookie 标头中返回的 JSESSIONID cookie 域值,但是我无法找到有关如何执行此操作的示例
任何人都可以帮助解决这个问题吗?任何线索/帮助将不胜感激!
java - 如何在使用不同 jdk 版本的两方之间实现兼容性
我的项目是在 1.4.2 JDK 中构建的。现在它将与第三方 jar 交互,内置 JDK 1.6
我在使用客户端类时遇到了兼容性问题。是否可以在不将我的 JDK 升级到 1.6 或在 1.4.2 中重建第三方 jar 的情况下解决它
java - 我必须安装jdk win64吗?
我已经安装了 Windows 7 x64,因此我对是否必须安装 JDK x64 或 JDK x86 感到困惑?请帮助我,谢谢
javascript - Java 6 是否包含可以运行 javax.script (Rhino JS) 文件的程序?
我发现 Java 6 包括 Rhino JS(除了一两个小部分),如javax.script
. 很酷!
Java 6 安装(JRE 或 JDK 中的任何一个)是否包含我可以简单地指向要运行的 .js 文件的二进制文件?(我认为能够提供源代码供其他人阅读和运行,无需编译,并且只需要安装 Java,这将是很棒的。)或者我必须构建文档中的8 行小程序吗?
java - 如何在 1.6 中禁用 JTable 中的所有排序代码
我有一个自 Java 1.3/1.4 以来在项目中一直在使用的 JTable 扩展,它通过单击列来提供列重新排序和排序等内容。我们正在升级到 Java 1.6,新的 JTable 使旧的排序代码停止工作。将所有内容都适应新的 JTable API 将需要大量的返工。在那之前有没有办法完全禁用 JTable 中的这些添加?
编辑:经过进一步调查,问题集中在标题上的鼠标事件在 1.6 中被 Swing 吞噬,并且没有传递给表实现,即使它设置了自己的标题。对于自吹自擂的 Java 向后兼容性来说就这么多。
那么有没有办法让 JTable 1.6 停止呢?我一直没办法。即使覆盖表格和表格标题上的 UI 也无济于事。
jvm - 原始包装器实例化是否会导致 JDK 1.6 中的内存分配
来自 PMD:
IntegerInstantiation:在 JDK 1.5 中,调用 new Integer() 会导致内存分配。Integer.valueOf() 对内存更友好。
ByteInstantiation:在 JDK 1.5 中,调用 new Byte() 会导致内存分配。Byte.valueOf() 对内存更友好。
ShortInstantiation:在 JDK 1.5 中,调用 new Short() 会导致内存分配。Short.valueOf() 对内存更友好。
LongInstantiation:在 JDK 1.5 中,调用 new Long() 会导致内存分配。Long.valueOf() 对内存更友好。
这同样适用于 JDK 1.6 吗?我只是想知道编译器或 jvm 是否将其优化为各自的valueof
方法。
java - 编译基本 Hello World 程序时抛出 ClassNotFoundException
我只是想编译和运行一个非常简单的测试程序,但它根本不起作用,我不知道问题是什么。
我有一个 java 项目一直堆在我身上,我对 java 知之甚少。特别是从 Windows 命令行编译。
我有两个罐子,我需要用它们来编译一个简单的“hello world”程序。
这是我的“build.bat”
然后我:
这会吐出错误:
线程“主”java.lang.NoClassDefFoundError 中的异常:示例原因:java.lang.ClassNotFoundException:java.net.URLClassLoader$1.run(URLClassLoader.java:202) 处的示例 java.security.AccessController.doPrivileged(Native Method在 java.net.URLClassLoader.findClass(URLClassLoader.java:190 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: 在 java.lang.ClassLoader .loadClass(ClassLoader.java:248)
无论我如何设置我的类路径,我都无法让这个 HELLO WORLD 程序运行。
有人可以帮我吗?我正在拔头发。
network-programming - HttpURLConnection 实现
我读过 HttpURLConnection 支持持久连接,因此一个连接可以重复用于多个请求。我试过了,发送第二个 POST 的唯一方法是第二次调用 openConnection。否则我得到一个 IllegalStateException("Already connected"); 我使用了以下内容:
第二个请求是通过同一个 TCP 连接发送的(使用wireshark 验证),但我不明白为什么(尽管这是我想要的),因为我已经调用了断开连接。我检查了 HttpURLConnection 的源代码,并且该实现确实保留了到相同目的地的连接的保活缓存。我的问题是,在我发送第一个请求后,我看不到连接是如何放回缓存中的。断开连接关闭连接并且没有断开连接,我仍然看不到连接是如何放回缓存中的。我看到缓存有一个运行方法来遍历所有空闲连接(我不确定它是如何调用的),但我找不到连接是如何放回缓存中的。似乎发生的唯一地方是在 httpClient 的完成方法中,但这不是为带有响应的 POST 调用的。谁可以帮我这个事?
编辑 我的兴趣是,正确处理 HttpUrlConnection 对象以重用 tcp 连接的方法是什么。应该关闭输入/输出流,然后是 url.openConnection(); 每次发送新请求(避免断开())?如果是的话,当我第二次调用 url.openConnection() 时,我看不到连接是如何被重用的,因为第一次请求的连接已经从缓存中删除并且找不到它是如何返回的。连接是否有可能没有返回到keepalive缓存(错误?),但操作系统尚未释放tcp连接并且在新连接上,操作系统返回缓冲连接(尚未释放)或类似的东西? EDIT2 我发现的唯一相关来自JDK_KeepAlive
...当应用程序对 URLConnection.getInputStream() 返回的 InputStream 调用 close() 时,JDK 的 HTTP 协议处理程序将尝试清理连接,如果成功,则将连接放入连接缓存以供将来的 HTTP 请求重用.
但我不确定这是哪个处理程序。sun.net.www.protocol.http.Handler 没有做任何缓存,因为我看到了谢谢!
gwt - GWT2.0.3 和 JDK1.6.0_21 不工作
只是为了通知 GWT 开发人员,GWT 2.0.3 和 2.0.4 不适用于带有 JDK 1.6.0_20 的 Intellij。
为什么是这样?没有错误,没有什么,只是在战争中没有 gwt 的输出。
我认为甲骨文又做了坏事。
java - JDK 1.6 中的 @override 注释
我正在使用JDK1.6。当我实现一个接口并在实现类中,如果我@override
在我的函数名之前给出,Eclipse 会抛出一个编译错误。即根据Eclipse,下面的代码是错误的。
如果我删除@Override
注释,那么代码编译得很好。是不是说JDK1.6不再要求我们给@override
注解加前缀了?