我想为POST请求创建一个可缓存的HTTP响应.
我的实际实现响应POST请求的以下内容:
HTTP/1.1 201 Created
Expires: Sat, 03 Oct 2020 15:33:00 GMT
Cache-Control: private,max-age=315360000,no-transform
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 9
ETag: 2120507660800737950
Last-Modified: Wed, 06 Oct 2010 15:33:00 GMT
.........
Run Code Online (Sandbox Code Playgroud)
但看起来浏览器(Safari,Firefox测试)并没有缓存响应.
在HTTP RFC中,相应的部分说:
除非响应包含适当的Cache-Control或Expires头字段,否则对此方法的响应不可缓存.但是,303(请参阅其他)响应可用于指示用户代理检索可缓存资源.
所以我认为它应该被缓存.我知道我可以设置一个会话变量并设置一个cookie并进行303重定向,但我想缓存POST请求的响应.
有没有办法做到这一点?
PS:我从简单开始200 OK,所以它不起作用.
谢谢,
这是我在Active Admin上破坏的第三天.
我有@survey这个has_many :questions和每个问题has_many :answers- 它们实际上是用户可以选择的变种.
但是我仍然不能把它付诸实践,它只是没有创建更深层次的1级:即使表单正常工作,但没有创建任何东西.
我正在用Flume收集日志到HDFS.对于测试用例,我有小文件(~300kB),因为日志收集过程是根据实际用途进行缩放的.
有没有简单的方法将这些小文件组合成更接近HDFS块大小(64MB)的较大文件?
我有一个方法需要一个Comparator参数.我想传递一个Comparator其中做了正常比较和一个反向,其确实在反向比较器.
java.util.Collections提供一个reverseOrder()这对反向比较有好处,但我找不到任何正常的Comparator.
我想到的唯一解决方案是Collections.reverseOrder(Collections.reverseOrder()).但我不喜欢它因为调用里面的双重方法.
当然我可以这样写NormalComparator:
public class NormalComparator<T extends Comparable> implements Comparator<T> {
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
Run Code Online (Sandbox Code Playgroud)
但我真的很惊讶Java没有开箱即用的解决方案.
根据Guice 的ThrowingProvider文档,我有以下界面:
public interface IConfigurableProvider<T> extends ThrowingProvider<T, ConfigException> {}
Run Code Online (Sandbox Code Playgroud)
我有多个实现此接口的类,假设我有以下内容:
public class SomethingProvider extends ConfiguredProvider implements IConfigurableProvider<Something> {}
Run Code Online (Sandbox Code Playgroud)
当然这个类实现了必要的方法:
public Something get() throws ConfigException { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
在我的模块中,我有以下代码 MyModule.java
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class);
Run Code Online (Sandbox Code Playgroud)
但是,当我启动我的应用程序时,产生以下错误:
6) No implementation for com.package.Something was bound.
while locating com.package.Something
for parameter 5 at com.package.OtherClass.<init>(OtherClass.java:78)
at com.package.MyModule.configure(MyModule.java:106)
Run Code Online (Sandbox Code Playgroud)
我真的不知道我应该从哪里开始寻找这个bug.
更新:即使我也设置了范围,它也会提供相同的错误:
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class)
.in(Singleton.class);
Run Code Online (Sandbox Code Playgroud) 这是我的对象文字:
var obj = {key1: value1};
Run Code Online (Sandbox Code Playgroud)
我该如何添加:
{key1: value1,value2,value3}
Run Code Online (Sandbox Code Playgroud)
对象?
SslConnector.java接口已在最新的Jetty 7.3.1.v20110307中更改.
几乎所有方法都被标记为已弃用,但未提及替换接口或要使用的方法.
我已经检查了jetty-users和jetty-dev邮件列表,但没有运气.
有没有人知道将来如何更改代码?
提前致谢!
需要你的帮助将java对象转换为json.当前json结果显示小写字母的所有键,我需要它是大写.
ObjectMapper mapper = new ObjectMapper();
Writer strWriter = new StringWriter();
mapper.writeValue(strWriter, obj);
String jsonString= strWriter.toString();
Run Code Online (Sandbox Code Playgroud)
结果是
[{"flags":"1","name":"Peter","location":"London","startDate":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
但我想要这样的结果(所有关键键值应该是大写的):
[{"FLAGS":"YU","NAME":"Peter","LOCATION":"London","STARTDATE":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
并且也可以这样(大写的关键第一个字母):
[{"Flags":"1","Name":"Peter","Location":"London","StartDate":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
谁可以帮我这个事.
提前致谢.
我有一个像这样的对象;
var defaults = {
id: 'ActionSlider',
element: '',
closeBtnWidth: 55,
panelWidth: 320,
class: '',
css: {},
create: function() {},
},
Run Code Online (Sandbox Code Playgroud)
当我在IE8标准中运行我的页面时,它给我以下错误;
SCRIPT1028:预期的标识符,字符串或数字
并指向该行:class:'',
任何人都可以告诉我为什么我不能用这个IE?这是一个保留的词还是什么?
java ×5
javascript ×2
object ×2
activeadmin ×1
browser ×1
caching ×1
collections ×1
comparable ×1
comparator ×1
deprecated ×1
flume ×1
guava ×1
guice ×1
hadoop ×1
hdfs ×1
http ×1
jackson ×1
jetty ×1
json ×1
nested-forms ×1
networking ×1
post ×1
provider ×1
ssl ×1
uppercase ×1