
인프런 강의 <<실전 JSP(renew ver.) 수강 후 공부를 위해 정리한 글입니다.
jsp와 servlet 은 같은 역할을 하는 다른 도구
JSP와 servlet 모두 dynamic web page(동적 웹페이지)를 만듦.
JSP로 VIEW부분을
서블릿으로 Controll 부분을 만듦.
servlet(서블릿)은 tomcat이 이해할 수 있는 순수 java 코드로만 작성 가능. 즉, 웹페이지를 만들 때 자바 코드 안에 HTML을 포함함으로써 웹 페이지를 동적으로 생성함.
그러나 JSP의 경우 HTML 안에 java 코드를 포함함. tomcat이 이해할 수 있는 순수 java 코드로 만들어져있지 않기에 servlet으로 변환이 필요


결론적으로, servlet의 경우
자바 코드 안에 html을 포함하였기에 코드 작성이 귀찮음
예시
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
out.print("");
out.print("");
out.print("");
out.print("");
out.print("<p>Hello Servlet!!");
out.print("");
out.print("");
}
즉, 밑의 html 구문을 표현하기 위해 html 태그로 "문자열" 처리해야하는 불편함 발생
"<p>Hello Servlet!!"

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Hello JSP World!</p>
</body>
</html>
그러나 jsp를 사용할 경우 위처럼 html구문 내 java를 사용하여 코드 작성 가능. --> 편리함
위에서 jsp는 나중에 서블릿으로 변환이 필요하다고 언급했었는데, 밑의 그림을 보며 이해 가능. 실제로 jsp 파일 작성 후 로컬 폴더를 확인하면 jsp, java, class 파일이 전부 생성되어 있음.

