
1. JSP는 무엇인데?
- 한줄로 요약하면, HTML코드에 JAVA코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구다.
※ 반대로 Servlet은 Java코드에서 실행하는 웹 코드이다.

↑ Servlet / JSP ↓

번외) 왜 JSP와 Servlet 두개를 나누어 놓았는고?
- 파일을 분리하여 코드의 가독성이 높아지게 된다.
또한! 디자이너, 퍼블리셔는 JSP, 개발자는 로직에만 집중 할 수 있어 협업에 용이하다.. 라고 하지만, 인턴쉽 때의 경험은 개발자가 모든걸 할 줄 알아야 해서 배우고 또 배웠다.
2. EL 과 JSTL ??
위에서 JSP에 대해서 알아보았다. 그렇담, EL과 JSTL은 무었인가?
- 한줄로 요약하면 JSP 작성을 도와주는 고마운 녀석들이다!
2.2 EL(Expression language)
EL : 다양한 위치에 있는 데이터에 접근하기 위한 언어로 JSP의 기본 문법을 보완하는 역할을 한다.
jsp에서 자바 코드를 대신하여 다른 표현식을 사용함으로서 간단한 방법으로 값을 코딩할 수 있게 해준다!
기능 :
- 이전에 설명한! 스코프(Scope)에 맞는 속성 사용
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- EL만의 기본 객체 제공
${표현식}
으로 각종 태그 안에서 간단하게 표현이 가능하다.

↑ EL의 예
사용이유 :
<%
String id = request.getParameter("id");
%>
<%= id %>
↑위 코드를
${param.id}
이과 같이 간단하게 줄일 수 있다.
이렇게 불필요한 코드를 줄이는 것으로 간결하게 페이지를 유지할 수 있고,
HTML, CSS와 JAVA코드를 서로 구분하기 쉬워지는 장점이 있다.
2.2 JSTL(Jsp Standard Tag Library)
JSTL : 보통은 JSTL과 EL은 함께 사용된다는 점을 먼저 유의하고,
한줄로 요약하면, JSP페이지 내에서 java코드를 사용하지 않고 로직을 내장하는 방법을 제공하는 녀석이다.

사용이유 :
태그형식으로 로직을 수행할 수 있도록 도와주기 때문에, fornt개발자가 수정하기 용이하기 때문에 유지보수에 유리하다!!
지원하는 다양한 태그와 기능이 있지만 오늘은 생략하겠다.
★그리고! JSP나 JSTL에 대해서 back-end개발자는 조금 소홀(?) 하게 생각할 수 있지만,
현업에서의 경험에서도, 고급 JAVA개발자로 성장하기 위해서는 반드시 알아야 할 분야라고 생각한다!