스트링 프레임워크
web.xml > root-context.xml > servlet-context.xml > 기본주소(/)호출 > 기본주소를 처리하는 Controller클래스의 메서드 호출 > 해당 jsp 화면 브라우저 출력
dependency를 작성하면 maven이 해당 라이브러리를 사용자/.m2/repository폴더에 다운받아 관리해줌
MVC(Model 2방식) : 웹 서비스 구축을 위한 디자인 패턴
M(Model)
V(view)
C(controller)
내가 기억으로 그려서 정확하지 않다 ㅠ
ex) Memberjoin.jsp[V] <->
MemberController.memberJoin() <->
MemberService.memberJoin() [C] <->
MemberRepository.memberJoin() <->
DB.memberTable Insert [M]
http의 요청과 응답을 처리해준다???
스프링프로젝트를 실행하면 기본주소는 가장마지막 패키지 이름귀에 /가 붙는다고 보면 됨.
ex) com.icia.study가 기본 패키지라면 실행시 기본 주소는
localhost:포트번호/study/
이후에 다른 주소요청을 하면 기본주소 위에 해장 주소가 붙는다고 보면 됨.
homeController에서 메서드를 만들어서
@RequestMapping(value=”/hello”) : 주소값에 /hello가 있으면 메서드를 실행
String 값으로 hi를 보내면 servlet-context에서 ViewResolver라는 것을 실행해
hi 값에 .jsp를 더해서 보이게 해준다.
V(jsp) > C(controller) 파라미터 전달
@RequestMapping
1번은 보낼 때(name) 2번은 받을 변수
변수를 받아서 메서드 안에서 사용?
아래와 같은 Annotation을 붙여주면 프로젝트를 시작할 때 스프링이 해당 클래스를 Spring Bean으로 등록하여 관리해줌
@Controller
@Service
@Repository
servlet-context에서 지정한 폴더(프로젝트?)에서 @어노테이션이 붙어있는 파일들을 찾아서 관리를 한다
homeController 에서
Model 변수 사용하기
.addAttribute(“ jsp에서 사용할 내용 ”,사용할 매개변수);
jsp에서
${jsp에서 사용할 내용}
프로젝트 우클릭 리프레쉬 해보기
메뉴 > project > clean
.m2/repository 삭제
sts 종료후 삭제
다시 sts 실행하면 좀 기다려야함.
서버 지우기
servlet-context.xml의 base package확인
이렇게 해도 안된다면 나 자신을 의심하자