

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern> </filter-mapping>
Spring Framework에서 사용되는 애너테이션으로, 웹 애플리케이션에서 요청을 처리하는 컨트롤러 클래스를 정의하는 데 사용됩니다. 이 애너테이션은 MVC (Model-View-Controller) 패턴의 일부로, 클라이언트의 요청을 받고, 처리한 후, 적절한 뷰를 반환하는 역할을 합니다.
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
private: 이 필드는 해당 클래스 내에서만 접근 가능함을 의미합니다.
static: 이 필드는 클래스의 인스턴스와 관계없이 존재하며, 모든 인스턴스가 공유합니다.
final: 이 필드는 초기화 후에 다시 할당될 수 없음을 의미합니다. 즉, 한 번 생성된 로거는 변경할 수 없습니다.
Logger는 로깅을 위한 클래스입니다. 이 객체를 통해 로그 메시지를 기록할 수 있습니다. 로그 메시지는 보통 다양한 수준(level, 예: DEBUG, INFO, WARN, ERROR 등)으로 기록됩니다.
LoggerFactory는 SLF4J에서 제공하는 팩토리 클래스입니다. getLogger(Class<?> clazz) 메서드는 주어진 클래스의 로거 인스턴스를 반환합니다. 여기서는 HomeController 클래스에 대한 로거 인스턴스를 생성합니다.
이 로거는 HomeController 클래스의 로그 메시지를 기록하는 데 사용됩니다. 즉, 클래스 이름을 기반으로 로거의 이름이 지정됩니다.
Spring Framework에서 HTTP 요청을 특정 메서드와 매핑하기 위해 사용하는 애너테이션입니다. 이 애너테이션은 주로 컨트롤러 클래스 또는 메서드에 적용되어, 해당 요청이 들어왔을 때 어떤 처리를 해야 할지를 지정합니다.
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
home 메서드는 문자열을 반환합니다. 이 문자열은 뷰의 이름을 나타내며, "home" 뷰를 반환할 것입니다.
클라이언트의 언어 및 지역 정보를 담고 있는 객체입니다. 이 정보는 사용자의 언어와 지역에 맞춘 날짜 및 메시지를 표시하는 데 사용됩니다.
Model model: 컨트롤러와 뷰 간에 데이터를 전달하는 데 사용되는 객체입니다. 뷰에서 사용될 데이터를 이 모델에 추가할 수 있습니다.
로깅 프레임워크를 사용하여 로그 메시지를 기록합니다. 클라이언트의 로케일 정보를 로그에 출력하여 디버깅이나 정보 추적에 활용할 수 있습니다.
현재 날짜를 지정된 포맷으로 문자열로 변환합니다.