위 사이트에서 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 |