我确信这个问题已经在其他地方得到了回答 - 但我不知道在哪里
我需要在我们的 wicket 网站上响应来自合作伙伴的 HTTP 请求。合作伙伴希望响应正文在出现错误时显示“OK”或其他任何内容
有没有一种“好”的方法来做到这一点? ...或者我是否会被困在向我的(以前的)漂亮的 Wicket 应用程序中添加 servlet?
最佳答案
您可以为此使用资源:
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");
}
关于servlets - Wicket 并使用 "not HTML"响应请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8054314/