
웹 브라우저는 웹 사이트를 만드는 프로그래밍 언어인 HTML(HyperText Markup Language), CSS와 자바스크립트로 이루어진 구문만 인식하여 화면에 나타난다. 그리고 JSP는 웹 사이트 화면을 구성하는 HTML을 좀 더 동적으로 구현하기 위해 도입된 기능이다. 오늘은 HTML에 대해 간단히 알아보고 jQuery에 대해 알아보자 ! 시맨틱 웹(Semantic Web)의 사전적 정의는 기계가 이해할 수 있고 처리할 수 있는 웹 콘텐츠를 만드는 것이다. 이는 1998년 월드와이드웹(www)의 창시자인 팀 버너스 리에 의해 개발되고 정의된 개념이다. 기존 HTML4에서는 웹 페이지의 구조에 해당하는 머리말, 메뉴, 본문, 하단부 등을 만들 때 태그에 CSS를 적용하는 방식으로 작업이 되었다. ..

오늘은 표현언어와 JSTL에 대해 알아보려고 한다. 회사에서 JSP를 사용하고 있음에도 개념이나 사용법을 잘 모르는것 같아서 이 기회에 학습해 보려고 한다. 요즘 JSP는 표현언어(EL, Expression Language)와 JSTL(JSP Standard Tag Library, JSP 표준 태그 라이브러리)을 사용하여 구현한다. 우선 표현언어에 대해 먼저 알아보자 ! 표현언어는 자바 코드가 들어가는 표현식을 좀 더 편리하게 사용하기 위해 JSP 2.0부터 도입된 데이터 출력 기능이다. 표현식에는 자바 변수나 여러가지 자바 코드로 된 식을 사용하는데, 표현식의 자바 코드가 복잡해짐에 따라 자바 코드로 출력하는 표현식을 대체하기 위해 표현언어 라는 것이 등장했다 기존에 표현식은 아래와 같다. ... 이러..

초기 웹 프로그램은 서블릿을 이용하여 구현했다고 한다. 그런데 인터넷 사용자가 폭발적으로 늘어나면서 화면의 기능이나 구성이 복잡해짐에 따라 사용자를 고려하는 화면 요구사항도 점점 늘어났다. 그래서 현재는 프로그래머가 서블릿으로 화면을 구현하지 않고 웹 디자이너가 화면을 담당하게 된다. 자바 코드는 디자이너에게 익숙하지 않았기 때문에 서블릿의 기능 중 별도로 화면 기능을 디자이너가 작업하기 쉽게 하기 위해 JSP(Java Server Page)가 등장했다. JSP는 디자이너 입장에서 화면의 수월한 기능 구현과 개발 후 화면의 편리한 유지관리 목적으로 도입되었다. 기존 서블릿은 자바 코드를 기반으로 문자열을 사용해 HTML과 자바스크립트로 화면을 구현했으나 JSP는 이와는 반대로 HTML, CSS와 자바스크..

보통 웹 프로그램에서 사용되는 정보는 서블릿의 비즈니스 로직 처리 기능을 사용하여 데이터베이스에서 가져오게 된다. 그러나 동시 사용자 수가 많아지면 데이터베이스 연동 속도에 영향을 받게 되므로 정보의 종류에 따라 어떤 정보들은 클라이언트 PC나 서버의 메모리에 저장해두고 사용하면 좀 더 프로그램을 빠르게 실행시킬 수 있다. 이제 이러한 기능을 제공해 주는 쿠키와 세션에 대해 정리해 보자. 현재 로그인한 상태인지 아닌지와 같은 정보는 웹 페이지가 자동적으로 알고 있지 않다. HTTP 프로토콜 방식으로 통신하는 웹 페이지들은 서로 어떤 정보도 공유하지 않는다. 따라서 사용자 입장에서 웹 페이지 사이의 상태나 정보를 공유하려면 프로그래머가 세션 트래킹(Session Tracking)이라는 웹 페이지 연결 기능..
앞 선 게시글에서 진행했던 데이터베이스 연동 과정은 웹 애플리케이션이 필요할 때마다 데이터베이스에 연결하는 작업방식이다. 이런식으로 작업하게 되면 데이터베이스에 연결하는데 시간이 오래걸린다는 단점이 있다. 이 문제를 해결하기 위해 현재는 웹 애플리케이션이 실행됨과 동시에 연동할 데이터베이스와의 연결을 미리 설정해 둔다. 그리고 필요할 때마다 미리 연결해 놓은 상태를 이용해 빠르게 데이터베이스와 연동작업을 한다. 이렇게 미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션풀(ConnectionPool)이라고 한다. 애플리케이션 실행 시 미리 ConnectionPool 객체를 생성한 후 데이터베이스와 연결을 맺는다. 그리고 데이터베이스 연동작업 발생시 이 ConnectionPool 객체를 이용하여 작업..

웹 프로그램은 클라이언트의 요청에 대해서 비즈니스 처리 기능을 이용해 데이터 저장소에서 데이터를 조회한 후 서블릿의 응답 기능을 이용해 클라이언트에게 결과를 전송한다. 서블릿 비즈니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 뜻한다. 웹 프로그램에서 대부분의 비즈니스 로직 처리 작업은 데이터베이스 연동 관련 작업이지만 그 외 다른 서버와 연동해서 데이터를 얻는 작업도 수행한다. 나도 실제로 업무를 할 때 데이터베이스에 CRUD 하는 기능을 가장 많이 사용하였다. 그리고 메인 프로젝트를 두고 서버 작업만을 하는 프로젝트를 생성하였었는데, 필요한 정보를 다른 서버에서 가져올 수 있도록 되어 있었다. 이 기능은 서블릿의 핵심 기능이라 할만큼 중요하다. 이제 서..

톰캣과 같은 WAS가 처음 등장하였을 때 웹 브라우저에 요청을 스레드 방식으로 처리하는 기술이 바로 서블릿이었다. 모든 웹 프로그램은 오늘 배울 내용을 뼈대로 하여 동작한다. 따라서 아주 중요한 부분이니 집중해서 공부해 보도록 하자! 서블릿의 주요 세 가지 기능은 다음과 같다. 클라이언트로부터 요청을 받는다. 데이터베이스 연동과 같은 비즈니스 로직을 처리한다. 처리된 결과를 클라이언트에 돌려준다. 우선 요청이나 응답과 관련된 서블릿의 기능을 알아보자. 요청이나 응답과 관련된 API는 모두 javax.servlet.http 패키지에 있다. 요청과 관련된 API : javax.servlet.http.HttpServletRequest 클래스 응답과 관련된 API : javax.servlet.http.HttpS..

동적 웹 페이지를 구현하기 위해 사용하는 것이 JSP인데 사실 초기 동적 페이지는 서블릿(Servlet, 자바로 만든 CGI 프로그램)을 이용하여 구현하였다. JSP의 많은 기능이 Servlet을 따르고 있으니 서블릿에 대해 한번 알아보도록 하자. 실제 웹 애들리케이션을 개발할 때도 JSP와 서블릿이 각자 고유한 역할을 나누어 기능을 구현하고 있다. 서블릿(Servlet)이란? 서블릿은 서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다. 서블릿은 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가지지만, 일반 자바 프로그램과 다르게 독자적으로 실행하지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다는 차이가 있다. 서블릿은 서버에서 실행되다가 웹..