2019. 2. 22. 18:28ㆍJAVA Back-End
JSP 등장 배경
* 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script) 엔진을 발표함 (1998년)
* 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편함
* ASP에 대항하기 위하여 1999년 썬마이크로시스템즈에서 JSP를 발표
* JSP는 실제로 서블릿 기술을 사용
JSP(Java Server Pages)란?
JSP는 HTML내에 JAVA 코드를 삽입해서 웹 서버에서 동적으로 생성한 후 웹 브라우저에 돌려주는 언어입니다(Server-Side Language) 즉, JAVA를 기반으로하는 서버 사이드 스크립트 언어입니다.
* 서버 사이드 스크립트 : 스크립트는 컴파일과 달리 실시간의 해석되는 특징이다. 서버의 특정 기능 호출 시 서버 내에서 동작되는 언어들 ex) PHP, ASP, Node.js , JSP 등등
JSP파일은(.jsp) HTML ,CSS, img같은 정적 파일과 마찬가지로 WebContent에 만들어 사용합니다.
JSP(Java Server Page)는 Servlet과 기능적인 부분은 똑같다고 볼 수 있습니다. 하는 일은 같지만 역할의 차이가 있습니다.
JAVA 서버는 JSP코드를 컴파일해서 Servlet소스 코드로 변환합니다. 네 서블릿으로 컴파일되어 작동합니다. 그럼 왜 JSP를 사용합니까?!
앞서 HTML내에 JAVA 코드를 삽입한다고 했습니다.
기존에는
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();out.print("<h1>Hello servlet! 10까지 출력</h1>");for(int i=0; i<10; i++) {out.println(i+"<br>");}out.close();}
out.print()로 HTML코드를 삽입했는데, HTML코드가 엄청나게 많아지면... 감당하실 수 있겠습니까?? HTML태그 한 줄 추가할 때마다 print()를 작성해야하는데...
JSP를 사용하면 HTML코드를 그대로 사용하고 표현식(<% %>)안에 자바 코드를 그대로 넣어서 사용할 수 있습니다.
결론은, JSP와 Servlet을 적절히 잘 사용하는 게 좋습니다. HTML이 많이 추가되는 페이지(View / Client)에서는 JSP를, 반대로 HTML의 출력이 적은 곳(Controller / BackEnd)에서 적절히 사용하면 좋습니다.
[참고]
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EC%84%9C%EB%B2%84_%ED%8E%98%EC%9D%B4%EC%A7%80
[ edwith - 웹프로그래밍 부스트코스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다
'JAVA Back-End' 카테고리의 다른 글
[JSP] JSP 내장객체 (0) | 2019.02.25 |
---|---|
[JSP] JSP문법 (0) | 2019.02.25 |
[JSP] JSP 라이프 싸이클 (0) | 2019.02.25 |
[JSP/Servlet] Request / Response 객체 (0) | 2019.01.30 |
[JSP/Servlet] Servlet 생명주기 (0) | 2019.01.28 |