Spring/Spring MVC
-
Spring MVC - oracle db 연결 실패 문제 (Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:)Spring/Spring MVC 2022. 1. 4. 13:30
Spring MVC - oracle db 연결 실패 문제 Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:ORA-12505, 공부하다가, 혹은 강의를 보다가 하라는 대로 했는데 위와 같은 오류페이지가 나타날때가 있다. 이유는 간단하다. 위와 같은 에러 메시지를 보면 connection with the following error 가 문제이다. 보통 위와 같은 오류가 발생하는 이유는 다음 2가지이다. DB 정..
-
Spring MVC - MyBatis Java 설정Spring/Spring MVC 2022. 1. 4. 01:08
MyBatis Java 언어를 이용하여 데이터 베이스를 연동하는 기술을 JDBC라 하는데 이 JDBC를 보다 쉽게 이용할 수 있도록 설계된 라이브러리이다. Spring Framework에서 이용할 수 있도록 라이브러리를 제공한다. 더보기 com.oracle.database.jdbc ojdbc11 21.3.0.0 - 오라클 JDBC 드라이버 org.apache.commons commons-dbcp2 2.9.0 - 커넥션 풀 라이브러리 - JDBC 이용해 생성한 Connection을 효율적으로 활용하기 위해 Connection 객체를 관리하는 것을 DBCP의 개념으로 본다. org.mybatis mybatis 3.5.8 - MyBatis라이브러리 org.mybatis mybatis-spring 2.0.6 -..
-
Spring MVC - 예외처리Spring/Spring MVC 2022. 1. 4. 00:07
예외처리 프로그램 실행 중 오류가 발생되면 프로그램이 중단되고, 오류 페이지가 나타나게 된다. Java에서는 이를 방지하기 위해 오류 처리라는 개념이 있다. 오류 발생 시 보여줄 JSP를 만들고 오류가 발생하면 이 JSP를 응답 결과로 브라우저에 전달한다. Exception Handler는 각 Controller에서 처리하는 Exception Handler와 해당 Controller에 없는 예외 처리를 위해 Global Exception Handler를 만든다. Controller에도 특정 예외처리가 있고 controllerAdvice에도 특정 예외처리가 있다면 Controller에 있는 예외처리가 우선 처리된다. Exception Handler 각 Contoller에 발생 가능한 예외들을 Excepti..
-
Spring MVC - InterceptorSpring/Spring MVC 2022. 1. 3. 22:21
Interceptor AOP를 적용한 Spring MVC의 요소 Interceptor는 요청이 발생하면 Controller의 해당 메서드를 호출하기 전, 후에 Interceptor하여 다른 메서드를 호출할 수 있도록 가로 채는 개념이다. 여러 메서드들이 코드가 중복 되는 부분이 있을 때 Interceptor를 이용하면 유용하다. 로그인 여부 확인, 등급별 서비스, 사용 권한 확인 등에 쓰인다. Java로 설정하는 방법과 XML로 설정하는 방법이 있다. 방법 1 - Java Interceptor 구현 따로 Interceptor 패키지를 만들어줘서 관리하자. ▼ TestInterceptor1.java public class TestInterceptor1 implements HandlerInterceptor{..
-
Spring MVC - Validator 커스터마이징Spring/Spring MVC 2022. 1. 3. 21:31
Validator 커스터마이징 라이브러리를 사용하지 않고 개발자가 필요한 Validator을 만들어보자. 지금까지 유효성 검사는 Hibernate를 이용하였었다. JSR-303, JSR-380 에 필요한 Validator가 없을 때 추가적으로 유효성 검사 조건이 필요할 경우 만든다. 우선 error_message.properties를 Message로 등록을 하고 DataBean1을 만들어준다. Mesage 등록은 이전 게시판 참고하길 바란다. DataBean1의 property에 어니 테이션 없이 Validator 커스터마이징으로 유효성 검사를 해보자. public class DataBean1 { @Size(min=2, max=10) private String data1; private String da..
-
Spring MVC - JSR-380 어노테이션(Annotation)Spring/Spring MVC 2022. 1. 3. 15:25
JSR-380 어노테이션(Annotation) JSR-303와 원리는 같고 유효성 검사가 추가로 제공 더보기 https://beanvalidation.org/2.0-jsr380/spec/ Bean Validation specification BeanNode, PropertyNode and ContainerElementNode host getContainerClass() and getTypeArgumentIndex(). If the node represents an element that is contained in a container such as Optional, List or Map, the former returns the declared type of the container and beanva..
-
Spring MVC - JSR-303 어노테이션(Annotation)Spring/Spring MVC 2022. 1. 3. 12:54
JSR-303 어노테이션(Annotation) 참고 링크 - https://beanvalidation.org/1.0/spec/ JSR 303: Bean Validation This document is the specification of the Java API for JavaBean validation in Java EE and Java SE. The technical objective of this work is to provide a class level constraint declaration and validation facility for the Java application developer, as well a beanvalidation.org 유효성 검사를 하는 어노테이션은 여러 종류가 있..
-
Spring MVC - 에러 메시지 커스터마이징, From 데이터 유지하기Spring/Spring MVC 2022. 1. 3. 12:22
에러 메시지 커스터마이징 JSR-303에서 정의한 메시지 대신, 직접 에러 메시지를 정의하여 출력 위반 코드를 이용하여 Propertie에 저장한 데이터를 이용할 수 있다. 이제 Java로 하는 방법과 XML로 하는 방법을 알아보자. 방법 1 - Java 작성한 JSP에서 에러 메시지 출력 ▼ DataBean.java input_data data1 : ${errors.getFieldError('data1').defaultMessage } ${errors.getFieldError('data1').codes[0] } data2 : ${errors.getFieldError('data1').defaultMessage } ${errors.getFieldError('data1').codes[0] } 확인 ${err..