JSP & Servlet

2020 jsp(java server page) & servlet(ServerApplicationLet) 8.서블릿 출력 형식을 지정해야 하는 이유

Jungsoomin :) 2020. 6. 27. 02:25
@WebServlet("/hello")
public class Nana extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		for (int i = 0; i < 100; i++) {
			out.println((i + 1) + " : Hello Servlet!!");
		}
	}

 

결과를 보자.

 

크롬이 정상적으로 보이지만, 사실 정상적인것은 Edge 이다.

브라우저의 웹문서로 인식하기 때문에 절대로 내려쓰기로 보여질 수가 없는 것이다.

html 마크업 언어로 렌더링이 됨으로 <br> 태그를 포함해야한다.


@WebServlet("/hello")
public class Nana extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		for (int i = 0; i < 100; i++) {
			out.println((i + 1) + " : Hello Servlet!! <br>");
		}
	}

다시 한번 실행 해보자.

 

 

크롬에서는 <br> 태그가 그대로 출력되어 버린다.

이유가 무엇일까??  문제는 즉 브라우저의 자의적인 해석 때문이다. 
크롬은 text로 해석하고 엣지는 html로 해석한 것이다.




그렇기에 클라이언트에게 내용을 보낼 때에는 내용이 어떠한 형식의 문서인지 밝혀주는 것이 아주 중요하다고 할 수 있다.