JSP와 Servlet을 혼용하여 사용해야 하는 이유

728x90

JSP & Servlet

JSP와 Servlet을 배우면서 이해가 가지 않았던 점은, JSP에서 모든 작업을 다 수행할 수 있는데 왜 굳이 Servlet을 사용하여 작업을 분산하는 점이 제일 의문이었다.

 

두개의 기능은 똑같지만 역활이 달랐다.

 

  • Servlet같은 경우에는 자바의 문법을 사용해 사용자가 요청하고 입력한 값을 DB에 쉽게 저장할 수 있고 정적인 페이지를 동적으로 변경할 수 있다는 점인데 Servlet에 HTML의 코드를 쓰려면 일일이 out.println으로 적어줘야 하기 때문에 엄청난 노가다가 필요하다.
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html; charset = utf-8");
		PrintWriter out = response.getWriter();
		
//		갱장한 노가다, 컴파일러로 html흉내내기
		out.print("<!doctype.html>");
		out.print("<html>");
		out.print("<head>");
		out.print("<style>");
		out.print(" span { color:red; }");
		out.print("</style>");
		out.print("</head>");
		out.print("<body>");
		out.print("<span>HTML</span> Test");
		out.print("</body>");
		out.print("</html>");
	}
}

 

  • JSP는 HTML의 기능을 구현해주어 HTML의 코드 안에 자바의 문법을 끼워넣을 수 있지만, 너무나 다양한 코드들이 노출되어 있기 때문에 유지보수가 힘들어진다.

 

따라서! 두개를 적절히 활용하여 장점만 사용해 코드를 작성하면 유지보수가 쉬워지고 코드의 가독성이 좋아진다.

 

이런 작성 방법이 MVC 방법이다. (Model, View, Controller)

 

Controller, 즉 Servlet에서 데이터를 연산하고 출력해서 View, JSP에게 보내주면 사용자 요청한 정보를 웹사이트에 출력해줄 수 있다.

 

 

 

728x90