반응형

Java 21

Servlet 서블릿

Servlet 서블릿 Java 로 작성된 웹 애플리케이션을 만들기 위한 기술 중 하나 웹 브라우저에서 들어온 요청을 처리하고 응답을 생성하는 Java 프로그램  서블릿은 클라이언트 (웹 브라우저) 의 요청을 받고, HTML or JSON 같은 응답을 만들어준다 Java 로 웹 애플리케이션을 만들 때 가장 기본적인 서버 측 프로그램으로,JSP, Spring MVC 같은 웹 기술들도 결국 내부적으로 서블릿을 사용한다 Servlet 역할 1. 클라이언트 (웹 브라우저) 가 서버에 HTTP 요청을 보낸다 2. Servlet 이 요청을 받아 필요한 로직을 실행한다 (ex. 데이터베이스 조회) 3. 결과를 HTML or JSON 등의 형태로 응답을 생성하여 클라이언트에게 반환한다 서블릿은, 클라이언트와 서버 간의 ..

TIL/용어 2025.02.13

Tomcat

Apache Tomcat 아파치 톰캣은 Java Servlet 및 JSP를 실행할 수 있는 서블릿 컨테이너이면서 자체적으로 HTTP 요청을 처리할 수 있는 웹 애플리케이션 서버 (WAS) 이다 독립적인 WAS 로 동작할 수 있지만, 대규모 시스템에서는 Apache HTTP Server 또는 NGINX 와 함께 사용하는 경우도 많다  Apache 아파치는, Web Server 를 일컫으며, 리눅스에서 httpd 로 명명지어져 배포된다 정적인 데이터, 이미지나 단순 HTML 을 처리하는 서버에서 안정적으로 돌아간다  Tomcat 톰캣은, 웹 서버와 웹 컨테이너의 결합으로, 현재 가장 일반적이고 많이 사용되는 Web Application Server 이다 동적인 데이터를 처리하거나 DB 연결, 데이터 조작 등..

TIL/용어 2025.02.08

Java Application 실행 환경 구축

Java Application 실행 환경 구축 1. OpenJDK 설치 iTerms 에서 openJDK 를 설치한다 (쪼끔 오래 걸림) Spring Boot 는 특정 Java 버전에서만 안정적으로 동작하므로 17 을 설치해준다 brew install openjdk@17 Java 설치 확인 java -version Java 경로 확인 /usr/libexec/java_home -V 🐣 Java Version 이 17 이 아닌 경우, 17 로 영구 적용하는 방법 echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrcecho 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrcsource ~/.zshrc 2. To..

TIL/용어 2025.02.07

[Spring] 노인 객체

노인 객체는 단순하게 1. 이름 2. 핸드폰 번호 만 받기로 했다 그래서 DTO 를 아래와 같이 설정했다 이름과 핸드폰 자리수에 대한 예외 처리도 DTO 에서 처리했다 package com.example.Mind_in_Canvas.dto.user;import java.time.LocalDateTime;import java.util.UUID;import jakarta.validation.constraints.NotBlank;import jakarta.validation.constraints.Pattern;import jakarta.validation.constraints.Size;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Ge..

TIL/JAVA 2025.01.10

[Spring] 회원 관리 예제 - 웹 MVC 개발

회원 관리 예제 - 웹 MVC 개발 듣고 있는 강의 - 김영한의 Spring 입문편 1. 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hello_spring.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic c..

TIL/JAVA 2025.01.06

[Spring] 스프링 빈과 의존관계

듣고 있는 강의 - 김영한의 Spring 입문편  컴포넌트 스캔과 자동 의존관계 설정 https://helloahram.tistory.com/195 에서 만들었던 서비스를 화면에 붙이기 위해서는 Controller 와 ViewTemplate 이 필요하다  MemberController 는 MemberService 를 통해서 회원가입을 하고 데이터를 조회할 수 있어야 한다 그런 관계를 의존 관계가 있다고 한다 MemberController 만들고 의존관계 추가  package hello.hello_spring.controller;import hello.hello_spring.service.MemberService;import org.springframework.beans.factory.annotation...

TIL/JAVA 2025.01.01

[Spring] MVC 와 템플릿 엔진, API

듣고 있는 강의 - 김영한의 Spring 입문  MVC - Model View Controller🐣 소프트웨어 디자인 패턴 🐣View - 화면과 관련된 일만 처리Model - 비즈니스 로직과 서버 데이터 관련 처리를 담당 Controller - 사용자 요청을 받아서 Model 과 View 를 연결  Thymeleaf 의 장점 html 을 작성하고 그 파일을 서버 없이 열 수 있다 서버 없이 열 때는 hello! empty 부분이 출력되고 서버에서 열 때는 그 앞에 부분이 출력된다 아래 사진에서 Chrome icon 을 선택하면 서버 없이 열린다 View ViewResolver 를 사용한다  🐣 ViewRosolver 는 Contorller 에서 반환한 View 이름을 기반으로 실제 View 객체에 ..

TIL/JAVA 2024.12.30

[JAVA] Map Interface

Map 데이터를 Key 와 Value 쌍으로 저장하여, Key 를 Value 에 매핑한다 Map Map Interface 의 특징 1. No Duplicates in Keys 키는 고유해야 하고 (중복될 수 없고), 값은 중복될 수 있다 2. Null Handling HashMap 과 LinkedHashMap 과 같은 구현은 하나의 Null 키를 허용하고, 대부분의 구현체는 여러 개의 Null 값을 허용한다, 예외적으로 TreeMap 은 키에 Null 값을 허용하지 않는다 (내부적으로 키를 비교/ 정렬하기 때문) 3. Threard-Safe Alternaitves 기본적인 Map 구현체는 스레드에 안전하지 않기 때문에 멀티스레드 환경에서는 추가 처리가 필요하다  - ConcurrentHashMap 스레드..

TIL/JAVA 2024.12.29

[JAVA] 접근 제어자

접근 제어자 접근 제어자 이해 자바는 public, private 같은 접근 제어자 Access Modifier 를 제공한다 접근 제어자를 사용하면 해당 클래스에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다  🐣 다른 클래스에서 접근하지 못하도록 하려면 private 을 앞에 선언해 주면 된다 🐣private 접근 제어자는 모든 외부의 호출을 막기 때문에, 해당 클래스 내부에서만 호출할 수 있다 좋은 프로그램은 적절한 제약을 제공하는 프로그램이다 package access;public class Speaker { private int volume; ...}package access;public class SpeakerMain { public static void main..

TIL/JAVA 2024.12.25
반응형