Cute Hello Kitty Kaoani

WebServer/Spring

WebServer/Spring

[Spring] 자주 사용하는 태그 목록 (복붙용😎)

pom.xml 1.8 5.2.25.RELEASE ... 1.8 1.8 Component-scan InternalResourceViewResolver Post 한글 처리 filter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 filter /* 정적 resource MyBatis 의존성 설정 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 properties j..

WebServer/Spring

[Spring] @RequestBody 와 @ResponseBody

@RequestBody @ResponseBody 는 XML이나 JSON과 같은 메시지 기반의 커뮤니케이션을 위해 사용된다. @ResponseBody가 메서드 레벨에 부여되면 메서드가 리턴하는 객체는 뷰를 통해 결과를 만들어내는 Model로 사용되는 대신, 메시지 Converter를 통해 바로 HTTP 응답의 메시지 본문으로 전환된다. @RequestBody @ResponseBody를 위한 jackson 라이브러리 필요 com.fasterxml.jackson.core jackson-databind 2.14.2 💡 스프링부트에서는 의존성이 자동으로 포함되어 있음. @ResponseBody Controller에서 응답처리를 JSP로 하지 않고 JSON 형식으로 처리가 가능하다. 즉, 자바클래스를 리턴하면 자동..

WebServer/Spring

[Spring] Spring 기반의 파일업로드(File Upload)

① 의존성 추가 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..

WebServer/Spring

[Spring] MVC 네임스페이스 태그 관련

@MVC 관련 기능을 활용할 때, 다음 두 가지는 필수 지정 HandlerInterceptor 스프링의 HandlerMapping은 HandlerInterceptor를 이용해 Controller가 요청을 처리하기 전과 후에 알맞은 기능을 수행하도록 지원 boolean preHandle(request, response, object): 클라이언트 요청을 Controller에 전달하기 전 호출 void postHandle(request, response, object, mav) : 클라이언트 요청을 처리한 후 호출 void afterCompletion(request, response, object, ex): 뷰를 통해 클라이언트에 응답을 전송한 후 호출 HandlerInterceptor를 구현한 뒤에는 반드..

WebServer/Spring

[Spring] Spring MVC 구조에서 MyBatis 연동

[Spring] Spring에서의 MyBatis 연동 Oracle 연습용 계정인 SCOTT 계정의 DEPT 테이블 정보를 조회/삽입/수정/삭제를 해보자 ① 의존성 설정 pom.xml에 5개의 jar 설정 ojdbc6_g.jar, mybatis.jar, spring-jdbc.jar, spring-mybatis.jar, commons-dbcp2.jar org.mybatis my gangintheremark.tistory.com 자세한 건 위 게시글에서 참고 연동 순서 ① 의존성 설정 ( 5개의 jar파일) ② jdbc.properties 작성 및 등록 ➜ root-servlet.xml ③ DB 연동하는 DataSource 설정 ➜ root-servlet.xml ④ DTO 작성 및 별칭 지정 ⑤ Mapper ..

WebServer/Spring

[Spring] 스프링의 포워드(forward)와 리다이렉트(redirect) + RedirectAttributes

[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) ..

WebServer/Spring

[Spring] 스프링 MVC의 Controller

스프링 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..

WebServer/Spring

[Spring] Spring MVC 구조와 컴포넌트

Spring MVC 구조 스프링 프레임워크는 MVC2 패턴을 준수한다. MVC2 패턴은 쉽게 말해 로직과 화면을 분리하는 스타일의 개발방식이다. UI코드와 비즈니스 코드를 분리함으로써 종속성을 줄이고 재사용성을 높여 보다 쉬운 유지보수를 확보할 수 있다. MVC2 방식에서 사용자의 Reqeust를 처리하기 위해 주로 Controller를 호출한다. 나중에 View를 교체하더라도 사용자가 호출하는 URL 자체에 변화가 없게 만들어주기 때문이다. 스프링 MVC의 기본 구조는 아래와 같다 ① 사용자의 Request는 Front-Controller인 DispatcherServlet을 통해 처리한다. ② HandlerMapping은 Request의 처리를 담당하는 Controller를 찾는다. @RequestMa..

WebServer/Spring

[Spring] 트랜잭션 처리 (TransactionManager)

스프링에서는 트랜잭션 관리자인 TransactionManager 클래스를 제공하여 트랜잭션을 처리한다. TransactionManager 빈등록 및 설정 @Transactional 어노테이션 이용 @Transactional @Override public int InsertAndDelete() { // insert DeptDTO dto = new DeptDTO(50, "개발", "부산"); dao.deptAdd(dto); // delete dao.deptDelete(60); return 0; }

WebServer/Spring

[Spring] Spring에서의 MyBatis 연동

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..

WebServer/Spring

[Spring] 빈 객체 스캔 (component-scan)

component-scan이란 빈으로 등록될 준비를 마친 클래스들을 스캔하여 빈으로 등록해주는 것이다. 즉, 사용자가 만든 빈들을 xml에 등록없이 객체를 생성할 수 있다. @Controller @Service @Component @Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다. 빈 객체 스캔 태그의 base-package 속성으로 지정된 패키지 내 클래스를 검색하여 자동으로 빈 등록 내부적으로 기능을 포함 XML 설정 파일에 여러 빈 정보를 명시적으로 추가하지 않고 자동으로 빈들을 등록 패키지에 있는 모든 클래스들이 빈으로 등록되는 것이 아니며 반드시 어노테이션으로 지정된 빈만 해당 @Component : 포괄적인 마킹 @Service : Service에 사용하는 마..

WebServer/Spring

[Spring] AOP (Aspect Oriented Programming)

AOP 보안이나 로그, 트랜잭션과 같이 비즈니스 로직은 아니지만, 반드시 처리가 필요한 부분을 스프링에서는횡단 관심사라고 한다. AOP는 이러한 횡단 관심사를 모듈로 분리하는 프로그래밍의 패러다임이다. 즉, 문제를 해결하기 위한 핵심 관심사항과 전체에 적용되는 공통 관심사항을 분리하여 프로그래밍함으로써 공통 모듈을 여러 코드에 쉽게 적용할 수 있도록 도와준다. 부가기능: 공통기능으로 어플리케이션 전반에 걸쳐 필요한 기능 ➜ 로깅, 트랜잭션, 보안, 예외처리 등 핵심기능: 핵심 비즈니스 로직 ➜ 로그인, 회원가입, 계좌이체 등 AOP 주요 용어 Advice: 실질적인 부가 기능 로직을 정의하는 곳 Join point: advice가 적용될 수 있는 모든 시점. Spring AOP에서는 메서드 호출 시점만 ..

gangintheremark
'WebServer/Spring' 카테고리의 글 목록