【问题标题】:How should I parse a POST request message's content in a Tomcat servlet我应该如何在 Tomcat servlet 中解析 POST 请求消息的内容
【发布时间】:2013-10-16 00:25:15
【问题描述】:

我正在尝试在 Tomcat 中开发一个 Java servlet 来处理发布请求,最终打算处理文件并将所述处理后的文件返回给客户端。根据我目前的搜索,我要处理的请求似乎被赋予了一种不寻常的格式。我可以提出替代方案,但我无法控制请求的设计,如下所示:

POST /api/0/actions/image HTTP/1.1
Host: <host>.com
Content-Length: <content-length>
Content-Type: multipart/form-data; boundary=<boundary>
Accept-Encoding: gzip, deflate, compress
Accept: */*
User-Agent: <user-agent>

--<boundary>
Content-Disposition: form-data; name="application"

{<authentication_info_as_JSON_object>}
--<boundary>
Content-Disposition: form-data; name="inputName"

<inputname>
--<boundary>
Content-Disposition: form-data; name="options"

{<options_as_JSON}
--<boundary>
Content-Disposition: form-data; name="input"; filename="<inputname>"
Content-Type: <content-type>

<file-binary>
--<boundary>--

我可以使用正则表达式和标准字符串处理方法将这个请求的内容解析为文本,重构我需要手动处理的 JSON 对象和文件。但这让我觉得这是一种容易出错且难以维护的方法。是否有开源工具可以帮助我以更结构化或更标准的方式处理此请求?

提前致谢。

【问题讨论】:

    标签: java json tomcat servlets httprequest


    【解决方案1】:

    这有什么不寻常的地方?

    使用Apache Commons' FileUpload 或等效项。

    如果您使用的是 Servlet 3.0 容器,则该容器已包含在内,例如 HttpServletRequest.getParts()

    【讨论】:

    • 与我的同事交谈并且在我自己寻找答案时缺乏结果,这让我相信我们对这些请求做了一些奇怪的事情。我想我只是没有找对地方。我不知道为什么,但我一直很难在 Tomcat API 中找到我需要的东西。这就是我在这里寻找的东西,所以谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    相关资源
    最近更新 更多