URL 매핑과 컨트롤러

1. URL 매핑

url 매핑이란 웹에서 사용자가 요청하는 URL을 어떤 컨트롤러가 처리할지 연결 해주는것을 말합니다.

http://localhost:8080/demo 라는 url에 요청을 보냈다고 가정할 때, /demo에 대한 매핑이 되어있지 않으면 스프링 부트에서는 404오류를 보냅니다. 해석할 수 없는거죠.

이러한 매핑을 위하여 필요한 것이 컨트롤러입니다.

 

2. 컨트롤러

스프링부트는 브라우저에서 페이지 요청이 발생하면, 컨트롤러에 등록된 URL 매핑을 찾고 해당 url과 연결된 메서드를 실행합니다.

즉 컨트롤러가 전체적인 url에 대한 연결을 관리한다고 이해하면 됩니다.

//HomeController.java
package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    @GetMapping("/demo")
    public String index() {
        return "index";
    }
}

 

URL 매핑을 할 떄 필요한 어노테이션은 크게 두 가지입니다.

  • @Controller
  • @GetMapping, PostMapping

@Controller 어노테이션을 적용하면 그 클래스는 스프링 부트의 컨트롤러가 됩니다. 

위 코드를 보면 @Controller가 적용된 HomeController가 컨트롤러의 역할을 하게 되는것이죠.

 

@GetMapping 어노테이션은 요청된 url과의 매핑을 담당합니다. 이름처럼 Get 방식으로 들어온 요청에 대한 매핑이죠. 

비슷하게 PostMapping은 Post 방식으로 들어온 요청에 대한 매핑을 담당합니다.

코드를 마저 읽어보면 @GetMapping("/demo")의 뜻은 /demo로 들어온 Get요청에 대하여 매핑해주겠다 라는 뜻이 됩니다.

 

위 코드의 경우 index라는 이름을 가진 view를 스프링이 templates 디렉터리에서 찾아서 보여주게됩니다. 

index() 메서드 앞에 붙은 String은 스프링 부트에게 어떤 view를 보여줄지 이름을 문자열로 전달할게 라는 뜻이 됩니다.

아마 index라는 이름을 가진 HTML을 templates 디렉터리에서 찾아서 보여주게 될겁니다.

'보안 > 이론 정리' 카테고리의 다른 글

웹 해킹 - PHP output buffer overflow  (0) 2025.12.04
웹 해킹 - XSS Filter Bypass  (0) 2025.10.15
웹 해킹 - 직렬화와 역직렬화  (0) 2025.09.25
웹 해킹 - URL 필터 우회  (0) 2025.09.23
Java - 어노테이션(@)  (0) 2025.09.22

+ Recent posts