겉바속촉
[spring] MVC 본문
MVC 프로젝트 생성을 해볼게요
그 전에 MVC에 대해서 개념을 알아봅시다:)
M: Model_각 로직을 담당하는 자바클래스(POJO)컨트롤러
V: View_보여지는 부분을 담당_HTML,Jsp,React,Angular….
C: Controller_처음시작시 무조건 호출되는 프론트 컨트롤러를 의미_Servlet
(스프링에서 프론트 컨트롤러는 딱하나 -> DisPatherServlet)
프로젝트 하나 생성해줄게요:)
프로젝트name 만들어주신 후에 Next
그리고 이름까지 생성해주세요
####.###.### ---> 요런식으로해주시면 됩니다!!
그리고 pom.xml 들어가셔서 5.1.2로 framework-version 고쳐주세요:)
servlet-context.xml에서 다음 표시한부분으로 고치기
패키지 만들면서 자동으로 만들어진 컨트롤러 지우기
우리가 새로 만들어주기
어노테이션 컨트롤러 해주기--->컴포넌트라고 이해하기
폴더 하나랑 그 안에 jsp파일 하나 만들어주세요
result.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Insert title here</title>
</head>
<body>
<h1>result.jsp파일입니다</h1>
<h2>Hello Controller로 부터 포워드</h2>
<b>이름: ${name}</b><br>
<b>이름: ${requestScope.name }</b><br>
<b>주소: ${requestScope.addr }</b><br>
</body>
</html>
그리고 컨트롤러
보라돌이를 name으로 받고
서울구로를 addr로 받습니다.
return "result";
라고 해주시는 거에요!!
여기서 포인트는 result만 적어도 된다는 점입니다
포워드가 생략된 거쥬!!
즉 (WEB-INF/day0626/result.jsp)가 생략된거에요:)
include는 갔다가 돌아온다고 생각해주시면 되지만
포워드는 우리가 정보를 가지고 그쪽으로 간다고 생각해주시면 됩니다.
HelloController.java
package spring.day0626.ex1;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HelloController {
@RequestMapping(value = "/", method=RequestMethod.GET)
public String hello(Model model)
{
//Model은 request에서 데이터를 저장하기 위한 인터페이스
//서블릿에서 코딩했던 request.setAttribute와 같다
model.addAttribute("name", "보라돌이");
model.addAttribute("addr", "서울구로");
return "result"; //포워드(WEB-INF/day0626/result.jsp)가 생략되어 있는 것
}
}
그리고 템플릿 하나 만들어줄게요
필요한 코드들 넣어서 아예 만들어주는거쥬
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Insert title here</title>
</head>
<body>
<h1></h1>
</body>
</html>
server 돌릴 때는 항상 하나만 켜주세요!!
그럼 다음과 같이 결과값이 잘 나오쥬?!
'IT일기(하반기) > SPRING' 카테고리의 다른 글
[spring] 확장자 변경해서 이동해보기 (0) | 2020.06.26 |
---|---|
[spring] 확장자명 연습하기 (0) | 2020.06.26 |
[spring] 어노테이션 @Resource 연습 (0) | 2020.06.25 |
[spring] 어노테이션 연습하기 (0) | 2020.06.25 |
[spring] 생성자, setter 주입 각각 연습하기 (0) | 2020.06.25 |