본문 바로가기

백엔드36

[Spring] 서블릿, JSP, MVC패턴 회원관리 웹 애플리케이션 요구사항회원관리 웹을 만들고자 한다 package hello.servlet.domain.member; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.username = username; this.age = age;} }회원 정보는 다음과 같다 package hello.servlet... 2025. 4. 7.
[Spring] 서블릿 Hello 서블릿서블릿은 원래 톰캣같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린다음 톰캣서버를 실행해야하는데, 스프링부트는 톰캣서버를 내장하고있어서 편리하게 서블릿 코드를 실행할 수 있다. 스프링부트에서 서블릿을 직접 등록해서 사용하려면package hello.servlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @ServletComponentScan //서블릿 .. 2025. 4. 4.
[Spring] 웹 애플리케이션의 이해 웹 서버, 웹 애플리케이션 서버웹은 HTTP 기반으로 통신한다.웹 서버HTTP 기반으로 동작한다.정적인 리소스를 제공한다정적이란? HTML, CSS, JS, 이미지, 영상 등 웹 애플리케이션 서버(WAS - Web Application Server)HTTP 기반으로 동작웹 서버 기능 + 정적 리소스 제공프로그램 코드를 실행해서 애플리케이션 로직을 실행동적이란? 동적 HTML, HTTP API(JSON), 서블릿, JSP, 스프링 MVC 웹 서버는 정적리소스, WAS는 애플리케이션 로직WAS는 애플리케이션 코드를 실행하는데 더 특화되어있다. WAS는 동적, 정적 리소스를 모두 제공 가능하니까 이런식으로 구성할 수 있다.하지만 WAS에 장애가 발생한다면? 사용자는 에러화면조차 보지 못한다.따라서 정적 리소스.. 2025. 3. 30.
[Spring] 빈 스코프 빈 스코프란이제까지 배운 내용으로는 빈이 생성되고, 스프링 컨테이너에 저장되고, 스프링 컨테이너가 종료될 때까지 유지된다.이건 빈이 기본적으로 싱글톤 스코프로 생성되기 떄문이다.스코프는 빈이 존재할 수 있는 범위를 뜻한다. 빈 스코프를 지정하는 방법은 다음과 같다.@Scope("prototype") @Componentpublic class HelloBean {} @Scope("prototype") @Bean PrototypeBean HelloBean() { return new HelloBean(); } 프로토타입 스코프싱글톤 스코프 빈을 조회하면 항상 같은 빈을 반환한다 반면 프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 반환한다. 위와같이 프로토타입 스코.. 2025. 3. 11.
[백엔드 프로젝트] Hire Higher Hire Higher 프로젝트는 카카오테크캠퍼스에서 우수상을 수상한 프로젝트이다.현업 개발자님들과 열심히 하는 팀원들 덕분에 참 많이 성장하고 즐거웠던 것 같다. 프로젝트 소개이 프로젝트는 외국인 노동자를 위한 서비스이다.https://ethereal-coder.tistory.com/236 [기획 프로젝트] Hire Higher - 외국인 노동자를 위한 구인구직 서비스카카오테크캠퍼스 3단계를 앞두고 아이디어톤 행사가 열렸다. 아이디어톤 행사 3일 전에 팀이 정해졌고, 아이디어 초안을 정한 후 피드백을 받고 이를 바탕으로 하여 아이디어톤에서 서비스를ethereal-coder.tistory.com자세한 기획은 여기서 확인할 수 있다. 간단하게 설명하자면, 우리는 외국인 노동자를 구인할 때 근로계약서를 작성하.. 2025. 3. 9.
[Spring] 빈 생명주기 콜백 빈 생명주기 콜백 시작데이터베이스 커넥션 풀(관계형 데이터베이스 할 때 미리 서버랑 db를 연결한다.) 또는 애플리케이션 시작 시점에 연결을 미리 해두고 종료시점에 모두 종료하는 경우 이를 위한 초기화작업과 종료 작업을 어떻게 할지 알아보자! 여기서 초기화작업이란?단순히 객체를 생성하는게 아니라, 그 객체가 동작까지 하는 것을 말한다. public class NetworkClient { private String url;public NetworkClient() {System.out.println("생성자 호출, url = " + url); connect();call("초기화 연결 메시지");} public void setUrl(String url) { this.url = ur.. 2025. 2. 27.