Spring Boot 기초: 웹 애플리케이션 설정
·
🗄️ Backend/Spring
Spring Boot는 Java 기반의 웹 애플리케이션을 빠르고 간편하게 개발할 수 있는 프레임워크입니다. 이번 포스트에서는 Spring Boot를 사용하여 간단한 웹 애플리케이션을 설정하고 실행하는 방법에 대해 상세히 설명합니다. 이 예제에서는 WebConfig, TestVO, HomeController 등을 활용하여 Spring Boot 프로젝트를 구성하고, 타임리프(Thymeleaf)를 사용한 템플릿 렌더링까지 다룹니다.1. Spring Boot 프로젝트 설정WebConfig.java - 스프링 설정 파일WebConfig.java는 Spring의 설정 파일로, 스프링 빈을 등록하고 프로퍼티 값을 주입받을 수 있는 역할을 합니다. 또한, @Value 애노테이션을 사용하여 application.prop..
HikariCP, MyBatis를 활용한 데이터베이스 연결 풀 설정 및 최적화
·
🗄️ Backend/Spring
Spring Framework는 Java 애플리케이션에서 데이터베이스와의 원활한 연결을 관리하기 위해 다양한 방법을 제공합니다.그 중에서도 HikariCP는 고성능 JDBC 커넥션 풀 라이브러리로 유명하며,MyBatis는 SQL 매퍼 프레임워크로 SQL 처리 및 객체 매핑을 간편하게 할 수 있게 돕습니다.이번 포스트에서는 Spring 환경에서 HikariCP와 MyBatis를 설정하고, 효율적으로 데이터베이스 연결을 관리하는 방법에 대해 설명합니다.1. HikariCP 설정 (고성능 JDBC 커넥션 풀)HikariCP란?HikariCP는 Java 애플리케이션에서 데이터베이스와의 연결을 효율적으로 관리하는 커넥션 풀 라이브러리입니다. 성능과 경량성에서 우수한 평가를 받으며, 고성능 애플리케이션에서 필수적인..
스프링 프레임워크에서 Redirect, Request, Response 처리 및 서비스 계층 구현
·
🗄️ Backend/Spring
Spring Framework는 다양한 웹 애플리케이션 개발을 지원하는 강력한 도구입니다.특히, @Controller, @Service, @Repository 등의 어노테이션을 사용하여 웹 애플리케이션의 각 계층을 명확하게 구분할 수 있습니다.이 글에서는 Spring의 Redirect, Request, Response 처리 방법과 서비스 계층 구현에 대해 깊이 있게 다뤄보고, 이를 실제 예시와 함께 설명합니다.  1. Spring에서 Controller 및 요청 처리Spring MVC에서는 @Controller 어노테이션을 사용하여 웹 애플리케이션의 요청을 처리하는 컨트롤러 클래스를 정의합니다. 이 클래스는 클라이언트의 요청을 받고, 적절한 서비스 로직을 처리한 후 뷰(View)로 데이터를 전달하는 역할..
스프링 프레임워크(Spring Framework) 기본 개념과 활용
·
🗄️ Backend/Spring
스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 애플리케이션 프레임워크로,주로 엔터프라이즈 애플리케이션 개발에 사용됩니다.스프링은 개발자들이 복잡한 애플리케이션을 효율적으로 개발할 수 있도록 다양한 기능과 지원을 제공합니다.특히, 의존성 주입(DI), 관점 지향 프로그래밍(AOP), MVC 패턴 등을 통해애플리케이션의 유연성, 테스트 용이성, 유지보수성을 높여줍니다.이번 포스팅에서는 스프링 프레임워크의 주요 개념과 그 활용 방법을 상세히 설명합니다.스프링 프레임워크의 주요 기능DI(Dependency Injection, 의존성 주입)DI는 객체 간의 의존성을 외부에서 주입하는 방식으로, 코드의 결합도를 낮추고 유연성과 테스트 용이성을 향상시킵니다.예를 들어, 하나의 객체가 다른 객..
JSP와 MyBatis
·
🗄️ Backend/JSP
JDBC의 불편함JDBC(Java Database Connectivity)는 데이터베이스와 자바 애플리케이션 간의 상호작용을 가능하게 해주는 API입니다. 하지만, JDBC를 사용할 때 여러 불편함이 존재합니다:저수준 API: JDBC는 프로그래머가 낮은 수준부터 ORM(Object-Relational Mapping)을 작성해야 하는 장점이 있지만, 그로 인해 많은 코드가 반복되는 단점이 있습니다.반복적인 코드: 데이터베이스 연결, 쿼리 실행, 결과 처리 등에서 많은 중복 코드가 발생하여 유지보수가 어렵습니다.Persistence Framework란?Persistence Framework는 애플리케이션 데이터와 데이터 저장소 간의 상호작용을 관리하는 소프트웨어 라이브러리입니다. 이 프레임워크는 데이터베이..
JSP와 MVC2 패턴
·
🗄️ Backend/JSP
MVC2 패턴 개요MVC2 패턴은 Model-View-Controller 아키텍처를 기반으로 한 웹 애플리케이션 구조로, 클라이언트의 요청을 효율적으로 처리하고 사용자에게 데이터를 표시하기 위해 데이터와 비즈니스 로직, 사용자 인터페이스를 분리합니다. 이 구조는 웹 애플리케이션의 유지보수성과 확장성을 높여줍니다.각 구성 요소의 역할M (Model): 데이터와 비즈니스 로직을 관리하는 역할입니다. 데이터베이스와의 상호작용, 데이터를 처리 및 가공하여 비즈니스 로직을 수행하는 책임이 있습니다. Model은 주로 DAO(Data Access Object)와 DTO(Data Transfer Object)로 구성됩니다.V (View): 사용자에게 데이터를 보여주는 역할을 합니다. 모델에서 가공된 데이터를 사용자에..
JSP와 MVC 패턴: DAO/DTO, 커넥션 풀, EL, JSTL
·
🗄️ Backend/JSP
PreparedStatement(pstmt) 객체Statement 객체와 PreparedStatement 객체의 차이점웹 애플리케이션에서 SQL 쿼리를 처리할 때, Statement 객체와 PreparedStatement 객체를 사용할 수 있습니다.Statement 객체: SQL 쿼리를 문자열로 작성하고 직접 실행합니다. 그러나 복잡한 쿼리나 동적인 값이 많을 경우 코드가 복잡해지고 오류 발생 가능성이 높아집니다.PreparedStatement 객체: SQL 쿼리를 미리 컴파일하여 성능을 향상시키고, 파라미터 설정 시 '?'를 사용하여 간편하게 값을 지정할 수 있습니다. 이는 코드의 가독성을 높이고, SQL 인젝션 공격을 예방하는 데 도움이 됩니다.PreparedStatement 실행 순서드라이버 로딩C..
쿠키(Cookie)와 세션(Session) 완벽 가이드
·
🗄️ Backend/JSP
#쿠키(Cookie)와 세션(Session)웹 애플리케이션을 개발하면서 쿠키와 세션은 필수적으로 이해해야 하는 개념입니다. 이 글에서는 쿠키와 세션의 개념, 특징, 사용 방법, 그리고 두 기술 간의 차이점을 자세히 설명하겠습니다.쿠키(Cookie)1. 개요쿠키는 웹 브라우저와 서버 간의 통신에서 특정 정보를 지속적으로 유지하기 위한 데이터 저장 방식입니다. HTTP 프로토콜은 비연결성(stateless) 프로토콜로, 각 요청이 끝난 후 클라이언트와의 연결을 종료합니다. 따라서 서버는 클라이언트의 상태를 유지할 방법이 필요하고, 이때 쿠키가 사용됩니다.2. 특징클라이언트 측 저장: 쿠키는 서버가 생성하여 클라이언트(웹 브라우저) 측에 저장됩니다. 이 데이터는 클라이언트의 로컬 저장소에 위치하게 됩니다.정보..
JSP와 서블릿: 동적 웹 개발의 기초
·
🗄️ Backend/JSP
서블릿(Servlet)과 JSP서블릿이란?서블릿은 클라이언트의 요청을 처리하고 동적 웹 콘텐츠를 생성하는 Java 프로그램입니다. 서블릿은 순수 자바 코드로 작성되며, 클라이언트 요청에 따라 HTML 응답을 생성합니다. 서블릿은 자바 쓰레드를 이용하여 다수의 요청을 효율적으로 처리할 수 있는 강력한 구조를 가지고 있습니다.URL 매핑서블릿은 여러 개가 있을 수 있으며, 브라우저에서 웹 컨테이너에 요청할 때 서블릿을 구분하기 위해 URL 매핑이 필요합니다. URL 매핑을 통해 보안을 강화하고, 사용자에게 이해하기 쉬운 URL을 제공할 수 있습니다.WebServlet 어노테이션@WebServlet 어노테이션을 사용하여 서블릿 클래스를 선언하고 구성할 수 있습니다. 이를 통해 다음과 같은 작업을 수행할 수 있..
HTML 기초 및 태그 정리
·
🗄️ Backend/JSP
HTML 입력 양식 태그 정리HTML에서 입력 양식 태그는 사용자가 웹 페이지를 통해 서버에 데이터를 전송할 수 있도록 돕는 매우 중요한 요소입니다. 입력 양식 태그는 사용자의 데이터를 수집하여 서버로 전달하는 역할을 합니다. 기본적으로 두 가지 주요 입력 양식 태그가 있습니다.1. input 태그input 태그는 다양한 사용자 입력을 처리할 수 있는 다목적 태그입니다. type 속성을 사용하여 다양한 입력 형식을 지정할 수 있습니다. 자주 사용되는 input 태그의 type 속성 값은 다음과 같습니다.text: 텍스트를 입력할 수 있는 일반적인 텍스트 상자password: 입력한 내용을 가려주는 비밀번호 입력 상자file: 사용자가 파일을 업로드할 수 있도록 하는 파일 선택기submit: 폼 데이터를 ..