servlets - Wicket 并使用 "not HTML"响应请求

标签 servlets wicket

我确信这个问题已经在其他地方得到了回答 - 但我不知道在哪里

我需要在我们的 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/

相关文章:

java - 为什么Spring MVC会以404响应并报告“在DispatcherServlet中未找到带有URI […]的HTTP请求的映射”?

java - 每个 servlet 一个 Lettuce Redis 连接?

java servlet 解码 UTF-8 不起作用

java - Wicket IndexedParamUrlCodingStrategy : how to specify missing parameters?

java - 隐藏 Wicket WebMarkupContainer 将不起作用

java - Servlet - 关闭连接但不关闭方法

java - Servlet 和 AJAX 通信

eclipse - 如何开始使用 Wicket?

javascript - Wicket AjaxButton 和 javascript 条件

java - Wicket 口 : org. apache.wicket.markup.MarkupNotFoundException