[spring] 스프링 부트 Controller

2024. 10. 8. 03:38·SPRING

🌿Controller

MVC는 Model-View-Controller의 약자로, 애플리케이션을 세 가지 주요 구성 요소로 나누어 관리하는 디자인 패턴이다.

@Controller
public class TestController {
  @RequestMapping("/")
  public String home() {
	  return "home";  // /WEB-INF/views/ + home + .jsp
  }
}

@Controller는 이 클래스가 Spring MVC의 컨트롤러 역할을 한다는 것을 나타내고, @RequestMapping은 웹 애플리케이션에서 특정 URL 요청(HTTP요청)을 메서드와 연결(mapping)한다.

 

구현: @Controller 어노테이션이 붙은 TestController 클래스의 home() 메서드는 루트 URL("/") 요청을 처리하고, "home"이라는 뷰 이름을 반환한다.

 

🌿View(home.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
  <h2>This is Home</h2>
  <a href="/test">Test(404오류)</a><br>
  <a href="http://localhost:9090/aaa">aaa</a>
</body>
</html>
  • http://localhost:9090/: 이 url이 요청되어 home.jsp로 연결된다.
  • http://localhost:9090/test:이 링크는 존재하지 않는 URL로, 404 오류를 발생시킨다.
  • http://localhost:9090/aaa: 이 링크는 "/aaa" URL로 연결되어 aaa.jsp 페이지를 호출한다.
  1. 404 오류 (Not Found)
    : 404 오류는 클라이언트가 요청한 리소스(웹 페이지, 이미지, 파일 등)를 서버에서 찾을 수 없음을 나타낸다.

    | 주요 원인
      URL이 잘못 입력되었거나 오타가 있는 경우
      요청한 리소스가 삭제되었거나 이동된 경우
      서버 구성에서 해당 URL에 대한 매핑이 설정되지 않은 경우

  2. 500 오류 (Internal Server Error)
    500 오류는 서버에서 요청을 처리하는 중에 알 수 없는 오류가 발생했음을 나타낸다.

    | 주요 원인
      서버의 코드(예: 서버 애플리케이션의 버그)에서 예외가 발생한 경우
      데이터베이스 연결 오류
      서버의 설정 문제
      외부 서비스와의 통신 오류

🌿Controller

@Controller
public class TestController {
  //http://localhost:9090/aaa
  @RequestMapping("/aaa")
  public String aaa() {
	  return "aaa";
  }
}

@RequestMapping("/aaa"): "/aaa" URL에 대한 요청을 처리한다.

 

구현: @Controller 어노테이션이 붙은 TestController 클래스의 aaa() 메서드는 루트 URL("/") 요청을 처리하고, "aaa"이라는 뷰 이름을 반환한다. 이때, aaa() 메서드는 "aaa" 문자열을 반환하며, 이는 JSP 파일 /WEB-INF/views/aaa.jsp를 렌더링하게 된다.

 

🌿View(aaa.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>aaa</h2>
</body>
</html>

 

 

'SPRING' 카테고리의 다른 글

[spring] 파라미터 다루기  (0) 2024.10.10
[spring]스프링 부트 MVC구조  (3) 2024.10.08
[spring] Spring Framework에서의 datasource 설정 및 Spring Boot migration  (2) 2024.10.04
[spring]Payload,Parameter, Attribute들의 관계  (2) 2024.10.01
[spring]JSTL(JSP Standard Tag Library)  (2) 2024.10.01
'SPRING' 카테고리의 다른 글
  • [spring] 파라미터 다루기
  • [spring]스프링 부트 MVC구조
  • [spring] Spring Framework에서의 datasource 설정 및 Spring Boot migration
  • [spring]Payload,Parameter, Attribute들의 관계
라텐느
라텐느
이제 막 개발을 시작한 초보가 개인공부를 하는 공간입니다.
  • 라텐느
    괴발개발
    라텐느
    • 개발자 (150)
      • HTML|CSS (14)
      • JAVA (29)
      • JAVACSCRIPT (15)
      • SQL (15)
      • 기타 (6)
      • JSP (2)
      • SPRING (13)
      • SPRING BOOT (6)
      • Git&GitHub (1)
      • 시행착오 (2)
      • 개발일지 (35)
        • GreenMiniProject1 (12)
        • GreenMiniProject2 (9)
        • GreenFinalProject (14)
      • Flutter (5)
      • 자격증 (1)
        • SQLD (1)
      • AWS (2)
      • Linux (1)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 태그
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    link
    오블완
    javascript
    개발자
    HTML
    input
    tag
    java
    일지
    부트캠프
    CSS
    자기계발
    JS
    태그
    db
    링크
    AJAX
    티스토리챌린지
    JQuery
    SQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
라텐느
[spring] 스프링 부트 Controller
상단으로

티스토리툴바