파일명_국가별언어코드.properties 작성 한국어 버전 #shop_ko.properties greeting=안녕하세요 영어 버전 #shop_en.properties greeting=hello application.properties 설정 spring.messages.basename=message/shop spring.messages.encoding=utf-8 # spring.messages.fallback-to-system-locale=false 💡 fallback-to-system-locale = true (default) : 시스템의 locale를 따른다. 💡 fallback-to-system-locale = false : 기본 properties를 실행한다. ① 메인에서 사용 @SpringBoo..
Java Spring Boot는 Spring으로 애플리케이션을 만들 때, 쉽고 빠르게 만들 수 있도록 도와주는 프레임워크 스프링 vs 스프링부트 Spring 🌱 Spring Boot🌱 정의 Enterprise Application을 개발하는데 사용되는 오픈소스 경량 프레임워크 REST API 개발에 사용되며, 기존의 스프링 프레임워크 위에 구축 중요기능 Dependency Injection Autoconfiguration 사용방식 설정 파일 작성, 빈 객체 등록, 빈 객체 간의 의존성 설정 간단한 설정과 의존성 처리 설정파일 Bean Configuration XML파일 application.properties 또는 application.yml 이용 목적 느슨하게 결합된 응용프로그램 독립 실행형 응용 프로..
관리자 계정 접속 cmd 에서 sqlplus sys/관리자비밀번호 에러 발생 시, Enter user-name: sys as sysdba Enter password: 관리자 비밀번호 새로운 계정 생성 create user 아이디 identified by 비밀번호; 권한 부여 grant connect,resource,dba to 아이디;
① 의존성 추가 Apache 에서 제공하는 Commons 기반의 라이브러리 의존성 추가 commons-fileupload commons-fileupload 1.4 commons-io commons-io 2.6 ② 파일 업로드 JSP 작성 comment: file: ③ DTO 작성 type="text"와 type="file" 2개를 한꺼번에 저장하기 위해 UploadDTO 클래스를 작성한다. @AllArgsConstructor @Data public class UploadDTO { String theText; CommonsMultipartFile theFile; } 💡 CommonsMultipartFile 클래스는 파일을 저장하는 핵심 클래스이다. ④ Controller 작성 @Controller publ..
@MVC 관련 기능을 활용할 때, 다음 두 가지는 필수 지정 HandlerInterceptor 스프링의 HandlerMapping은 HandlerInterceptor를 이용해 Controller가 요청을 처리하기 전과 후에 알맞은 기능을 수행하도록 지원 boolean preHandle(request, response, object): 클라이언트 요청을 Controller에 전달하기 전 호출 void postHandle(request, response, object, mav) : 클라이언트 요청을 처리한 후 호출 void afterCompletion(request, response, object, ex): 뷰를 통해 클라이언트에 응답을 전송한 후 호출 HandlerInterceptor를 구현한 뒤에는 반드..
이진트리 이진트리 순회(DFS) 전위순회: 중 - 왼 - 오 중위순회: 왼 - 중 - 오 후위순회: 왼 - 오 - 중 import java.util.*; class Node { int data; Node lt, rt; // 왼쪽 주소, 오른쪽 주소 저장 public Node(int val) { data = val; lt = rt = null; } } class Main { Node root; public void DFS(Node root) { if (root == null) return; else { // System.out.print(root.data + " "); 전위순회 DFS(root.lt); // System.out.print(root.data + " "); 중위순회 DFS(root.rt); /..
[Servlet] 요청 위임 클라이언트의 요청을 받은 서블릿에서 다른 컴포넌트(서블릿, JSP, html)로 요청을 위임할 수 있다. 직접 요청 받은 서블릿에서 모든 작업을 처리하지 않고 위임한 컴포넌트에서 특정 작업을 처리 gangintheremark.tistory.com 리턴 타입이 String 일 때, 다음과 같은 특별한 키워드를 붙여서 사용할 수 있다. forward : 포워드 방식으로 처리 forward:target redirect : 리다이렉트 방식으로 처리 redirect:target 포워드(forward) 처리 화면 URL 변경 X request scope에 저장된 데이터 target에서 사용 가능 @RequestMapping("/aaa") public String aaa(Model m) ..
스프링 MVC의 Controller는 다음과 같은 특징이 있다. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 GET/POST 전송 방식을 어노테이션으로 처리 가능 @RequestMapping @RequestMapping은 사용자가 요청한 URL 정보를 이용하여 실제 처리되는 메서드를 선택할 수 있다. URL 패턴 @Controller public class TestController { // 💡 매핑값 하나 // http://localhost:8090/app/xxx @RequestMapping(value = "/xxx") public String xxx() { return "main"; } // 💡 매핑값 두 개 // http://localhost:8090/app/xxx2 // ht..
Spring MVC 구조 스프링 프레임워크는 MVC2 패턴을 준수한다. MVC2 패턴은 쉽게 말해 로직과 화면을 분리하는 스타일의 개발방식이다. UI코드와 비즈니스 코드를 분리함으로써 종속성을 줄이고 재사용성을 높여 보다 쉬운 유지보수를 확보할 수 있다. MVC2 방식에서 사용자의 Reqeust를 처리하기 위해 주로 Controller를 호출한다. 나중에 View를 교체하더라도 사용자가 호출하는 URL 자체에 변화가 없게 만들어주기 때문이다. 스프링 MVC의 기본 구조는 아래와 같다 ① 사용자의 Request는 Front-Controller인 DispatcherServlet을 통해 처리한다. ② HandlerMapping은 Request의 처리를 담당하는 Controller를 찾는다. @RequestMa..
Oracle 연습용 계정인 SCOTT 계정의 DEPT 테이블 정보를 조회/삽입/수정/삭제를 해보자 ① 의존성 설정 pom.xml에 5개의 jar 설정 ojdbc6_g.jar, mybatis.jar, spring-jdbc.jar, spring-mybatis.jar, commons-dbcp2.jar org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.8.RELEASE org.apache.commons commons-dbcp2 2.5.0 com.jslsolucoes ojdbc6 11.2.0.1.0 ② jdbc.properties 작성 및 등록 jdbc.properties 작성 # src/mai..
component-scan이란 빈으로 등록될 준비를 마친 클래스들을 스캔하여 빈으로 등록해주는 것이다. 즉, 사용자가 만든 빈들을 xml에 등록없이 객체를 생성할 수 있다. @Controller @Service @Component @Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다. 빈 객체 스캔 태그의 base-package 속성으로 지정된 패키지 내 클래스를 검색하여 자동으로 빈 등록 내부적으로 기능을 포함 XML 설정 파일에 여러 빈 정보를 명시적으로 추가하지 않고 자동으로 빈들을 등록 패키지에 있는 모든 클래스들이 빈으로 등록되는 것이 아니며 반드시 어노테이션으로 지정된 빈만 해당 @Component : 포괄적인 마킹 @Service : Service에 사용하는 마..