목록WEB (12)
ki-sd 님의 블로그
오늘은 기존의 일반적인 JDBC 연동 방식이 가진 성능적 한계를 개선하기 위해 DBCP(Database Connection Pool)를 도입하고, HTTP 프로토콜의 무상태(Stateless) 특성을 보완하기 위한 Session과 Cookie의 동작 원리 및 적용 방법을 학습했다. 1. DBCP(DataBase Connection Pool)와 JNDI 연동 기존에는 클라이언트의 요청이 발생할 때마다 DB 커넥션을 새로 생성하고 닫는 방식을 사용했다. 이 방식은 커넥션 생성 비용이 커서 서버 성능 저하 및 메모리 누수를 유발할 수 있음을 확인했다.DBCP 동작 원리: 웹 서버(Tomcat)가 시작될 때 지정된 개수만큼의 DB 커넥션을 미리 생성하여 풀(Pool)에 보관한다. 클라이언트 요청 시 풀에서 커넥..
오늘은 JSP의 주요 내장 객체를 활용해 서버와 클라이언트 간의 상태를 관리하고, 페이지 레이아웃을 효율적으로 조립하는 모듈화 기법을 학습했다. 데이터베이스 연동과 파일 입출력을 포함한 전반적인 웹 애플리케이션의 흐름을 정리했다. 1. JSP 내장 객체를 이용한 응답 및 상태 관리response 객체: HTTP 응답을 제어하며, addCookie()를 통해 클라이언트에 상태 정보를 전달하거나 sendRedirect()로 브라우저의 페이지 이동을 지시한다.application 객체: ServletContext를 통해 서버 전역 자원을 관리한다. getInitParameter()로 설정 값을 읽거나 getRealPath("/")로 서버 내 실제 파일 경로를 확인하는 용도로 사용했다.out 객체: 생성된 HT..
오늘은 JSP의 기본 설정 방식인 지시자와, 클라이언트-서버 간 데이터 전송을 다루는 내장 객체(request)의 활용법을 정리했다. 아울러 웹 페이지의 공통 영역 분리(Include)와 예외 처리(Error Page), 그리고 CSS의 요소 배치 속성들을 실습했다. 1. JSP 지시자(Directive)와 페이지 모듈화 JSP 파일 상단에 정의되는 지시자의 종류와 세부 속성을 다루었다.page 지시자: * contentType: 브라우저가 응답을 어떻게 해석할지 지정한다. 일반적인 text/html 외에도 text/xml, text/plain(JSON 응답용) 형식으로 응답 타입을 변경하는 실습을 진행했다.import: 자바 라이브러리(java.util.*, java.sql.* 등)를 로드할 때 사용한..
오늘은 자바(Java) 코드로 웹 화면을 구성하는 서블릿(Servlet) 방식을 실습하고, 이를 개선하기 위해 등장한 JSP(JavaServer Pages)의 구조적 차이를 확인했다. 또한, 웹 페이지 요소의 배치를 제어하는 CSS position 속성의 특징을 정리했다. 1. Servlet의 동작 원리와 JSP의 특징서블릿(Servlet)의 한계: EmpList.java 실습을 통해 서블릿 클래스를 작성했다. DB에서 사원 정보를 가져와 브라우저에 출력할 때, out.println("...");처럼 HTML 코드를 일일이 문자열로 작성해야 하므로 화면 수정과 유지보수가 까다롭다는 점을 확인했다.JSP의 도입과 동작 사이클: 반면 JSP는 HTML 뼈대 안에 자바 코드를 삽입하는 방식이다. 클라이언트가 ..
오늘은 사용자가 직접 데이터를 생성(Create), 수정(Update), 삭제(Delete)하는 게시판 시스템을 처음부터 끝까지 구현해 냈다. 웹 애플리케이션의 핵심인 CRUD 아키텍처와 화면 이동(Redirection)의 메커니즘을 완벽히 이해한 뜻깊은 시간이었다. 1. 처리용 페이지(Process Page)의 도입과 화면 이동 로직보이지 않는 백엔드 로직 (_ok.jsp): 사용자가 boardInsert.jsp에서 폼(Form)을 작성해 전송하면, 이를 직접 화면에 그리지 않고 insert_ok.jsp라는 중간 처리용 페이지가 데이터를 받는다. 이 페이지는 자바 로직(DAO 호출)만을 순식간에 수행한 뒤 브라우저에게 "목록 페이지로 가라"고 지시한다.response.sendRedirect(): DB에..
오늘은 사용자가 입력한 조건에 따라 데이터를 동적으로 추출하는 JSP 검색 시스템의 완성도를 높이고, 웹 페이지의 시각적 완성도를 결정짓는 CSS 가시성(Visibility) 및 타이포그래피(Typography) 속성들을 심도 있게 해부했다. 데이터의 흐름(Data Flow)과 화면의 표현(Presentation)이 어떻게 유기적으로 연결되는지 그 메커니즘을 확립한 시간이었다. 1. JSP Form 데이터 처리와 동적 검색 로직 (DAO/VO) 사용자가 선택한 검색 조건(업체명, 주소, 음식종류)과 검색어를 서버로 전송하고 처리하는 전체 프로세스를 구축했다.Form 데이터 수신 (find.jsp): 클라이언트가 태그를 통해 전송한 col(검색 컬럼)과 fd(검색어)를 request.getParamete..
