오늘 공부할 주제 JSTL 문법이란? Github 코드 보기 1. 글 목록 디자인 및 JSTL 사용하기 이제 만들 글들을 홈페이지의 화면에 리스트화 시킬 것이다. 기존의 디자인에서 조금 수정을 하였다. // index.jsp ${board.title} ${board.content} 카테고리 | ${board.createTime} 제목과 내용을 클릭하면 해당 글상세로 넘어갈 수 있도록 링크를 걸어준다. 제목, 내용, 작성 시간은 Controller로 부터 받아서 표현해주도록 하겠다. 먼저 jsp페이지에서 jstl문법을 사용하면 forEach를 이용한 반복문 구현이 가능하다. 이 코드는 반복할 객체명을 items로 설정해주고 ${}으로 감싸서 java클래스로 부터 받을 수 있도록한다. 그리고 객체를 boar..
오늘 공부할 주제 Javascript 에 대해서 Github 코드 보기 1. 글쓰기 페이지 만들기 회원가입, 로그인 페이지를 만든 것과 같이 자신이 원하는 디자인을 입혀서 글쓰기 페이지를 만들도록 한다. //writeForm.jsp Title Content 글작성완료 나 같은 경우 제목의 input은 그대로 사용하였고, 내용은 summernote를 통해 edit기능가지 추가하였다. 자세한 것은 이쪽 링크를 통해 알아보자 https://summernote.org/getting-started/ Summernote - Super Simple WYSIWYG editor Super Simple WYSIWYG Editor on Bootstrap Summernote is a JavaScript library that..
Spring Security란? Spring 기반 웹이나 애플리케이션에서 보안과 인증을 담당하는 프레임워크이다. Spring Security의 핵심적인 기능은 인증(Authentication)과 인가(Authorization)이다. 1. Spring Security 주요 구성요소 Security Configurations Spring Security의 가장 중요한 구성 요소 중 하나로, 애플리케이션의 보안 설정을 정의한다. 어떤 요청을 받았을 때 해당 요청이 보호되어야 하는지, 사용자 인증 방법은 무엇인지, 사용자 권한은 어떻게 정의되는지 등을 설정하는 역할을 수행한다. Authentication Manager 인증 프로세스를 관리하는데 사용되며, 인증 과정을 처리하기 위해 Authentication P..
오늘 공부할 주제 Handler란? SecuritConfig의 역할 Github 코드 보기 1. GlobalExceptionHandler 만들기 먼저, 프로젝트에서 발생하는 모든 예외사항을 처리하기 위해 ExceiptionHandler클래스를 만들겠다. handler 패키지를 만든 후 GlobalExceptionHandler 클래스를 아래와 같이 생성해준다. @ControllerAdvice @RestController public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseDto handleArgumentException(Exception e){ return new ResponseDto(HttpStatu..
RestAPI(Representational State Transfer)란? REST는 HTTP 프로토콜을 기반으로 하며, 클라이언트와 서버 간의 통신을 위한 아키텍처 스타일 중 하나이다. 1. RESTful 클라이언트/서버 구조 클라이언트와 서버는 서로 독립적으로 개발되어야 한다. 무상태성(Stateless) 각 요청은 클라이언트의 상태를 서버에 저장하지 않는다. 캐시 가능(Cacheable) 클라이언트는 서버로부터 받은 응답을 캐싱할 수 있다. 계층 구조(Layered System) 클라이언트는 서버와 직접 통신하지 않고, 중간에 프록시 등 다른 네트워크 계층을 사용할 수 있다. 인터페이스 일관성 자원에 대한 조작은 표준화된 메소드(GET, POST, PUT, DELETE 등)를 사용하여 이루어져야 ..
Handler란? Spring 프레임워크에서 Handler는 HTTP 요청을 처리하는 컴포넌트이다. HTTP 요청이 들어오면 Spring MVC 프레임워크는 DispatcherServlet을 통해 요청을 처리하는데 이 때, 요청을 처리할 Handler를 찾아 요청을 전달하게 된다. Handler는 요청을 처리하고, 적절한 모델과 뷰를 반환하며 @Controller 또는 @RestController 어노테이션으로 표시된 클래스의 메서드로 정의될 수 있다. 1. Handler의 역할 요청 매핑 Handler는 @RequestMapping 어노테이션을 사용하여 어떤 URL 패턴에 응답해야 하는지 정의할 수 있다. 파라미터 바인딩 Handler는 요청 파라미터를 메서드 파라미터로 바인딩할 수 있는데, 이 과정에..
오늘 공부할 주제 RestAPI란? Javascript를 사용하는 이유 Github 코드 보기 1. 회원가입 페이지 만들기 먼저 index.jsp파일을 복사하여 views 하위의 user폴더에 joinForm.jsp을 생성한다. 그리고 w3cschools.com에서 마음에 드는 폼을 가져와서 커스텀 한다. 아직 controller를 안만들었기에 VS를 이용하여 간이로 디자인을 확인한다. 깔끔하게 레이아웃 설정이 완료되었고, username, password, email 정도만 Client로부터 입력 받으면 될 듯하다. 이 때 회원가입 navbar의 href주소를 "/auth/joinForm"으로 설정하여 회원가입 페이지로 이동할 수 있도록 한다. 최신화된 css가 있으면 기존에 프로젝트에 추가한 styl..
Repository란? Repository는 데이터베이스와의 연동을 추상화하고, ORM 기능을 제공하여 객체와 데이터베이스 테이블 간의 매핑을 자동화한다. Repository의 특징 데이터베이스와의 연동을 추상화 Repository는 데이터베이스와의 연동을 추상화하여, 데이터베이스의 종류나 구조의 변화에 대한 유연성을 제공한다. ORM(Object-Relational Mapping) 기능 제공 Repository는 ORM 기능을 제공하여, 객체와 데이터베이스 테이블 간의 매핑을 자동화한다. 이를 통해 개발자는 SQL문 작성이나 데이터베이스 접근 로직 작성 등의 부담을 줄일 수 있다. Spring Data JPA와의 연동 지원 Spring Data JPA는 Repository를 자동으로 구현하는 기능을 제..