서블릿과 JSP

서블릿과 JSP

서블릿(Servlet)과 JSP(JavaServer Pages) 는 자바 기반의 웹 애플리케이션 개발을 위한 기술입니다. 서블릿(Servlet) 특징 설명 자바 클래스 서블릿은 자바 클래스로, 웹 서버에서 실행됩니다. 요청-응답 모델 클라이언트의 요청을 받아 처리하고 응답을 반환합니다. 동적 콘텐츠 생성 HTML, XML, JSON 등의 동적 콘텐츠를 생성할 수 있습니다. 다양한 기능 지원 세션 관리, 파일 업로드, 필터링, 보안 등의 기능을 지원합니다.  
HTTP protocol

HTTP 프로토콜

  HTTP(Hypertext Transfer Protocol) 프로토콜은 월드 와이드 웹에서 데이터를 주고받기 위한 규약입니다. 클라이언트와 서버 간의 통신 방식을 정의하는 애플리케이션 계층 프로토콜입니다. 특징 설명 클라이언트-서버 모델 HTTP는 클라이언트와 서버 간의 요청-응답 모델을 따릅니다. 클라이언트가 서버에 요청을 보내고, 서버는 응답을 반환합니다. 무상태 프로토콜 HTTP는 무상태(Stateless) 프로토콜입니다. 각 요청-응답 사이클은 독립적이며, 서버는 이전 요청에 대한 정보를 유지하지 않습니다.
ORM

ORM(Object-Relational Mapping)

  ORM(Object-Relational Mapping) 은 객체 지향 프로그래밍 언어에서 관계형 데이터베이스를 사용할 때 발생하는 패러다임 불일치 문제를 해결하기 위한 기술입니다. ORM을 사용하면 개발자는 객체 모델을 사용하여 데이터베이스 데이터를 조작할 수 있습니다. ORM 프레임워크는 객체와 관계형 데이터베이스 간의 매핑을 자동으로 처리해 줍니다.   특징 설명 객체 모델 사용 개발자는 객체 모델을 사용하여 데이터를 조작합니다. ORM이 SQL 쿼리를
커넥션 풀과 데이터 소스

커넥션 풀과 데이터 소스

  커넥션 풀(Connection Pool)과 데이터 소스(DataSource)는 JDBC 애플리케이션에서 데이터베이스 연결을 효율적으로 관리하기 위한 방법입니다.   개념 설명 커넥션 풀 – 미리 여러 개의 데이터베이스 연결 객체를 생성해두고, 필요할 때 가져다 사용하고 반환하는 기법입니다. – 연결 객체를 매번 새로 만들지 않아도 되므로 연결 생성 비용을 줄일 수 있습니다. – 대부분의 애플리케이션 서버에서 내장된 커넥션 풀 기능을
트랜잭션

트랜잭션 관리

  JDBC에서 트랜잭션 관리는 중요한 부분입니다. 트랜잭션은 데이터베이스에서 논리적 연산 단위를 의미하며, 여러 개의 SQL 문을 하나의 작업으로 취급하여 모두 성공하거나 모두 실패하도록 처리합니다. 트랜잭션 관리를 위해서는 다음 단계를 따릅니다. 단계 설명 1. 트랜잭션 시작 Connection 객체의 setAutoCommit(false) 메서드를 호출하여 자동 커밋 모드를 비활성화합니다. 2. SQL 문 실행 여러 개의 SQL 문을 실행합니다. 3. 트랜잭션
JDBC

JDBC를 사용한 데이터베이스 연동

  JDBC(Java Database Connectivity)는 자바 프로그램에서 데이터베이스에 접근하기 위해 사용되는 Java API입니다. JDBC를 사용하면 다양한 종류의 데이터베이스에 대해 동일한 코드를 작성할 수 있어 데이터베이스에 독립적인 프로그래밍이 가능합니다. JDBC를 이용한 데이터베이스 연동 과정은 다음과 같습니다.   단계 설명 1. JDBC 드라이버 로드 사용할 데이터베이스 벤더의 JDBC 드라이버를 프로젝트에 포함시켜야 합니다. Class.forName("드라이버클래스이름") 메서드를 통해 드라이버를 로드합니다. 2.
sql basic

SQL 기초

  SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 조작하고 질의하는 표준 언어입니다. SQL을 사용하여 데이터를 삽입, 조회, 수정, 삭제할 수 있으며, 테이블을 생성하고 수정할 수 있습니다. 1. SELECT 문 SELECT 문은 데이터베이스에서 데이터를 조회하는 데 사용됩니다. 1 2 3 4 5 6 7 8 9 10 11 — 모든 열 선택 SELECT * FROM users; — 특정 열 선택 SELECT name, age FROM users; — 조건절(WHERE)을 사용한 선택 SELECT * FROM users WHERE age > 30; — 정렬(ORDER BY)을 사용한 선택 SELECT * FROM users ORDER BY age DESC; cs
관계형 데이터베이스 개념2

관계형 데이터베이스 개념

  관계형 데이터베이스(Relational Database)는 데이터를 테이블(table) 형태로 저장하고 관리하는 데이터베이스 시스템입니다. 관계형 데이터베이스는 데이터의 일관성, 무결성, 독립성을 유지하면서 효율적인 데이터 관리를 가능하게 합니다.   1. 테이블(Table) 관계형 데이터베이스에서 데이터는 테이블이라는 구조로 저장됩니다. 테이블은 행(row)과 열(column)로 구성되며, 각 행은 고유한 식별자인 기본 키(primary key)를 가집니다. 1 2 3 4 5 6 7 8 9 +––––+––––––––––+––––––––––+ | id | name     | age      |
22

스트림 API

  Java 8에서 도입된 스트림 API는 컬렉션, 배열 등의 데이터를 함수형 프로그래밍 스타일로 처리할 수 있는 기능을 제공합니다. 스트림 API를 사용하면 데이터 처리 파이프라인을 간결하고 가독성 있게 구성할 수 있습니다.   1. 스트림 생성 스트림은 컬렉션, 배열, I/O 채널 등 다양한 소스로부터 생성할 수 있습니다. 1 2 3 4 5 6 7 List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> numberStream = numbers.stream(); int[] arrayOfNumbers = {1, 2, 3, 4, 5};

java.time 패키지

  java.time 패키지는 Java 8에서 도입된 새로운 날짜와 시간 API입니다. 이 패키지는 java.util.Date와 java.util.Calendar의 단점을 개선하고, 더 직관적이고 사용하기 쉬운 클래스들을 제공합니다. 다음은 java.time 패키지의 주요 클래스들입니다. 1. LocalDate 클래스 LocalDate 클래스는 시간 정보 없이 날짜만을 표현합니다. 이 클래스를 사용하여 날짜를 생성, 조작, 비교할 수 있습니다. 1 2 3 4 5 6 7 8 LocalDate today = LocalDate.now();