Java/Spring
-
JAVA 파일(.class)에는 필드(Field), 생성자(constructor), 메소드(method) 존재 class Example_Class { int filed ; //필드 Example_Class() { } //생성자 Example_Class(int a) {} //생성자 Example_Class(int a, String b) {} //생성자 public void example_method { //메소드 } } * 필드(Field) : 필드는 객체의 고유 데이터, 상태 정보 등을 저장하는 곳이며, 변수와 비슷하게 사용된다. ※ 변수는 생성자(Constructor)와 메소드(Method) 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸한다. 하지만 필드는 생성자와 메소드 전체..
필드(Field), 생성자(Contructor), 메소드(Method)JAVA 파일(.class)에는 필드(Field), 생성자(constructor), 메소드(method) 존재 class Example_Class { int filed ; //필드 Example_Class() { } //생성자 Example_Class(int a) {} //생성자 Example_Class(int a, String b) {} //생성자 public void example_method { //메소드 } } * 필드(Field) : 필드는 객체의 고유 데이터, 상태 정보 등을 저장하는 곳이며, 변수와 비슷하게 사용된다. ※ 변수는 생성자(Constructor)와 메소드(Method) 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸한다. 하지만 필드는 생성자와 메소드 전체..
2021.08.28 -
@RequestHeader : 스프링에서 요청 헤더를 받기 위해 사용하는 어노테이션 @GetMapping(value="/taskList/{currentPage}/{selectCount}") public Page taskListController( @PathVariable("currentPage") int currentPage, @PathVariable("selectCount") int selectCount, @RequestHeader Map request) { Iterator keys = request.keySet().iterator(); while(keys.hasNext()) { String key = keys.next(); System.out.println( String.format("키 : %s..
@RequestHeader@RequestHeader : 스프링에서 요청 헤더를 받기 위해 사용하는 어노테이션 @GetMapping(value="/taskList/{currentPage}/{selectCount}") public Page taskListController( @PathVariable("currentPage") int currentPage, @PathVariable("selectCount") int selectCount, @RequestHeader Map request) { Iterator keys = request.keySet().iterator(); while(keys.hasNext()) { String key = keys.next(); System.out.println( String.format("키 : %s..
2021.08.28 -
Controller @PostMapping(value="/list/file/download") public ResponseEntity licenseListFileDownloadController(@RequestBody List htlvo) { Resource resource = es.equipmentListFileDownload(htlvo); //서비스에서 Resource 만들어 리턴 HttpHeaders header = new HttpHeaders(); String mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; header.setCacheControl("no-cache"); header.setContentT..
특정 List 정보 .xlsx 파일 다운로드Controller @PostMapping(value="/list/file/download") public ResponseEntity licenseListFileDownloadController(@RequestBody List htlvo) { Resource resource = es.equipmentListFileDownload(htlvo); //서비스에서 Resource 만들어 리턴 HttpHeaders header = new HttpHeaders(); String mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; header.setCacheControl("no-cache"); header.setContentT..
2021.08.28 -
- Filter 와 Interceptor의 차이 * Filter : Dispatcher Servlet 앞단에서 정보를 처리하고, Interceptor는 Dispatcher Servlet에서 Controller로 가기전 요청을 가로채서 정보를 처리한다. - 기능적인 측면으론 완전히 다른 개념이다. * Interceptor : 특정 URI로 요청했을 때 컨트롤러로 가는 요청들을 가로챈다. : Dispatcher Servlet 이 요청을 받아 HandlerMapping을 통해 Controller로 보내는데 Controller로 가기전 Interceptor가 요청을 가로채어 정보를 처리한 후 Controller로 보내진다. interceptor/JwtInterceptor.java package com..
HandlerInterceptor- Filter 와 Interceptor의 차이 * Filter : Dispatcher Servlet 앞단에서 정보를 처리하고, Interceptor는 Dispatcher Servlet에서 Controller로 가기전 요청을 가로채서 정보를 처리한다. - 기능적인 측면으론 완전히 다른 개념이다. * Interceptor : 특정 URI로 요청했을 때 컨트롤러로 가는 요청들을 가로챈다. : Dispatcher Servlet 이 요청을 받아 HandlerMapping을 통해 Controller로 보내는데 Controller로 가기전 Interceptor가 요청을 가로채어 정보를 처리한 후 Controller로 보내진다. interceptor/JwtInterceptor.java package com..
2021.08.28 -
JVM 이란?JVM은 Java Virtual Machine으로 Java와 OS 사이에서 가장 중요한 중간자 역할을 한다. 자바 컴파일러(javac)가 개발자가 작성한 소스코드(.java)를 컴파일하면 바이트 코드(.class)가 된다.컴파일된 바이트 코드(.class) 를 OS에 맞게 기계어로 해석해주는 역할을 JVM 이 한다.쉽게 얘기하면 자바 소스코드(.java)를 컴파일 한 바이트 코드(.class)를 운영체제가 이해할 수 있도록해석하고 실행시키는게 JVM 이다. JVM 실행 순서자바 소스코드(.java)를 자바 컴파일러가 바이트코드(.class) 로 변환한다.변환된 바이트코드를 JVM 의 Class Loader(클래스로더) 로 전달한다.Class Loader(클래스 로더)에서 JVM 런타임 영역..
JVM, 자바 메모리 영역(코드, 데이터, Static, 스택, 힙)JVM 이란?JVM은 Java Virtual Machine으로 Java와 OS 사이에서 가장 중요한 중간자 역할을 한다. 자바 컴파일러(javac)가 개발자가 작성한 소스코드(.java)를 컴파일하면 바이트 코드(.class)가 된다.컴파일된 바이트 코드(.class) 를 OS에 맞게 기계어로 해석해주는 역할을 JVM 이 한다.쉽게 얘기하면 자바 소스코드(.java)를 컴파일 한 바이트 코드(.class)를 운영체제가 이해할 수 있도록해석하고 실행시키는게 JVM 이다. JVM 실행 순서자바 소스코드(.java)를 자바 컴파일러가 바이트코드(.class) 로 변환한다.변환된 바이트코드를 JVM 의 Class Loader(클래스로더) 로 전달한다.Class Loader(클래스 로더)에서 JVM 런타임 영역..
2021.08.28 -
기존 Servlet 방식 사용자의 요청을 servlet에게 전달하기 위해선 web.xml의 태그를 통해 servlet을 등록한다. testServlet servlet class testServlet /hello 등록된 servlet에 해당하는 url pattern을 체크하기 위해 태그도 사용한다. 하지만 아래의 그림과 같이 수많은 사용자의 요청을 처리하기 위해선 여러개의 servlet이 등록되어야 하는 불편함이 있다. 사용자 요청에 맞는 servlet을 생성하고 해당 servlet에 맞는 controller에게 요청을 보내준다. - Front Controller 패턴 적용 Front Controller 패턴을 적용하면 맨앞에 존재하는 Front Controller Servlet이 모든 ..
Dispatcher Servlet(Front Controller), ViewResolver기존 Servlet 방식 사용자의 요청을 servlet에게 전달하기 위해선 web.xml의 태그를 통해 servlet을 등록한다. testServlet servlet class testServlet /hello 등록된 servlet에 해당하는 url pattern을 체크하기 위해 태그도 사용한다. 하지만 아래의 그림과 같이 수많은 사용자의 요청을 처리하기 위해선 여러개의 servlet이 등록되어야 하는 불편함이 있다. 사용자 요청에 맞는 servlet을 생성하고 해당 servlet에 맞는 controller에게 요청을 보내준다. - Front Controller 패턴 적용 Front Controller 패턴을 적용하면 맨앞에 존재하는 Front Controller Servlet이 모든 ..
2021.08.28