728x90

www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791189184018&orderClick=&Kc=

 

코드로 배우는 스프링 웹 프로젝트 - 교보문고

이 책은 Spring Framework(이하 스프링)를 사용해서 말 그대로 ‘웹 프로젝트’를 어떻게 진행하는지를 설명하는 책입니다. 웹 프로젝트라고 거창하게 표현하지만, 좀 더 구체적으로는 스프링으로

www.kyobobook.co.kr

cafe.naver.com/gugucoding

 

구멍가게코딩단 : 네이버 카페

안녕하세요? 구멍가게 코딩단의 활동을 위한 카페입니다.

cafe.naver.com

 

  • Dispatcher servlet(servlet-context.xml) - mvc관련 일만 함

  • root-context.xml - service, mybatis 관련 컨트롤러

  • webapp-resources : css, contents관련 내용

  • WEB-INF - views에 뷰넣기

ex01

org.zero.controller

 


**설치할 것

  1. JDK

  2. Tomcat

  3. STS

  4. Oracle

  5. SQL Developer

**라이브러리

  1. lombok

**MVC관련

  1. DB, Mybatis연결(히카리 디비소스, sqlSessionFactory) - annotation방식, xml방식

  2. root.xml=> mvc를 제외한 나머지, servlet.xml=> mvc 관련 

**view와 controller

    view                                                                   ->                                           controller

    form(POST)              method(command객체), requestParam, pathValuable(RESTful방식)

    GET

    AJAX(버튼클릭)

 

 

controller                                                                ->                                                view

                                                              ModelAndView, Model

 

view -> controller -> view(redirect로 새로운 요청할 때) 143p: ModelAttribute, RedirectAttributes, return값이 객체일때(데이터 전달)

list나 객체 전달 -> json방식 : jackson-databind 라이브러리 추가, responseBody 선언

 

 

스프링

    ┝ 자바

         ┝ DB 순으로 접근  

 


 

**자바스크립트

 

---this 객체

일반함수안의 객체 this = window 객체

생성자 안 객체 =자기자신 객체

콜백함수 안 객체 = 클릭한 대상 객체(div 태그)

 

**requestBody = JSON으로 넘어온 데이터를 자바 객체로 변환

json key값과 객체의 변수명과 일치하면 자동변환

(url 일치 -> json으로 넘어와야 함)

**data : JSON.stringify(reply) -> 자바스크립트 객체를 JSON으로 변환

form.serailze || {key:value}

 

결론적으로 자바스크립트 객체 -> JSON -> 자바객체

 

$.ajax(){

success : function(result : 서버로부터 전달된 결과값, status, xhr)

    if(callback){

        callback(result);

} //callback 쓰는 이유는 다양하게 응용해서 화면상에서 표현해주기 위해(html, xml....)

 

call back 함수 : 전달된 결과값을 호출해서 화면에 출력하기 위한 역할

 

 

**REST 방식

  1. @RestController : Controller가 REST 방식을 처리하기 위한 것임을 명시(값만 전달하고 싶을때)

  2. @ResponseBody : 일반적인 JSP와 같은 뷰로 전달되는 게 아니라 데이터 자체를 전달하기 위한 용도

  3. @PathVariable : URL 경로에 있는 값을 파라미터로 추출하려고 할 때 사용

  4. @CrossOrigin : Ajax의 크로스 도메인 문제를 해결해주는 어노테이션

  5. @RequestBody : JSON 데이터를 원하는 타입으로 바인딩 처리

 

**Ajax

페이지 이동하지않고 즉각적으로 처리하고자 할 때

이벤트에서 시작 -> 자바스크립트 객체-> json(서버에게 전달할 데이터) -> html로 변환하는 작업

 

버튼을 누르면 add함수 호출 (함수 안에 ajax함수)

 

**$.getJson(url 경로)

 


  1. 자바스크립트(JS)

  2. AJAX, getJSON(파라미터)

  3. Controller메소드

  4. View


**file up/download

 

--MultipartFile Method

  • String getName() : 파라미터의 이름 <input> 태그의 이름

  • String getOriginalFileName() : 업로드되는 파일의 이름

  • boolean isEmpty() : 파일이 존재하지 않는 경우 true

  • long getSize() : 업로드되는 파일의 크기

  • byte[] getBytes() : byte[]로 파일 데이터 반환

  • InputStream getInputStream() : 파일데이터와 연결된 inputStream을 반환

  • transferTo(File file) : 파일의 저장

 

**ResponseEntity(JSON형식으로 데이터변환)

  • HttpStatus, HttpHeaders, HttpBody를 포함

 

728x90

'FULLSTACK > SPRING' 카테고리의 다른 글

Spring Boot - Spring Security 설정  (0) 2021.06.20
12/7~8 Spring Boot, JPA  (0) 2020.12.08
SPRING 4차시 - AOP, TRANSACTION, FILE UP/DOWN  (0) 2020.11.13
SPRING 3차시 - DB연결, RESTful방식  (0) 2020.11.13
SPRING 2차시 - AOP  (0) 2020.11.13

+ Recent posts