728x90

 

https://start.spring.io/

위 사이트에서 Generate

Group :  프로젝트를 식별 고유 아이디.
 ex) com.cafe24.test

Artifact : 버전 정보를 생한 이름(jar, war) , 프로젝트 ID

 ex) Test Project

 

Application.java

@SpringBootApplication:  @EnableAutoConfiguration, @ComponentScan, @Configuration을 하나로 묶은 어노테이션

 

실행 시 서버가 가능되는 걸 볼 수 있다.

 

- 시작페이지를 만들기 위해

resources > static 하위에 index.html 파일을 생성

시험적으로 body의 내용을 바꾸고 localhost:8080페이지를 열어보면 index.html의 내용을 확인가능

 

 

- 컨트롤러 생성

Inaugurate/src/main/java 경로에 TestController.java파일 생성

package com.cafe24.itwillbs2.Inaugurate.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {

	@RequestMapping(value = "/home")
	public String home() {
		return "index.html";
	}
}

http://localhost:8080/home 경로 접속 시 index.html 의 내용이 출력된다

 

 

@ResponseBody 로 data 전달

Controller.java

(...)
@ResponseBody
	@RequestMapping("respTest")
	public String respTest() {
		String val = "Response Test!";
		return val;
	}

 

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script
	src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
	$.ajax({
		type: "GET", url: "/respTest", 
		success: (data) => { console.log(data); 
		$('#contents').html(data); }
	});
</script>


</head>
<div id="contents"></div>
<body>Hello World!
</body>
</html>

 

- Rest컨트롤러 이용하기

 -  RestController는 Spring 4.0이상에서 지원하며 @RestController 는  @ResponseBody 어노테이션은 기본적으로 활성화되어있어 추가 불필요

 

class 이름을 RestController로 하면 어노테이션과 이름이 충돌되기 때문에 TestRestController로 클래스 생성

 

TestRestController.java

(...)
@RestController
public class TestRestController {
	
	@RequestMapping(method = RequestMethod.GET, value = "/restTest")
	public String getValueTest() {
		String testVal = "restController Test";
		return testVal;
	}

}

index.html에서  ajax요청 url만 바꿔서 테스트 해보면 TestRestController클래스의 메소드의 테스트값이 출력되는 걸 확인가능하다.

 

 

* 스프링 부트 프로젝트 폴더구조

src
└─ main
   └─ resource
      └─ templates (View: Thymeleaf, Groovy, Velocity 등)
      └─ static    (정적 컨텐츠 : html, css, js, image 등)

 

- view로 JSP 사용하기

src/main/webapp/WEB-INF/views 에 index.jsp파일 생성  (폴더 없으면 생성)

 

pom.xml에 의존성 추가

<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
</dependencies>

application.properties에 환경설정 추가

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

Controller.Java 소스 추가작성

@RequestMapping("test")
	public ModelAndView test() throws Exception {
		ModelAndView mav = new ModelAndView("index");
		mav.addObject("name", "gildong");
		List<String> testList = new ArrayList<String>();
		testList.add("a");
		testList.add("b");
		testList.add("c");
		mav.addObject("list", testList);
		return mav;

	}

서버실행 후 확인해보면 index.jsp의 화면을 보여줌을 알 수 있다.

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>Hello Spring Boot!</h1>
	<div>JSP List Test</div>
	<c:forEach var="item" items="${list}" varStatus="idx"> ${idx.index}, ${item} <br />
	</c:forEach>

</body>
</html>

 

'Web Develop > Web Programming' 카테고리의 다른 글

WebRTC 및 Node 등 스터디  (0) 2022.02.25
html 기초  (0) 2021.01.07
반응형 웹 만들기  (0) 2017.03.23
HTML 5 미지원 브라우저 고려하기  (0) 2017.03.21
윈도우 웹서버 설치 및 HTML 실습기초  (0) 2017.03.09

+ Recent posts