在jsp文件中将Content-Type设置为application/json

Jul*_*ias 36 java jsp content-type http http-headers

我创建了一些jsp文件,作为响应返回一些json字符串.但我发现Content-Type自动设置为txt

我的jsp代码看起来像

<%@ page import="java.util.Random" %>
<%@ page language="java" %>
<%@ page session="false" %>

<%
  String retVal = "// some json string";

     int millis = new Random().nextInt(1000);
     //    System.out.println("sleeping for " + millis + " millis");
     Thread.sleep(millis);
%>
<%=retVal%>
Run Code Online (Sandbox Code Playgroud)

我怎样才能表现出类似的东西

setHeader("Content-Type", "application/json");
Run Code Online (Sandbox Code Playgroud)

在这个例子中?

Pau*_*Wee 67

你可以通过Page指令来完成.

例如:

<%@ page language="java" contentType="application/json; charset=UTF-8"
    pageEncoding="UTF-8"%>
Run Code Online (Sandbox Code Playgroud)
  • contentType ="mimeType [; charset = characterSet]"| "text/html的;字符集= ISO-8859-1"

JSP文件的MIME类型和字符编码用于它发送给客户端的响应.您可以使用对JSP容器有效的任何MIME类型或字符集.默认MIME类型为text/html,默认字符集为ISO-8859-1.


Pet*_*sik 12

尝试这段代码,它也应该工作

<%
    //response.setContentType("Content-Type", "application/json"); // this will fail compilation
    response.setContentType("application/json"); //fixed
%>
Run Code Online (Sandbox Code Playgroud)