BookController.java
컨트롤러 어노테이션(Annotation)
어노테이션이 있는 클래스
스프링 프레임워크(디자인 패턴 + 라이브러리 집합)이
웹 브라우저(크롬)의 요청(request)을 받아들이는 컨트롤러라고
인지해서 자바 빈(java bean)으로 등록해서 관리
package kr.or.ddit;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class BookController {
Model : 컨트롤러가 반환할 데이터(VO객체, List, List, Map, List, JSONG)를 담당
반환 타입은? 1)forward(데이터 담기O) 2)redirect(데이터 담기X)
View : 화면 담당
localhost:8090/create
@RequestMapping(value="/create", method=RequestMethod.GET)//create요청이 오면 get메서드를 실행 할거야
public ModelAndView create() {
ModelAndView mav = new ModelAndView();
//localhost:8090/WEB-INF/views/book/create.jsp
//servlet-context.xml에서
//prefix : /WEB-INF/views/
mav.setViewName("book/create");
//suffix : .jsp
return mav;
}
@RequestMapping(value="/make", method=RequestMethod.GET)//make요청이 오면 get메서드를 실행 할거야
public ModelAndView make() {
//배달해줄 라이더 생성
ModelAndView mav = new ModelAndView();
mav.setViewName("book/make");
return mav;
}
RequestMapping어노테이션 : 웹 브라우저의 요청에 실행되는 자바 메소드를 지정해줌
method : 속성, http 요청 메소드를 의미함
1) GET : 데이터를 변경하지 않는 경우 사용
2) POST : 데이터가 변경될 경우 사용
웹 브라우저에 화면을 보여줄 뿐 데이터의 변경이 일어나지 않으므로 GET 메소드를 사용한것임
jjajang() 메소드는 웹 브라우저에서 /jjajang 주소가 GET 방식으로 입력되었을 때
book/jjajang 경로의 뷰를 보여줌
@RequestMapping(value="/jjajang", method=RequestMethod.GET)
public ModelAndView jjajang(ModelAndView mav) {
//book/jjajang : 뷰의 경로
mav.setViewName("book/jjajang");
return mav;
}
}
servlet-context.xml
jjajang.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>짜장면</title>
</head>
<body>
<img src="/resources/images/jjajang.jpg"/>
</body>
</html>