컨트롤러 어노테이션

조수경·2022년 1월 26일
0

Spring

목록 보기
4/43

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>
profile
신입 개발자 입니다!!!

0개의 댓글