
HelloController.java:package org.zerock.controller;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
// HelloController 클래스는 Spring MVC에서 HTTP 요청을 처리하는 역할을 하는 컨트롤러입니다.
// "/hello" 경로로 GET 요청을 받으면 "hello.jsp" 페이지를 반환합니다.
@Controller
public class HelloController {
// 로그를 기록하기 위한 Logger 객체 생성
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
// "/hello" URL 경로로 GET 요청이 들어오면 호출되는 메소드
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String sayHello(Locale locale, Model model) {
// model에 "message"라는 이름의 속성 추가. 이 값은 JSP에서 출력될 내용입니다.
model.addAttribute("message", "Hello Spring");
// "hello"라는 이름의 JSP 페이지로 포워딩
return "hello";
}
}
@Controller
public class HelloController {
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
@GetMapping({"/hello", "/helloSpring"}) // 경로 두개 지정 예시
public String hello(Model model) {
model.addAttribute("message", "Hello Spring");
return "hello";
}
}
hello.jsp:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- model에서 전달된 "message" 값을 출력합니다. -->
<P> ${message} </P>
</body>
</html>
HelloController 클래스는 /hello 요청을 처리하고,
해당 요청에 대한 응답으로 "Hello Spring"이라는 메시지를 JSP 페이지에 전달하여 화면에 출력합니다.
JSP 페이지는 이 메시지를 ${message}로 출력합니다.
.xml 설명서 사용법root-context.xml:servlet-context.xml:DispatcherServlet의 설정, HandlerMapping, ViewResolver, 파일 업로드 설정 등이 이 파일에 포함됩니다.root-context.xml<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<context:component-scan base-package="org.zerock.service"></context:component-scan>
</beans>
HelloService.javapackage org.zerock.service;
import org.springframework.stereotype.Service;
@Service
public class HelloService {
public String getMessage() {
return "맛점하세요!";
}
}
HelloController.java@Controller
public class HelloController {
@Autowired
private HelloService service;
@GetMapping({"/hello", "/helloSpring"})
public String hello(Model model) {
// HelloService에서 메시지를 가져옴
String message = service.getMessage();
model.addAttribute("message", message); // JSP에 전달할 메시지
return "hello"; // hello.jsp로 이동
}
}