[Spring]6. welcome page 만들기(3) *

최혜원·2024년 2월 5일

Spring

목록 보기
6/9

** controller 란 무엇인가

  • servlet : 웹서버는 정적인 페이지만을 제공하므로, 동적인 페이지를 제공하기 위해서는 웹서버는 다른 곳에 도움을 요청하여 동적인 페이지를 작성해야 한다. 동적 페이지로는 임의의 이미지만을 보여주는 페이지와 같이 사용자가 요청한 시점에 페이지를 생성해서 전달해 주는 것을 의미한다.
    즉, 웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이다.

  • Controller는 MVC 패턴에서 사용되는 디자인 패턴 중 하나로, 사용자 인터페이스와 비즈니스 로직 간의 상호 작용을 중재하는 역할을 합니다. Spring MVC와 같은 프레임워크에서는 Controller를 사용하여 웹 애플리케이션을 구성할 수 있습니다.
    Spring MVC와 같은 프레임워크에서 사용되는 Controller는 Servlet 기반으로 동작하지만, 추가적인 기능과 추상화를 제공하여 개발자가 보다 쉽게 웹 애플리케이션을 구축할 수 있게 합니다.

  • 비슷한 것 같지만, controller은 MVC pattern을 따라 메시지를 모델에 추가하고, 뷰 반환

step1) java - hello.hello.spring 밑에 package 해서 xx.controller 라는 package 설정

step2) controller package 밑에 java class 생성(이름은 HelloController)

step3) 코드 작성

  • web application에서 첫 진입점이 controller 이므로 @Controller
  • method 작성하기
public String hello(Model model){
		model.addAttribute("data","hello!!");
        return "hello";
    }
  • 해설 : @GetMapping("hello") // controller가 /hello에서 들어오면 해당 메소드 호출

step4) main - resources - template 에서 우클릭을 통해 new file 생성(이름은 hello.html) 후에 다음 코드 작성

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>

결과

첨가

public String hello(Model model){
		model.addAttribute("data","hello!!");
        return "hello"; // return 하는 값의 이름이 template에 만든 html 의 파일명과 동일해야 한다
    }

컨트롤러에서 리턴값으로 문자를 반환하면, viewresolver 가 화면을 찾아서 처리한다.\
스프링 부트 template 기본 viewName 매핑
resources:templates/viewname.html
(viewname은 설정한 대로 변화 가능)

profile
공부하자

0개의 댓글