SpringBoot으로 웹 출시까지 #4

springboot logo

4. thymeleaf를 이용해 레이아웃 만들기

1 myhome 만들기

https://start.spring.io/

 

project : maven

springboot :  최대한 낮은 버전 / SNAPSHOT X로 선택

group : godcoder

artifact, name : myhome

java: 8

dependencies : Thymeleaf / Spring Web / Spring Boot DevTools / Lombok

2 IntelliJ와 git 연동하기

https://github.com/

깃허브 계정이 없으신분들은 회원가입을 진행합니다.

그 뒤 강의 내용대로 진행하시면 됩니다.

저는 이번 클론 코딩을 진행하는 모든 코드를 한 번에 관리하기 위해 강의와 다르게 연동하였습니다.

git repository 생성 및 로컬 폴더 연결

을 누르시면 모든 프로젝트를 하나의 리포지토리로 관리 하실 수 있습니다.

3 bootstrap 적용

부트스트랩 스타터 탬플릿 적용

https://getbootstrap.kr/docs/5.0/getting-started/introduction/

– 강의 시점과 시간이 달라 버전이 업그레이드 되었습니다.

    코드가 달라지고, 명령어가 수정되었습니다.

    최대한 유사한 코드를 사용해서 작성했습니다.

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
    -->
  </body>
</html>

Visual Studio Code 연결

컴퓨터에 자동 설치된 비주얼스튜디오를 실행시켜 프로젝트 파일(myhome – main – resources)을 열어줍니다.

template 폴더 아래 “index.html” 파일을 만들고 복사한 내용을 붙여넣습니다.

<html lang=“en”> -> <html>으로 수정합니다.

[intelliJ] HomeController 만들기

myhome 아래 “controller” 폴더를 생성하고,  “HomeController” 클래스를 작성합니다.

package com.godcoder.myhome.controller;

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

@Controller
public class HomeController {
@GetMapping
public String index(){
return "index";
}
}

[VSCode]starter-template.css 작성

myhome – src – main – resources – static 아래 “starter-template.css” 파일을 생성합니다.

body {
padding-top: 5rem;
}
.starter-template {
padding: 3rem 1.5rem;
text-align: center;
}

“SpringBoot으로 웹 출시까지 #4”의 44,536개의 댓글

  1. Соблюдаем конфиденциальность, бережно общаемся с пациентом и его близкими на каждом этапе.
    Ознакомиться с деталями – [url=https://5vyvod-iz-zapoya-moskva77.ru/]вывод из запоя москва цены[/url]

  2. Выезд нарколога подходит не для всех клинических ситуаций. При потере сознания, судорогах, тяжелой одышке, выраженной боли в груди, психозе, галлюцинациях или подозрении на передозировку требуется экстренная медицинская помощь. При тяжелом абстинентном синдроме, алкогольном делирии или серьезных соматических нарушениях лечение безопаснее проводить в стационаре, где пациент находится под постоянным наблюдением.
    Ознакомиться с деталями – [url=https://narkolog-na-dom-v-mariupol6.ru/]нарколог на дом цена в Мариуполе[/url]

  3. Врач учитывает симптомы, риски, анамнез и семейную ситуацию, чтобы предложить подходящую программу.
    Ознакомиться с деталями – [url=https://3vyvod-iz-zapoya-moskva77.ru/]www.3vyvod-iz-zapoya-moskva77.ru[/url]

  4. Если больной потерял сознание, появились судороги, тяжелые нарушения дыхания, признаки инсульта или иное угрожающее жизни расстройство, требуется скорая помощь. Обычный вызов нарколога на дому в таком случае может быть недостаточным. Бригада наркологической клиники Нарника оказывает первую скорую медицинскую помощь с последующим трансфером в городскую больницу или психиатрическую больницу по адресу проживания.
    Узнать больше – [url=https://vivvod-iz-zapoya-v-sankt-peterburge16.ru/]вывод из запоя в стационаре[/url]

  5. В данной статье рассматриваются проблемы общественного здоровья и социальные факторы, влияющие на него. Мы акцентируем внимание на значении профилактики и осведомленности в защите здоровья на уровне общества. Читатели смогут узнать о новых инициативах и программах, направленных на улучшение здоровья населения.
    Ознакомиться с теоретической базой – [url=https://seodacha.ru/zdorove/narkologiya-na-domu-vyzov-narkologa]нарколог на дом круглосуточно цены[/url]

  6. Информация об обращении не передается третьим лицам, а детали лечения обсуждаются только с пациентом.
    Подробнее – [url=https://3vyvod-iz-zapoya-balashikha77.ru/]http://3vyvod-iz-zapoya-balashikha77.ru/[/url]

  7. Состояние пациента отслеживается на каждом этапе, от первичной консультации до дальнейших рекомендаций.
    Получить больше информации – [url=https://kapelnitsa-na-domu-v-moskwe5.ru/]частная капельница на дом[/url]

  8. Если запой длится больше нескольких суток, а объем алкоголя в день только растет, присутствуют неадекватные реакции, срочно звоните в наркологическую клинику. Скорая медицинская оценка особенно нужна при судорогах, обмороке, выраженной спутанности, нарушении дыхания или резком ухудшении самочувствия. Если пациент психически неадекватен, агрессивен или находится под сильным воздействием ПАВ, не следует пытаться самостоятельно доставить его в клинику ценой собственной безопасности. Подробнее подходящий алгоритм следует уточнять у экстренных служб и профильного врача.
    Ознакомиться с деталями – [url=https://nnarkologicheskaya-klinika-v-krasnoyarske17.ru/]наркологическая клиника вывод из запоя Красноярск[/url]

  9. Помогаем быстро перейти от консультации к конкретному плану: выезд, стационар или наблюдение.
    Изучить вопрос подробнее – [url=https://narkolog-na-dom-v-mariupol6.ru/]вызов нарколога на дом Мариуполь[/url]

댓글 달기

이메일 주소는 공개되지 않습니다.