일기장
article thumbnail
JPA와 H2서버 사용하기
웹개발 2023. 6. 18. 19:34

웹 서비스가 다룰 데이터의 양은 방대하다. 이러한 데이터를 웹서버에서 처리하는 것은 굉장히 부담스러운 일이기에 이러한 데이터에 관한 보관 및 처리는 데이터베이스 서버에 위임한다. 그렇기에 웹서버는 데이터베이스 서버와 끊임없이 소통해야 한다. 이러한 소통은 일반적으로 데이터베이스 언어인 SQL문을 이용하는데 웹서버를 구축하면서 따로 또 데이터베이스 언어를 배우는 것은 어려운 일이다. 그렇기에 SQL문을 자동으로 생성해주어 웹서버의 문법만으로도 데이터베이스와 소통할 수 있도록 하는 기술이 있는데 이를 ORM이라고 한다. ORM을 이용할 경우 프로그래머는 하나의 문법만으로 끊김없이 코드를 작성할 수 있다는 장점이 있다. ORM - 다음은 question이라는 테이블에 데이터를 새로 삽입하는 쿼리이다. inse..

컨트롤러
웹개발 2023. 6. 18. 17:57

우리는 보통 웹브라우저를 통해 하루에도 수백번씩 서버에 요청을 보내고 있다. 예를 들어 우리가 https://www.naver.com/ 로 요청을 보냈을 때 네이버 서버에서 네이버 홈페이지를 보내주는 것처럼 말이다. 그렇다면 스프링부트 서버에서 URL에 따라 다른 결과값을 전송해주는 역할은 누가 할까? 바로 컨트롤러이다. 페이지 요청이 들어왔을 때 스프링부트는 가장 먼저 해당 페이지에 대한 URL매핑이 있는 지 컨트롤러에 확인한다. 컨트롤러를 이용해 템플릿 파일 리턴하기 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframew..

스프링부트 프로젝트의 구조
웹개발 2023. 6. 18. 17:31

src/main/java 디렉토리 - 이 디렉토리 안에서 일반적으로 우리가 스프링 부트 프로젝트를 진행함에 있어 사용될 주요 자바파일들을 작성해준다. - 컨트롤러, 폼, DTO, 엔티티, 서비스 파일등을 작성해준다. Application.java - 이 프로젝트에서 생성한 애플리케이션의 시작을 담당하는 파일이다. 프로젝트를 생성하면 src/main/java 디렉토리 내에 자동으로 생성된다. - 이 파일의 이름은 " + Application.java"이다. 예를 들어, Myboard라는 프로젝트에서는 MyboardApplication.java이다. package com.mysite.myboard; import org.springframework.boot.SpringApplication; import org..

데이터의 변환
웹개발 2023. 5. 27. 20:03

사용자로부터 입력받은 데이터를 우리가 의도한 대로 사용하기 위해서는 적절한 변환이 필요하다. 특히 웹개발에서는 요청된 데이터를 메인모델에 맞게 변환하는 과정이 필수적이다. Spring에서는 WebDataBinder를 통해 사용자로부터 입력받은 데이터를 변환하고 검증할 수 있다. PropertyEditor을 이용한 변환 메서드 - PropertyEditor를 이용하여 데이터를 변환할 수 있다. 이는 양방향 타입 변환을 제공한다. - 보통 컨트롤러내에 변환 메서드를 만들어 데이터를 변환시킨다. @InitBinder public void toDate(WebDataBinder binder) { SimpleDateFromat df = new SimpleDateFormat( [패턴] ); // 예: "yyyy-mm..

자바 스프링 예외처리
웹개발 2023. 5. 26. 18:33

@ExceptionHandler - @ExceptionHandler( { [처리할 예외1].class, [처리할 예외2].class ... } ) 어노테이션을 이용하여 예외처리 메서드를 작성해준다. @ExceptionHandler( { [처리할 예외1].class, [처리할 예외2].class ... } ) // 여러개는 {}로 묶어줌 public String catcher( Exception ex, Model m ) { m.addAttribute("ex", ex); return "error"; } - 이때 이 예외에 대한 정보를 모델에 저장해주어야 하는 번거로움이 있는데 JSP의 페이지 속성에 isErrorPage 속성을 부여하여 모델 저장코드를 생략시킬 수 있다. ${ex.message} // Bef..

JSP 자세히 알아보기
웹개발 2023. 5. 25. 10:48

JSP란? JSP(JavaServer Pages)는 자바를 기반으로 하는 서버 사이드 스크립트 언어입니다. HTML 코드 안에 자바 코드를 삽입하는 방식으로 웹 페이지를 동적으로 생성하게 해줍니다. 서버에서 실행되며, 결과적으로 클라이언트에게는 HTML을 전송하게 됩니다. JSP는 Servlet 기술을 기반으로 하며, 사실상 Servlet의 특별한 형태라고 할 수 있습니다. Servlet은 자바 코드 내에 HTML을 삽입하는 반면, JSP는 HTML 코드 안에 자바 코드를 삽입합니다. 이는 웹 개발자들에게 더 친숙하며 직관적인 개발 방식을 제공합니다. JSP의 작동 원리 클라이언트가 JSP 페이지를 요청합니다. JSP 엔진이 이 요청을 받아들입니다. 만약 이 JSP 페이지가 최초 요청이라면, JSP 엔진..

세션(Session)
웹개발 2023. 5. 24. 15:39

안녕하세요, 여러분. 이전 포스트에서는 쿠키에 대해 자세히 알아봤습니다. 오늘은 그와 밀접하게 연관된 또 다른 개념, 세션(Session)에 대해 알아보려고 합니다. 세션도 웹 개발에서 중요한 역할을 하는 컴포넌트로, 사용자마다 개별적으로 상태 정보를 유지하기 위한 도구입니다. 1. 세션(Session)이란 무엇인가? 세션은 서버에서 사용자의 정보를 저장하는 기술입니다. HTTP 프로토콜은 본질적으로 상태를 유지하지 않는(stateless) 프로토콜이기 때문에, 사용자가 페이지를 이동하거나 재방문할 때마다 기존의 상태 정보가 유지되지 않습니다. 세션은 이런 상태 유지 문제를 해결하기 위해 도입된 기술입니다. 기본적으로 세션은 서버에서 제공하는 저장소입니다. 쿠키는 브라우저에 저장되어있고, 세션은 서버에 ..

쿠키(Cookie)
웹개발 2023. 5. 24. 11:32

안녕하세요, 여러분. 오늘은 웹 개발에서 굉장히 중요한 역할을 하는 쿠키(Cookie)에 대해 이야기하려고 합니다. 쿠키는 웹사이트의 기능을 실행하거나 개선하는 데 꼭 필요한 요소입니다. 이 포스트에서는 쿠키가 무엇인지, 어떻게 작동하는지, 그리고 자바 스프링에서 쿠키를 어떻게 다루는지에 대해 알아보겠습니다. 1. 쿠키(Cookie)란 무엇인가? 쿠키는 웹사이트가 사용자의 컴퓨터에 저장하는 작은 텍스트 파일입니다. 쿠키 데이터는 id와 value가 한쌍이 되어 구성하고 있습니다. 웹 사이트를 방문할 때마다 웹사이트는 사용자의 웹 브라우저에 쿠키를 보냅니다. 이 쿠키는 웹사이트가 사용자를 기억하고 식별하게 하여 사용자의 경험을 개선하는 데 도움을 줍니다. 예를 들어 여러분들이 로그인을 할 때 아이디 저장기..