Language/Spring

    [IDE] 현직자가 사용하는 이클립스/STS 단축키

    이번 포스팅에서는 제가 실무에서 자주 사용하였던 단축키를 소개하려고 합니다. 처음 실무를 들어가다 보면 여러 선배님들이 단축키를 많이 쓰시고 있을 것이기 때문에 차차 배우다보면 자연스럽게 사용할 것이라 생각합니다. IDE마다 단축키는 다르기 때문에 제가 사용하는 이클립스/STS 기준으로 말씀드리려고 합니다. (인텔리제이는 다릅니다.) 📌 단축키 모음 Ctrl + / : 제일 많이 사용하는 단축키로, 한 줄과 블록 주석 처리를 할 수 있습니다. 혹시 주석을 사용할 때 다음과 같은 상황을 마주한 적이 있었나요? 당황하지 말고 아래 해결책을 참고하세요 * Ctrl + / 을 사용하다가 여러 줄 주석이 되지 않을 때 해결방법 1. 키보드 입력이 한컴입력기로 설정되어 있음 2. 한컴입력기 > Microsoft 입..

    💢 Spring : GET & POST & Cookie

    📌 GET, POST 구분하기 🟣 GET 🗸 첫 번째 방법 - @RequestMapping @Controller @RequestMapping("/c02_1") public class Controller02_1 { @RequestMapping(method = RequestMethod.GET) // GET 요청일 때만 호출된다. @ResponseBody public String handler1() { return "get"; } } 🗸 두 번째 방법 - @GetMapping @Controller @RequestMapping("/c02_2") public class Controller02_2 { @GetMapping @ResponseBody public String handler1() { return "get..

    ➰ Spring : RequestHandler - Page Controller

    📌 페이지 컨트롤러 만드는 방법 @Controller // 너는 이제부터 컨트롤러야 @RequestMapping("/c01_1") // 컨트롤러에 URL을 매핑하지요 @RequestMapping // RequestHandler의 어노테이션 : 요청이 들어왔을 때 호출될 메서드임을 표시한다. @ResponseBody // 메서드의 리턴 값이 클라이언트에게 출력할 내용임을 표시한다. View 컴포넌트로 보낼려면 빼면 됨 🗸 URL 한 개 당 한 개의 핸들러만 연결할 수 있다. 🗸 같은 URL에 대해 다른 메서드를 또 정의하면 실행 오류가 발생한다. @Controller @RequestMapping("/c01_1") public class Controller01_1 { @RequestMapping @Respo..

    🔗 Spring : Session

    📌 세션 다루기 - HttpSession 직접 사용하기 🗸 HttpSession 객체를 사용하려면 아규먼트로 받아야 한다. @Controller @RequestMapping("/c03_1") public class Controller03_1 { @GetMapping(value="h1", produces="text/plain;charset=UTF-8") @ResponseBody public String handler1(HttpSession session) { session.setAttribute("name", "홍길동"); session.setAttribute("age", "20"); return "세션에 값을 보관했음!"; } } @Controller @RequestMapping("/c03_1") pub..

    🌇 Spring : ViewResolver

    📌 기본 View Resolver 사용하기 🟣 ViewResolver란? 🗸 실행할 뷰를 찾는 일을 한다. 🗸 페이지 컨트롤러가 리턴한 뷰 이름에 해당하는 뷰 콤포넌트를 찾는 역할. 🟣 종류는? 🗸 ResourceBundleViewResolver 🗸 *.properties 에서 뷰 이름에 해당하는 콤포넌트의 URL을 찾는다. 🗸 InternalResouceViewResolver 🗸 미리 지정된 접두사, 접미사를 사용하여 뷰이름으로 콤포넌트의 URL을 완성해 URL을 지정하기 편리하다. 🗸 교체 방법은 XML에서 설정하는 방법과 Java Config로 설정하는 방법이 있다. 🟣 실행과정 페이지 컨트롤러는 클라이언트가 요청한 작업을 실행한 후 그 결과를 출력할 뷰의 이름을 리턴한다. 프론트 컨트롤러는 Req..

    📌 Spring : RequestHandler - @ReponseBody

    📌 RequestHandler - @ReponseBody 🟣 1. 콘텐트를 직접 리턴하기 🗸 리턴 값이 클라이언트에게 보내는 콘텐트라면 메서드 선언부에 @ResponseBody를 붙인다. 🗸 붙이지 않으면 프론트 컨트롤러는 view URL로 인식한다. 🗸 출력 콘텐트는 브라우저에서 기본으로 HTML로 간주한다. 🗸 단 한글은 ISO-8859-1 문자표에 정의된 코드가 아니기 때문에 클라이언트로 보낼 때 '?' 문자로 바꿔 보낸다. @Controller @RequestMapping("/c05_1") public class Controller05_1 { @GetMapping("h1") @ResponseBody public String handler1() { return "minsungbyun ..

    🗄️ Spring : multipart/form-data 형식의 파라미터 값 받기

    📌 RequestHandler - multipart/form-data 형식의 파라미터 값 받기 // 클라이언트가 멀티파트 형식으로 전송한 데이터를 꺼내기 1. Servlet API에서 제공하는 Part를 사용하거나 2. Spring에서 제공하는 MultipartFile 타입의 아규먼트를 선언하면 된다. // 주의! 1. DispatcherServlet을 web.xml을 통해 배치했다면, 태그를 추가해야 한다. 2. WebApplicationInitializer를 통해 DispatcherServlet을 배치했다면, App1WebApplicationInitializer 클래스를 참고하라! // config 파일 public class App1WebApplicationInitializer extends Abs..

    💎 Spring : 프론트 컨트롤러(FrontController) & 프로퍼티 에디터(PropertyEditor)

    📌 프론트 컨트롤러로부터 받을 수 있는 파라미터 PageController의 메서드를 호출하는데 DispatcherServlet이 메서드가 원하는 파라미터가 뭔지에 따라 꼽아준다. 메서드가 뭘 리턴하는지에 따라 적절하게 처리해준다. return 값에 따라서 그대로 클라이언트에 응답할 응답데이터로 할지 Jsp이름이라면 Jsp를 실행해서 응답한다. RequestHandler 요청을 다루는 자 // 프론트 컨트롤러(DispatcherServlet)로부터 받고 싶은 값이 있다면 // 요청 핸들러를 정의할 때 받고 싶은 타입의 파라미터를 선언하라! // 그러면 프론트 컨트롤러가 메서드를 호출할 때 해당 타입의 값을 넘겨줄 것이다. // ServletContext는 의존 객체로 주입 받아야 한다. // 요청 핸들러..