3
响应我敢肯定,这已经回答了其他地方 - 但我不知道在哪里检票,并以“不HTML”的请求
我需要从一个合作伙伴来响应HTTP请求,在我们的网站检票口。合作伙伴期望答复机构在发生错误时说“OK”或其他任何内容
有没有一种“很好”的方式来做到这一点? ...或者我会坚持添加一个servlet到我的(以前)漂亮的Wicket应用程序?
响应我敢肯定,这已经回答了其他地方 - 但我不知道在哪里检票,并以“不HTML”的请求
我需要从一个合作伙伴来响应HTTP请求,在我们的网站检票口。合作伙伴期望答复机构在发生错误时说“OK”或其他任何内容
有没有一种“很好”的方式来做到这一点? ...或者我会坚持添加一个servlet到我的(以前)漂亮的Wicket应用程序?
您可以使用的资源为:
class OkResource implements IResource {
@Override
public void respond(Attributes attributes) {
WebResponse resp = (WebResponse) attributes.getResponse();
resp.setContentType("text/plain");
resp.write("OK");
}
}
而在你的应用程序类
@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");
}
谢谢!我会尝试 ...什么是IResource在Wicket 1.4中的等效物? – pal
'资源'。另外,不是直接对输出做出响应,而是必须返回一个实现它的IResourceStream实现。 – tetsuo