【问题标题】:Spring MVC image or character generic controllerSpring MVC 图像或字符通用控制器
【发布时间】:2013-03-28 14:10:41
【问题描述】:

我想用一种或两种方法来实现一个通用控制器来响应任何 GET 请求。我试图将其简化到可以返回字节(图像等)或基于字符(XML、CSS)的程度,而无需映射每种内容类型并为每个内容类型放入 RequestMapping。

应用必须能够处理任何内容类型的任何请求。

我的调度程序当前设置为通过 / 处理所有请求。

到目前为止,我所做的几次尝试都会引发模棱两可的处理程序错误,或者映射不起作用;无法将文本作为 byte[] 或其他方式发送回。

有人做过这样的作品吗?

问候, 安迪

【问题讨论】:

  • 您可以在 Controller 中做任何您喜欢的事情,但根据您的解释,您可能只需要一个常规 servlet,因为您基本上是在描述一个没有真正使用任何 Spring 的 Controller MVC 功能。但是,您尝试做的任何代码示例都会有所帮助。

标签: spring http model-view-controller handler


【解决方案1】:

你可以有一个这样的控制器

@Controller
public class YourController {
    @RequestMapping("/*")
    public String doLogic(HttpServletRequest request, HttpServletResponse response) throws Exception {
        OutputStream out = response.getOutputStream();
        out.write(/* some bytes, eg. from an image*/); // write the response yourself

        return null; // this is telling spring that this method handled the response itself
    }
}

控制器映射到每个 url 和每个 http 方法。 Spring 为其处理程序方法提供了一组accepted return types。对于String,如果您返回null,Spring 会假定您已经自己处理了响应。

正如@NilsH 评论的那样,您最好为此使用一个简单的 servlet。

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多