小编ben*_*enw的帖子

Java Servlet API 2.5 Cookie.getDomain()始终返回null

我在Tomcat上使用Servlet API 2.5的Cookie类时遇到问题.我从HttpServletRequest对象中提取cookie列表并迭代它们,如下所示:

Cookie[] cookies = request.getCookies();

for(Cookie cookie : cookies) {
    System.out.println("Name=" + cookie.getName() + " Domain=" + cookie.getDomain());
}
Run Code Online (Sandbox Code Playgroud)

但是,对于请求中的每个cookie,Domain为null.为什么是这样?我问的原因是因为我在两个不同的域中有一个同名的cookie,我希望能够根据域来区分它们.为了帮助澄清这种情况,我的同名cookie被设置在.anydomain.net和.subdomain.anydomain.net中.两者都在请求中发送,但域到达servlet时为null.servlet无法看到发送给它的cookie域的预期行为吗?

编辑:我在之前的servlet请求中设置了cookie以及域,过期和路径.使用这些cookie进入浏览器的下一个请求将域显示为null.我已经验证了Cookie是在浏览器中的正确域中设置的.

编辑2:我正在使用Tomcat 6

java cookies tomcat servlets

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

用于特定URL模式的Apache mod-proxy ProxyErrorOverride

我正在使用带有mod-proxy的Apache 2.2,并且我已经使用几个ProxyPass语句对其进行了配置,以便从远程URL代理到本地URL.我需要从Apache返回这些代理URL的自定义错误文档,因此我在我的mod-proxy配置中设置了"ProxyErrorOverride On"以及一些ErrorDocument指令(使用本地URL路径)来返回一些HTTP状态代码的自定义错误页面利益.但是,如果返回的状态代码我没有为其创建ErrorDocument指令,则Apache会使用默认错误页面替换响应正文,而不是保留原始响应正文.这不适用于该应用程序.所以我真的有两个问题:

1)如果我没有为它定义ErrorDocument覆盖,是否可以配置Apache以保留原始响应体的特定状态代码?

2)是否可以将ProxyErrorOverride指令仅应用于我的ProxyPass语句中的某些URL?

apache mod-proxy

12
推荐指数
1
解决办法
7281
查看次数

有关shellcript反引号的问题

我在使用反引号使shellcript工作时遇到问题.这是我遇到问题的脚本的示例版本:

#!/bin/sh

ECHO_TEXT="Echo this"
ECHO_CMD="echo ${ECHO_TEXT} | awk -F' ' '{print \$1}'"

result=`${ECHO_CMD}`;
echo $result;

result=`echo ${ECHO_TEXT} | awk -F' ' '{print \$1}'`;
echo $result;
Run Code Online (Sandbox Code Playgroud)

该脚本的输出是:

sh-3.2$ ./test.sh 
Echo this | awk -F' ' '{print $1}'
Echo
Run Code Online (Sandbox Code Playgroud)

为什么使用变量执行命令的第一个反引号实际上并不执行完整命令,而只返回第一个命令的输出和第二个命令?我错过了一些东西,以便获得第一个反复执行命令?

shell backticks

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

夏令时 plusHours 和 plusDays 之间的 JodaTime 差异

根据 JodaTime Javadoc,在向日期添加时间时,plusHours 和 plusDays 都处理 DST 调整。但是,从我的测试来看,添加几天的小时数与添加 1 天的时间会产生不同的结果。有人可以向我解释为什么下面的代码会给出下面的输出吗?

代码:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = format.parse("2014-11-01T02:00:00.000-0700");

System.out.println("origDate:  " + date);
System.out.println("plusDays:  " + new DateTime(date).plusDays(1).toDate());
System.out.println("plusHours: " + new DateTime(date).plusHours(24).toDate());
Run Code Online (Sandbox Code Playgroud)

输出:

origDate:  Sat Nov 01 02:00:00 PDT 2014
plusDays:  Sun Nov 02 02:00:00 PST 2014
plusHours: Sun Nov 02 01:00:00 PST 2014
Run Code Online (Sandbox Code Playgroud)

java jodatime dst

3
推荐指数
1
解决办法
931
查看次数

标签 统计

java ×2

apache ×1

backticks ×1

cookies ×1

dst ×1

jodatime ×1

mod-proxy ×1

servlets ×1

shell ×1

tomcat ×1