小编gre*_*law的帖子

Java Servlets - 在web.xml中存储值列表(单个param-name的多个param-value)

我正在创建一个需要加载配置信息的servlet.我需要的部分配置信息是字符串列表(具体来说,是主机名和/或URL列表).

我希望将这些信息存储在我的servlet的web.xml文件中(所以我不必编写自己的解析器)作为context-param或init-param; 基本上是单个param-name的多个param-value.

我想要的例子:

<context-param>
    <param-name>validHosts</param-name>
    <param-value>example1.com</param-value>
    <param-value>example2.com</param-value>
    <param-value>example3.com</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

我最初的研究似乎表明这是不可能的 - 对于任何param-name(在context-param或init-param中)只能有一个param值.

我知道我可以在一个param-value中使用分隔列表,但如果我还想使用web.xml,这真的是我唯一的选择吗?我应该停止抱怨并编写自己的配置文件解析器吗?

java web.xml servlets web-applications

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

subprocess.check_output与subprocess.call的性能

我已经使用subprocess.check_output()了一段时间来捕获子进程的输出,但在某些情况下遇到了一些性能问题.我在RHEL6机器上运行它.

调用Python环境是linux编译的64位.我正在执行的子进程是一个shell脚本,最终通过Wine触发Windows python.exe进程(为什么这个愚蠢是另一个故事).作为shell脚本的输入,我在一小段Python代码中输入了传递给python.exe的代码.

虽然系统处于中等/重负载(CPU利用率为40%到70%),但我注意到subprocess.check_output(cmd, shell=True)在check_output命令返回之前,子进程完成执行后,使用会导致显着延迟(最多约45秒).ps -efH在此期间查看输出显示被调用的子进程sh <defunct>,直到它最终返回正常的零退出状态.

相反,使用subprocess.call(cmd, shell=True)在相同的中/重负载下运行相同的命令将导致子进程立即返回而没有延迟,所有输出都打印到STDOUT/STDERR(而不是从函数调用返回).

为什么只有在check_output()将STDOUT/STDERR输出重定向到其返回值时才有这么大的延迟,而不是call()只是将它打印回父代的STDOUT/STDERR?

python linux subprocess wine

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

使用 JavaScript 覆盖客户端的缓存控制标头?

客户端是否可以使用 JavaScript 覆盖和/或忽略动态加载内容(例如异步加载的图像)的 HTTP Cache-Control 标头?

我的基于 JavaScript 的 GIS 应用程序从外部服务器动态请求图像,该服务器发送以下标头及其响应:

Cache-Control:max-age=0,must-revalidate
Run Code Online (Sandbox Code Playgroud)

这会导致浏览器发送对相同图像的重复请求(以及 If-None-Match 请求标头),这总是导致 HTTP 304 Not Modified 响应,因此无论如何都会使用缓存,但只会在延迟之后使用。

我已经知道图像没有改变,但我无法控制服务器发送的缓存控制标头,所以我想在显示图像时强制使用本地浏览器缓存,而不必先重新验证服务器。

是否可以在客户端更改此设置?

javascript caching cache-control browser-cache

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