๐ณ HTTP ์๋ต ๋ฐ์ดํฐ

- ๋จ์ ํ
์คํธ ์๋ต
- writer.println("ok");
- HTML ์๋ต
- HTTP API - MessageBody JSON ์๋ต
๐ฟ HTML ์๋ต
@WebServlet(name = "responseHtmlServlet", urlPatterns = "/response-html")
public class ResponseHtmlServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Content-Type: text/html;charset=utf-8
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<body>");
writer.println(" <div>์๋
?</div>");
writer.println("</body>");
writer.println("</html>");
}
}
- HTTP ์๋ต์ผ๋ก HTML์ ๋ฐํํ๋ ค๋ฉด content-type์ text/html๋ก ์ง์ ํด์ผ ํ๋ค.
๐ฟ API JSON
/**
* http://localhost:8080/response-json
*
*/
@WebServlet(name = "responseJsonServlet", urlPatterns = "/response-json")
public class ResponseJsonServlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Content-Type: application/json
response.setHeader("content-type", "application/json");
response.setCharacterEncoding("utf-8");
HelloData data = new HelloData();
data.setUsername("kim");
data.setAge(20);
//{"username":"kim","age":20}
String result = objectMapper.writeValueAsString(data);
response.getWriter().write(result);
}
}
- HTTP ์๋ต์ ํ ๋ JSON์ ๋ฐํํ ๋ ค๋ฉด content-type์ application/json์ผ๋ก ์ง์ ํ์.
- Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ objectMapper.writeValueAsString() ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด๋ฅผ JSON๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
<๊น์ํ - '์คํ๋ง MVC 1ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํต์ฌ ๊ธฐ์ '์ ์ฐธ๊ณ ํ์์ต๋๋ค.>
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [spring] JSP๋ก ํ์ ๊ด๋ฆฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค์ด๋ณด๊ธฐ (0) | 2023.03.03 |
|---|---|
| [spring] ์๋ธ๋ฆฟ, ์๋ฐ ์ฝ๋๋ง์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค์ด๋ณด๊ธฐ (0) | 2023.03.01 |
| [spring] HttpServletResponse (0) | 2023.02.23 |
| [spring] HTTP ์์ฒญ ๋ฐ์ดํฐ (0) | 2023.02.22 |
| [spring] HttpServletRequest (0) | 2023.02.21 |