JavaServer Pages의 약자로 HTML 코드에 JAVA코드를 넣어 동적 웹페이지를 생성하는 웹애플리케이션 도구를 이야기합니다.
JSP가 실행이되면 JAVA Servlet으로 변환이되며, 웹 애플리케이션 서버에서 동작이 되변서 필요한 기능을 수행하고 생성된 데이터는 웹페이지와 함께 클라이언트에게 응답을 해줍니다.
초기에는 관리자가 새로운 정보를 클라이언트에게 보여주고 싶을 때마다 WebServer에서 index.html을 수시로 업데이트 해야했습니다. 즉, 실시간으로 보여주는 것이 아니라 해아할 일들이 많았습니다. 그래서 이런 단점을 보완해주던 방식으로 클라이언트가 정보를 요청할 때 관리자가 아니라 프로세스를 데이터베이스와 사용자 중간에 넣어서 클라이언트가 원하는 정보를 전달했습니다.
위와같은 방식으로 동적 웹 프로그래밍 방식이 프로세스 방식으로 실행이 되었습니다.
하지만 또다른 단점은 또 다른 클라이언트가 같은 정보를 원한다면 웹서버에서는 새로운 프로세스를 생성하여 제공한다는 점이였습니다. 최근에는 기능들이 많아지면서 이런 프로세스로 새로운 프로세스를 생성하면 서버에 과부하가 발생하게 됩니다.
이런 문제를 해결하기 위해서 나온 기능이 JSP입니다.