@Controller 맛보기
package lx.edu.eleventh;
import java.text.DateFormat;
import java.util.Date;
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;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
//logger : 홈 컨트롤러의 클래스변수
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
// 이 url로 들어오면 홈 메서드가 실행되는데
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.jsp 파일을 의미
}
}
Framework 프레임워크
- 클래스와 패턴의 집합
클래스: 필드 메서드 생성자의 집합
패턴: GoF패턴과 자바EE패턴 - 반제품 소프트웨어(절반은 만들어져있음!)
- 아키텍처와 디자인 패턴의 집합
시골의 단독주택 또는 빌딩이 있을 수 있는데 그런것들의 아키텍처는 다르다
공장의 건물의 뼈대는 서로 다르다 -> 모델1, 모델2, MVC
JSP가 있는데 ajax를 썼을 때 좋아지는 점: 화면을 깜빡이지 않고도 화면의 일부가 바뀜
관점: 어떻게하면 좀더 깔끔하고 쉽고 빠르게 개발하지 해서 만들어진 기술들 - 재사용 가능한 API의 집합
- 다계층적, 여러 클래스 및 컴포넌트의 집합
기존 code를 수정해야하는 일이 발생
→ 불안해 어디서 무슨 문제가 생길지 장담할 수 없음
→ 기존의 코드는 안고쳐도 될 수있게 만들어놓음
→ 기능에 해당하는 클래스를 만들어서 넣기만하면 끝!
장점: 개발생산성높아짐, 코드재사용높아짐, 고품질코드, 변경용이, 이식성증대, 운영용이성
'BackEnd > Spring' 카테고리의 다른 글
[Spring] Maven project 시작하기 (5) | 2024.09.04 |
---|