[SPRING] book app 만들기 - 1

THOVY·2022년 5월 28일
0

LEARNING

목록 보기
2/15

만들어놓은 SPRING 프로젝트에 BOOK CONTROLLER 를 추가해 APP 을 작동시켜본다.


시작👊

  1. src/main/java 패키지에 패키지를 하나 만든다.
    dev.sample.controller 라고 만든거임.
    1-1. 그 안에 BookController.java 파일을 만들어준다.✅

  1. bookController.java 에 코드를 작성해야됨.
    HttpServletRequeset Response를 작성함.

빨간줄이 왜 나오냐?

→ return 값이 없으니.

→ return 값을 null 로 주고 위에 적혀 있는대로 console 창에만 인쇄할 수도 있음.✅




하지만 우리는 그것보다 조금 더 나아가길 원하기 때문에

  1. return 값으로 "result1.jsp" 를 적어준다. 그리고 result1.jsp 를 만들어줄거다.

    1-1. result1.jsp 에 body 부분에 워하는 메세지를 적어준다.(우리는 일단 페이지 호출 확인이 목적이므로, "결과 페이지를 호출 했습니다." 를 적어줬다.✅

  2. Servlet 을 이용한다.

    2-1. class 위에 @Controller 를 입력하며 Springframeworkimport 해준다.

    2-2. ex1 메서드 위에 @RequestMapping("/add") 를 입력해준다.
    이제 이 메서드를 호출하려면 메인페이지/add 를 하면 이 메서드가 호출되어 return 값으로 지정된 result1.jsp 가 호출된다.✅

⁉ 어떻게 호출하냐 ?!

index.jspbody 부분에 적어주는데 action 을 어떻게 할지 적으면 된다.
우리는 도서명과 도서저자를 적어넣고 제출(submit) 하면 다음 페이지로 넘어가려고 하므로,

<body>
	<form action="add">
		<label for="name">도서명</label><br>
		<input id="name" type="text" name="name"><br> 
		<label for="author">저자</label><br>
		<input id="author" type="text" name="author"><br>
		<input type="submit">        
	</form>
</body>

이렇게 action 에 add 라고 적어주면 RequestMapping 에 적어준 "/add" 가 호출되어 그 아래 적힌 메서드가 호출된다.✅

쉽죠?

첫번째 메서드 작동을 확인했으니

  1. 두번째 실험 페이지 "/add2" 를 만들어보자.

  2. ModelAndView 라는 클래스를 import 해준다. 메서드 이름은 ex2 라고하고, 메서드 위에 "/add" 라고 매핑 해주자

  3. ModelAndView 라는 클래스를 가져왔으니 객체를 만들어준다. 객체이름은 modelAndView 라고 할까
    ModelAndView modelAndView = new vodelAndView(); 라고.

  4. ModelAndView의 setViewName() 메서드를 이용해 페이지를 바꿔보자. 괄호 안에 이동시킬 페이지 파일명을 임력해준다. result2.jsp 로 이동시켜볼까.
    modelAndView.setViewName("result2.jsp"); 라고.

    6-1. result2.jsp 가 있어야겠지? 같은 위치에 만들어준다.
    6-2. 이번엔 입력한 도서명을 표시해주는 페이지를 만들어보자
    body 에 도서명 : ${bookName} 이라고.

  5. modelAndview.addObject("bookName", name); 이라고 적어주고, modelAndView 객체를 return 하자.

  6. index.jsp 에서 action="add2" 라고 해서 실행해보자.✅

실행하면 제대로 안나올거야.

?! 입력한 도서명이 안 나올텐데.

isELIgnored="false"%

저렇게 EUC-KR 뒤에 입력해준다.
그럼 잘나온다✅

오늘은 여기까지✅

profile
BEAT A SHOTGUN

0개의 댓글