본문 바로가기

Java & Kotlin100

[Spring] 파일첨부 [Spring] 파일첨부 파일첨부 방식에는 페이지 이동방식(form태그 이용)과 Ajax 이용방식, iframe을 이용하는 방식이 있다. 이중 iframe을 이용하는 방식은 화면이 하나 더 뜬다는 점과, 보안에 취약해 대부분의 웹사이트에서 이용하지 않고 있는 방식이다. 파일 업로드 API cos.jar cos.jar을 이용하는 방식은 2002년 이후로 개발이 종료되었고, 더 이상 사용하지 않는 것을 권장한다. commos-fileupload commos-fileupload는 일반적으로 많이 활용되며, 서블릿 3.0 이전에도 사용 가능하다. 서블릿의 API상에서 지원 서블릿 버전 3.0 이상부터는 API상에서 파일 업로드를 지원한다. 서블릿 버전 변경 및 설정 pom.xml 버전변경 ... javax.se.. 2021. 5. 28.
[Spring] 트랜잭션 [Spring] 트랜잭션 service의 메소드가 하나의 mapper메소드(쿼리)만 사용한다면 예외 발생 후에 DB에는 변화가 없다. 하지만 하나의 트랜잭션이 여러 개의 mapper메소드(쿼리)를 순차적으로 실행 후 문제 발생 시 성공한 쿼리문만 반영되어 다시 직접 복구해야하는 문제가 발생한다. 이러한 문제를 막기 위해 스프링에서는 @Transactional 어노테이션을 사용하여 한개의 트랜잭션에 문제가 발생하였을 때 rollback을 통해 전체 트랜잭션이 모두 DB에 반영되지 못하도록 막아준다. @Transactional @Override public int remove(Long rno) { log.info("remove........."+rno); board_mapper.updateReplyCnt(m.. 2021. 5. 26.
[Spring] AOP [Spring] AOP AOP란 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍을 뜻한다. 관점, 관심사 관점이란 개발에 있어서, 관심사(concern)을 의미한다. 관심사는 개발 시 필요한 것들을 생각하는 일이다. 파라미터가 잘 전달되었는가? 이 로직에서 발생할 수 있는 모든 예외를 처리하자 적절한 권한을 가진 사용자가 작업하고 있는가? 핵심 로직은 아니지만 반복적으로 개발에 필요한 관심사들이다. AOP 따라서 AOP는 이러한 것들을 모듈로 분리하여 작성하고 핵심 비지니스 로직만을 작성하도록 한다. 종단 관심사 : 핵심로직 횡단 관심사 : 주변로직 횡단 관심사를 모듈로 구현하는 것이 AOP를 구현하는 것이다. 즉, 반복적으로 나타나는 횡단괌심사를 모듈로 분리한 수 적절한.. 2021. 5. 26.
[Spring] REST Controller 댓글 기능 Rest방식 구현 [Spring] REST Controller 댓글 기능 Rest방식 구현 Spring에서 대표적으로 사용하는 데이터 전송 방식에는 REST가 있다. 게시판 페이지의 게시글 상세보기의 경우 댓글을 불러올 때에 페이징을 이용하는 경우가 있기 때문에, ajax를 이용해 JSON데이터를 REST로 받아오는 식으로 설계한다. REST Controller package com.heekng.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; .. 2021. 5. 23.
[Spring] 게시판 프로젝트 (2) [Spring] 게시판 프로젝트 (2) Criteria 생성 빠른 페이징 처리를 위한 Criteria 클래스를 생성한다. package com.blog.domain; import org.springframework.web.util.UriComponentsBuilder; import lombok.AllArgsConstructor; import lombok.Data; @Data @AllArgsConstructor public class Criteria { private int pageNum; //페이지 번호 private int amount; //한 페이지에 보여줄 게시물 개수 private String type; //검색 카테고리 private String keyword; //검색 키워드 public Cr.. 2021. 5. 23.
[Spring] root-context.xml 구성 [Spring] root-context.xml 구성 root-context.xml에서 작성하는 bean을 정리 root-context.xml은 태그와 그 속 태그로 구성 태그에서 다른 bean을 참조할 때에는 를 이용 mybatis의 mapper.xml을 bean에 올릴 때에는 를 이용 일반적인 패키지를 bean으로 올릴 때에는 를 이용 hikariConfig jdbc 정보를 입력 oracle 이용 시 ojdbc buildpath와 Deployment Assembly에 등록 필요 dataSource sqlSessionFactory 2021. 5. 22.
[Spring] pom.xml 구성 [Spring] pom.xml 구성 개인 확인용 pom.xml 수정 순서입니다. java version& spring version java 1.8버전, 스프링 5.0.7버전 1.8 5.0.7.RELEASE 1.6.10 1.6.6 ... org.apache.maven.plugins maven-compiler-plugin 3.5.1 1.8 1.8 -Xlint:all true true lombok org.projectlombok lombok 1.18.0 1.2.17 추가 후 lombok.jar 꼭 추가 log4j 버전 변경 log4j log4j 1.2.15 javax.mail mail javax.jms jms com.sun.jdmk jmxtools com.sun.jmx jmxri runtime ----위 삭.. 2021. 5. 22.
REST 방식 REST 방식 REST방식의 통신이란 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계되고, 이를 통해 통신하는 것이다. 용어 URI : 사용자의 요청을 주소로 나타낸 부분이며, 페이지로 나타내진다. URL: 사용자의 요청을 대표하는 데이터 혹은 응답에 대한 데이터를 나타낸 부분이며, 데이터로 나타내진다. REST(Representational State Transfer): 직역하면 대표하는 상태를 전송하는 것이다. 위에서 말했듯이 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다. 예를 들어 /board/123 이라는 URI는 게시글 중 123번 게시글을 뜻하는 것이다. REST로 설계하는 이유 데이터 통신에 제약이 없다. 데이터 소켓 경량화 다른 서버끼리도 데이터를 주고 받을 수 있다... 2021. 5. 17.
전자정부 표준 프레임워크 & 웹 개발 직무 전자정부 표준 프레임워크 & 웹 개발 직무 전자정부표준프레임워크(egov) 전자정부 표준 프레임워크란 이클립스와 스프링을 기반으로 한 프레임워크이다. 정부 공공 프로젝트 등 사용화 혹은 서비스해야 할 상품을 제작 할 때 이용하며 전자정부 표준 프레임워크는 표준 라이브러리만을 제공하여 더 균형있고 틀이 정해진 개발을 도와준다. 웹 개발 직무 웹 개발 직무에는 보통 백엔드와 프론트엔드로 나뉜다고 알고 있다. 엔드란 서버를 뜻하며 요청에 응답할 줄 알고, REST방식의 데이터 수송신을 할 줄 안다는 것을 뜻한다. 따라서 흔히 말하는 백엔드 중 REST방식의 데이터 통신을 하지 않는 상태에서는 백엔드가 아닌 웹 개발만을 하는 것이다. **REST방식: 데이터를 파라미터가 아니라 JSON 또는 XML파일로 보낸다.. 2021. 5. 17.