Java/Spring MVC

[20.09.25 SpMVC_ReadBook ] url, RestController, 톰캣에서 지원하는 접근방식(get, post)

우롱차 2020. 9. 25. 16:41
728x90

url이 생성되는 건 이렇게 @RequestMapping(value = "")이 두개가 묶여서 하나의 주소처럼 보이는것

 

톰캣이 지원하는 방식은 get, post 구체적으로 지원하는게 두가지

get : 메뉴를 클릭하거나 링크 를 클릭 하는 접근방식

post : 입력 폼에서 인풋박스에 값을 입력하고 submit을 클릭했을때 전송되는 방식 form에 입력된건 post!

>> BooksController


RestController

RestController는

4.0대 만들어지고 4.0.1 이 만들어짐

실무에서 사용되는건  4.5 부터?

 

 

메서드 위에 @ResponseBody 붙이는 것과 같고

return은 json으로 보냄

 

xml보다는 json방식으로 훨씬 많이 쓰고있기 때문에 json으로 강제로

(원래는 json으로 리턴되는게 맞는데 xml로 자꾸 되는 사람들이 있어서)

수동적으로 입력한 produces="application/json;charset=utf8"

 

Restcontoller가 붙어있는 클래스는 기본적으로 view를 본다!

 

 

요즘 방식은 jsp를 잘 사용하지않음

ajax를 이용해 json으로 데이터를 보내고

그걸 html에서 받아쓴다!

 

>> BookApiController


이렇게 많은 아이디가생기면 아이디로 이벤트 설정할 수 있지만

>> home.jsp

 

  // $("li#menu-home").click(function () {});
  // $("li#menu-books").click(function () {});
  // $("li#menu-read-book").click(function () {});
  // $("li#menu-login").click(function () {});
  // > 이렇게 여러가지 메서드를 만들 수 있지만 id값 추출해줌

  // nav의 li tag를 클릭했을 때
  $("#main-nav li").click(function () {
    let menu_text = $(this).text();
    let menu_id = $(this).attr("id");

    if (menu_text === "도서정보") {
      // document.location.href = rootPath + "books";
      document.location.href = `${rootPath}/books`;
    } else if (menu_id === "menu-home") {
      document.location.href = `${rootPath}/`; // 초기화면
    } else if (menu_id === "menu-read-book") {
      document.location.href = `${rootPath}/read/`;
    } else if (menu_id === "menu-join") {
      document.location.href = `${rootPath}/member/join`; // 초기화면
    } // > 이런식으로 텍스트를 알 수 있고, 혹은 id값을 추출해서 조건식 가능
    // >> 이게 바로 클릭함수에 한기능만 하는!!
    // 이게 하나의 메서드의 하나의 기능만 하는
  });

클릭함수를 여러개를 생성할 수도 있지만

하나의 method안에서 id값을 추출해서

하나의 method안에서 하나의 기능만 하게 만들어 준다.

 

메뉴의 텍스트가 도서정보와 같냐고도 할 수 있고

id값을 추출해서 사용할 수도 있음!

 

문자열에는 - 가 들어가게

변수명에는 _ 를 사용했다

변수명에는 -를 사용  X 

VSCode가 밑줄 그어주지만 이클립스는 밑줄안그어줘서 애를먹음

 

 

>> main-nav.js


아직 덜 정리

728x90