🌿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 페이지를 호출한다.
- 404 오류 (Not Found)
: 404 오류는 클라이언트가 요청한 리소스(웹 페이지, 이미지, 파일 등)를 서버에서 찾을 수 없음을 나타낸다.
| 주요 원인
URL이 잘못 입력되었거나 오타가 있는 경우
요청한 리소스가 삭제되었거나 이동된 경우
서버 구성에서 해당 URL에 대한 매핑이 설정되지 않은 경우 - 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 |