我在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
我正在使用带有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?
我在使用反引号使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)
为什么使用变量执行命令的第一个反引号实际上并不执行完整命令,而只返回第一个命令的输出和第二个命令?我错过了一些东西,以便获得第一个反复执行命令?
根据 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)