목록Spring (9)
archive

브라우저(클라이언트)에서 request가 들어오면, 가장 먼저 DispatcherServlet으로 전달된다. DispatcherServlet에서는 이를 HandlerMapping에 전달한다. HandlerMapping에서는 요청을 처리하기 위해 적합한 Controller를 선택한다. (@Controller) HandlerAdapter에서는 해당 Controller에서 적합한 메서드를 선택한다. (@RequestMapping) DispatcherServlet은 해당 Controller에 요청을 보낸다. Controller의 메서드가 수행되고 난 후 model과 view(jsp)를 반환한다. DispatcherServlet에서 ViewResolver에 전달하여, 처리결과를 출력할 view를 선택한 후, re..

네이버 쇼핑 검색 API에 대한 정보는 아래 링크에서 확인할 수 있다. 검색 API 쇼핑 검색 개발가이드 NAVER Developers - 검색 API 쇼핑 검색 개발가이드 developers.naver.com 먼저, 해당 API를 이용하기 위해서 신청을 해야 한다. 이용신청이 완료되면 client_id와 secrete_key가 발급된다. 자바 애플리케이션에서 사용해보기에 앞서서 ARC로 response를 받아보겠다. 발급받은 두 가지 값을 header에 넣어주고 검색어는 parameter로 넘겨줘야 한다. parameter에는 검색어 이외에도 정렬 기준 등을 지정할 수 있다. (사이트 참고) 참고로 한글 검색어를 넣는 경우에는 인코딩 문제로 결과가 정상적으로 나오지 않는다. (Postman에서는 정상작..
Person테이블에 데이터를 CRUD하는 API를 작성하였다. Person.java @Setter @Getter @NoArgsConstructor @Entity public class Person extends Timestamped { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private String name; @Column(nullable = false) private int age; @Column(nullable = false) private String job; public Person(String name, int age, String job) { this.name =..

Spring MVC Controller에서는 View를 반환하는 경우도 있고, Data만을 반환하는 경우가 있다. Spring에서 컨트롤러를 지정해주기 위한 어노테이션에는 @Controller와 @RestController가 있다. 그 중 Data만을 반환하는 경우에 @RestController를 사용한다. ● Person객체의 정보를 웹 화면에 나타내기 먼저, Person class 를 아래와 같이 작성하였다. package com.study.week01.person; public class Person { private String name; private int age; private String job; public String getName() { return name; } public int ..

IntelliJ에서 tomcat 서버는 기본적으로 8080포트 위에서 작동한다. 그런데 RUN시킨 서버가 종료되지 않은 상태에서 프로그램이 비정상적으로 종료된 경우, 프로그램 상에서 서버를 STOP시킬 수도 없고, 다시 RUN을 하면 Port 8080 was already in use 라는 오류가 뜨는 상황이 발생한다. 이럴 때는 8080포트 위에서 작동되고 있는 프로세스를 직접 종료시켜주면 된다. 터미널에 아래 명령어를 입력한다. sudo lsof -i :portNum sudo kill -9 processNum losf명령어를 통해 실행중인 프로세스의 PID를 찾고 kill -9 명령어를 통해 해당 프로세스를 종료시킨다. (예시)

'웹 개발'은 크게 세 가지로 나눌 수 있다. 1. 정적 컨텐츠 앞선 포스팅에서 index.html 파일을 배포하여 그대로 화면에 띄운 것처럼, 별도의 변환과정 없이 작성된 파일 그대로 웹브라우저에 보여지는 것을 말한다. 2. MVC와 템플릿 엔진 웹 페이지가 서버를 통해 동적으로 보여진다. 이 때 MVC(Model, View, Controller)패턴이 사용된다. viewResolver가 작동하여 view를 찾아주고 템플릿엔진을 연결해준다. 최종적으로 변환된 HTML이 웹브라우저에 보여진다. 과거에는 View와 Controller의 구분이 없었으나, 최근에는 View는 오로지 보여지는 것만 담당하고 나머지는 Controller에서 처리할 수 있도록 한다. 3. API @ResponseBody를 사용하여..