ブラウザへの応答がどのように機能するかを理解したい。例として、jersey は、アノテーション @Produces によって定義された最も受け入れ可能なメディア タイプでリクエストに応答すると述べています。
@GET
@Produces({"application/xml", "application/json"})
public String doGetAsXmlOrJson() {
...
}
上記の場合、最も受け入れられるタイプは「application/xml」です。ええと...このメディアタイプの場合、サーブレットで行います:
response.setContentType("application/xml");
PrintWriter out = response.getWriter();
out.println("<root><x>1</x></root>");
ポイントは、上記の最後の行で行ったように、メディアの種類に応じて応答をフォーマットする必要があるということです。
ブラウザが「application/xml」をサポートしていないと仮定して、2番目に許容されるタイプであるHttpServletResponseを使用してフォーマットする方法を知りたいです。この状況では、「application/json」を選択する必要があります。