Spring Boot 예제: 초간단 게시판

이 예제에는 스프링 시큐리티를 사용하였습니다. 시큐리티와 관련된 내용은  스프링 시큐리티 관련 글을 참고하세요.   개요 Spring Boot의 기본 기능(Thymeleaf, 시큐리티 포함)을 이용해서 전통적 형태의 웹 게시판을 만들었습니다. 게시판은 웹 프로그래밍에 있어서 필수라고 볼 수 있는 CRUD(Create, Read, Update, Delete)를 연습하기에 적당한 예제입니다. 이 게시판은 로그인 환경을 가정하여 만들었습니다. 로그인 관련 부분은 더보기…

Spring Boot: 시큐리티(Security) – 2 – 커스텀 로그인 페이지 만들기

  1. SecurityConfig 클래스의 configure(http) 에 다음 내용을 추가합니다. .formLogin().loginPage(“/login”).failureUrl(“/login?error”).permitAll() // .logout().logoutRequestMatcher(new AntPathRequestMatcher(“/logout”)) .addLogoutHandler(new TaskImplementingLogoutHandler()).permitAll().logoutSuccessUrl(“/”); loginPage는 로그인할 페이지의 주소이며 로그인이 필요한 상황에서 localhost:xxx/login 을 통해 로그인 화면으로 접속합니다. failureUrl은 로그인 실패했을 때 나타나는 뷰 페이지의 주소입니다. permitAll()이 없으면 권한 문제가 있는 경우 로그인 화면에 들어갈 수 없으므로 반드시 넣어줘야 합니다. 더보기…

Spring Boot: 프로젝트를 jar 파일로 배포하기

이 글은 윈도우 기준으로 작성되었지만 다른 OS 에서도 적용할 수 있습니다. Spring Boot 프로젝트를 생성시 처음에 설정하는 배포 옵션을 jar 파일로 배포로 설정했다고 가정합니다. 처음에 war로 설정했을시에는 추가 설정이 필요한 관계로 나중에 따로 포스팅하겠습니다. 그 전에 이클립스에서 설정되어 있는 JRE를 JDK로 바꿔야 합니다. 바꾸지 않으면 추후 에러의 원인이 되므로 미리 더보기…

Spring Boot: 설치 및 기본 설정 (macOS 및 Eclipse 기준)

1. 이클립스(STS) 준비 이클립스에서 Help > Marketplace… 를 선택한 다음 STS 을 검색해서 설치합니다. 설치 시 이름에 boot 가 들어가는 요소는 반드시 체크하고, Perspective를 Spring으로 변경합니다. 또는 처음부터 STS(STS가 설치된 이클립스)로 사용합니다: https://spring.io/tools   2. Spring Starter Project 생성 이클립스에서 File > New… > Spring Starter Project 를 선택합니다. Group, Artifact, Package 등은 더보기…

Java, Spring Boot 예제: 이미지를 클라이언트로부터 받아 파워포인트로 만들기

작업순서는 다음과 같습니다. 사용자(클라이언트, 크롬 등 웹브라우저 이용하는 사람)는 이미지파일을 브라우저에서 업로드한다. 서버에서 그 이미지를 받아서 파워포인트 파일에 삽입한다. 만들어진 파워포인트 파일을 다시 사용자한테 반환한다. 사용자는 다운로드 받을 수 있다.   파워포인트는 org.apache.poi 라는 라이브러리를 사용해 만들 수 있으며 depency는 다음과 같습니다. <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> 더보기…

Spring Boot: 시큐리티(Security) – 1

  스프링에서 로그인, 권한별 접근 기능 등을 구현하고 싶다면 스프링 시큐리티(Spring Security)를 사용해야 합니다. 1. 처음 스타트 프로젝트 생성 시 디펜던시에서 Security를 선택합니다. 나중에 수동으로 추가할 경우에는 아래를 pom.xml의 <dependencies> 내에 추가합니다. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency>   2. 프로젝트를 생성하고 서버를 가동하면 어떤 URL에 접속해도 기본 더보기…

Spring Boot: mariadb 연결하기 (JDBC-Maven 기준)

Spring Boot에 JDBC를 통해 mariadb(mysql) 연결하는 방법입니다. 1. pom.xml의 <dependencies>에 다음을 추가합니다. <!– mariaDb –> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> </dependency> 혹시 디펜던시 목록에 다른  mysql, Jdbc 과 관련된 게 있다면 충돌이 발생하므로 삭제하는 것이 좋습니다.   2. applications.properties (또는 기타 프로퍼티 파일)에 다음을 추가합니다. spring.datasource.driverClassName=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/test (본인 더보기…