본문 바로가기

Backend/Spring

(8)
7. STS / MVC 처리 순서 Spring MVC 처리 순서 1. 클라이언트(Client)가 서버에 어떤 요청(Request)을 한다면 스프링에서 제공하는 DispatcherServlet 이라는 클래스(일종의 front controller)가 요청을 가로챈다. (web.xml에 살펴보면 모든 url ( / )에 서블릿 매핑을하여 모든 요청을 DispatcherServlet이 가로채게 해둠(변경 가능)) 2. 요청을 가로챈 DispatcherServlet은 HandlerMapping(URL 분석등..)에게 어떤 컨트롤러에게 요청을 위임하면 좋을지 물어본다. (servlet-context.xml에서 @Controller로 등록한 것들을 스캔해서 찾아준다.) 3. 요청에 매핑된 컨트롤러가 있다면 @RequestMapping을 통하여 요청을..
7. STS / @PathVariable @RequestParam @PathVariable은 스프링 3 이후부터 지원되는 기능 페이지를 전환할 때에도 특정 파라미터값을 유지해야할 경우에 주로 사용 @PathVariable vs @RequestParam @RequestMapping 어노테이션 값으로 {템플릿변수} 를 사용합니다. @PathVariable 어노테이션을 이용해서 {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가하면 됩니다. RequestMapping 어노테이션에 변수를 포함하고 있구요. 이들 변수는 @PathVariable 어노테이션이 적용된 동일한 이름을 갖는 파라미터에 매핑됩니다. 출처: https://sarc.io/index.php/development/1145-pathvariable 이렇게 PathVariable에 "userId"를 던져주면 깔끔..
6. STS / RESTful API 로 user 정보 관리하는 관리자페이지만들기 결과샷 1. 오른쪽에는 등록되어있는 유저들 리스트 2. 왼쪽에는 정보를 보거나, 수정 및 등록 할 수 있는 창을 준비 1. pom.xml (jdbc 인식 못해서 계속 404 에러뜨는데 뒤질뻔했다.. 정말 xml 너란자식... ㅠ) oracle Oracle JDBC Repository http://maven.jahia.org/maven2 com.oracle ojdbc6 12.1.0.2 org.projectlombok lombok 1.18.12 provided com.fasterxml.jackson.core jackson-databind 2.11.0 com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.11.0 org.mybatis mybatis 3.2.8 ..
5. STS / REST API REST(Representational State Transfer): 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개된 용어로 "웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용"하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미한다고 한다. Restful API: REST 특징을 지키면서 API를 제공하는 것을 의미한다. HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달할지 정해주는 가이드라인 REST 의 주요한 목표 1. 구성 요소 상호작용의 규모 확장성(scalability of component interactions) 2. 인터페이스의 범용성 (Gener..
4. STS / Mybatis 게시판에 이미지 업로드하고 다운로드 받기 결과 샷 1. 한글 이름의 파일은 미리보기가 불가능하고, 영어이름의 파일은 미리보기가 가능. 2. 다운로드는 당연히 모두다 가능 3. sqldeveloper에도 잘 올라가있음 1. pom.xml org.mybatis mybatis 3.2.8 org.mybatis mybatis-spring 1.2.2 org.springframework spring-jdbc ${org.springframework-version} commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4 2. root-context.xml 3. mapper.xml // 매퍼가 들어있는 위치 INSERT INTO IMAGEBOARD VALUES (IMAGEBOARD_SEQ.NE..
3. STS 로 랜덤한 숫자의 인증코드 이메일로 보내고 인증절차 거치기 1. 우선적으로 이메일 인증을 위한 Dependency 2개 (pom.xml) javax.mail mail 1.4.7 org.springframework spring-context-support ${org.springframework-version} 2. mailSender bean 생성 (root-context.xml) 1) 받는 계정은 모든 계정이 가능하다. 2) 보내는 계정은 구글 계정만 가능하다. 3) 구글 로그인 후 "보안 수준이 낮은 앱 허용" 을 허용해야 한다. true true 3. index.jsp (맨처음 view page)에서 이메일 인증을 받고 서비스를 시작할 수 있게 한다. // ->controller 로 연결 You need to be authorized before using ..
2. List/Set/Map handler 각각의 클래스들을 생성하고 생성자는 따로 만들어주지 않고 필드와 메소드만 만들었다. 앞 전 포스팅에서 말한대로 값을 주입하는 것은 DI로, xml(bean-contex)에서 진행 bean-context.xml 떡볶이 순대 튀김 떡꼬치 피카츄 사과 바나나 사과 바나나 오렌지 // 여기서 사과, 바나나는 2개지만 메인클라스에서 실행할때 사과,바나나,오렌지라고만 출력된다. 즉, 중복된 값은 제거되어 출력
1. Spring IoC / DI IoC(Inversion of Control) : 그동안은 개발자가 객체를 new(방식을)를 통해 만들고 제어권을 가지고 있었다면, 스프링에선 Spring Bean Configuration file, java file 로 스프링 자체에서 객체 생성이 가능하고 즉 이 만들어주고 관리해주는 컨테이너에게 제어권을 반환해준다는 의미 DI(Dependency Injection) : 의존성 삽입. 그동안은 개발자가 생성자와 setter를 통해서 값을 주입했다면 DI는 스프링이 알아서 객체에 "값을 주입"한다. Spring이 지원하는 2가지 DI 유형 - SI (Setter Injection): Setter Method를 명시하여 자동적으로 의존성 삽입이 이루어 지는 유형 - CI (Constructor Inject..