我确信这已在其他地方得到解答 - 但我不知道在哪里
我需要在我们的wicket网站上回复来自合作伙伴的HTTP请求。合作伙伴希望响应机构在出现错误时说“OK”或其他任何内容
这样做有“好”的方法吗? ...或者我是否会被困在我的(以前)漂亮的Wicket应用程序中添加一个servlet?
答案 0 :(得分:7)
您可以使用以下资源:
class OkResource implements IResource {
@Override
public void respond(Attributes attributes) {
WebResponse resp = (WebResponse) attributes.getResponse();
resp.setContentType("text/plain");
resp.write("OK");
}
}
并在您的Application类中注册
@Override
protected void init() {
super.init();
getSharedResources().add("confirm", new OkResource());
mountResource("confirm", new SharedResourceReference("confirm"));
}
以便可以通过http://host/app/confirm
。
请注意,在这里您注册了一个资源实例,因此它必须是线程安全的,因为多个请求可以同时调用它。
<强> [编辑] 强> 在Wicket 1.4中:
class OkResource extends Resource {
@Override
public IResourceStream getResourceStream() {
return new StringResourceStream("ok", "text/plain");
}
}
@Override
protected void init() {
super.init();
getSharedResources().add("confirm", new OkResource());
mountSharedResource("confirm", "confirm");
}