1024블로그시험공부

황선영·2023년 10월 24일
0
  1. 기본세팅
  2. 기본 레이아웃 잡기
  3. 가짜데이터 넣기
    포스트 Entity 만들고 DB연동
    포스트 레포지터리 만들고 템플릿에 실제 데이터
    전달하고 출력
  4. 포스트 기본형 추가 기능 만들기
    제목과 내용을 입력 가능하게 만들기
  5. 포스트 상세보기
  6. 포스트 수정기능
  • Entity -> db에 연결해주는 클래스

  • input submit해놓고 데이터 보내려면 보낼데이터 전부를 form으로 감싸줘야함

<애너테이션 정리>

@GetMapping : http get요청 처리하는 핸들러메서드에적용. 특정 url경로로 들어오는 get요청을 해당 메서드에서 처리한다.

@PostMapping : http post요청 처리하는 핸들러메서드에 적용. 특정 url경로로 들어오는 post요청을 해당 메서드에서 처리한다.
@RequestMapping : http 요청메서드에 상관없이 모든종류의 http요청을 처리하는 핸들러메서드에 적용.
특정 URL 경로와 HTTP 메소드에 대한 매핑을 지정할 수 있음.
예를 들어, @RequestMapping(value = "/example", method = RequestMethod.GET)은 "/example" 경로로 들어오는 GET 요청을 처리하는 핸들러 메소드를 정의합니다. (Spring 4.3 이후 버전에서는 @GetMapping, @PostMapping 등과 같은 더 구체적인 어노테이션을 사용하는 것이 권장됩니다.)

@Autowired -> 객체변수 선언 전에 씀. new 안해도 자동으로 객체생성 해주는애
@Responsebody -> 첨에 테스트할때만 쓰는애. 안에잇는거 웹창에 출력만하는애
@Controller -> 해당클래스가 스프링컨테이너에 의해 빈(bean) 으로 등록되며, 웹 어플리케이션에서 요청을 처리는데 사용된다. 컨트롤러 역할을 한다 는 뜻




인터페이스가 뭔지잘모르겟음

Q. 컨트롤러에 쓰는 메서드들은 다 무조건 애너테이션 적용해야되고, url로 매핑 해야되는건지? : 맞음
->스프링 부트에서 컨트롤러에 정의하는 메서드들은 애너테이션을 적용하고 URL 매핑을 해야 합니다. 스프링 프레임워크에서 HTTP 요청을 처리하기 위해서는 요청을 처리할 메서드에 어노테이션을 적용하여 해당 메서드가 어떤 URL에 응답해야 하는지를 지정해야 합니다.
요청 URL과 메서드를 명시적으로 지정함으로써 스프링은 어떤 메서드가 어떤 요청을 처리해야 하는지를 인식하고 관리할 수 있습니다. 요청 URL에 대한 매핑이 없는 메서드는 해당 요청을 처리할 수 없습니다. 따라서 스프링 부트 애플리케이션에서 컨트롤러의 메서드에는 애너테이션을 적용하고 URL 매핑을 정의해야 합니다.

Q. 리다이렉트랑 리턴이랑 먼차이
->
return "main" 이 구문은 뷰 이름을 반환한다.
컨트롤러에서 처리된 요청의 결과로 렌더링할 뷰의 이름을 반환합니다. "main"은 뷰의 이름이며, 스프링은 이를 뷰 리졸버(View Resolver)를 사용하여 실제 뷰 템플릿의 경로로 변환하여 클라이언트에게 반환합니다. 클라이언트는 최종적으로 해당 뷰가 렌더링됩니다.

return "redirect:/main":

이 구문은 리다이렉션을 수행합니다.
컨트롤러에서 처리된 요청을 완전히 새로운 URL로 리다이렉트합니다. 여기서 "/main"은 리다이렉션될 URL을 나타냅니다. 클라이언트의 브라우저는 이 URL로 새로운 요청을 보내고, 해당 URL에 매핑된 컨트롤러 메서드가 실행됩니다.

return "main"은 같은 컨트롤러 내에서 다른 뷰로의 내부 이동을 의미하며, 뷰의 렌더링을 위해 사용됩니다.
return "redirect:/main"은 브라우저에게 새로운 URL로 이동하라고 지시하며, 클라이언트가 해당 URL로 새로운 요청을 보내게 합니다. 주로 사용자를 다른 페이지로 리다이렉션하거나, 요청을 처리한 후에 사용자를 다른 페이지로 보내는 용도로 사용됩니다.

Q. 웹페이지에서, 클릭을 하든 뭘 하든 사용자가 어떤 동작을 실행하고 싶을땐, 무조건 url로 동작 선언?하고 해당메서드로 정의해서 두개를 매핑해야되는건가?
->무조건은 아님. 일반적으로 사용되는것중 하나임.
그러나 모든 동작을 URL과 메서드로 매핑할 필요는 없습니다. 예를 들어, 클라이언트 측에서 비동기적인 요청(AJAX 요청)을 보내어 서버와 통신하고, 페이지의 일부분만 업데이트할 때는 페이지 전체를 다시 로딩하는 대신에 특정 데이터만을 업데이트할 수 있습니다. 이런 경우에는 URL 매핑 없이 JavaScript와 AJAX를 사용하여 비동기적인 요청을 처리할 수 있습니다.

profile
개발필기노트

0개의 댓글