본문 바로가기
programming/MakinGProJect

게시판 만들기 7 자바 스프링프레임워크에서 html 화면 표시

by 개코 - 개발과 코딩 2021. 10. 19.

게시판 만들기를 위해 기본적인 html 화면들을 만들었다면 웹서버를 통해 html을 화면에 표시하면 된다. 언어는 자신이 자신있는 것으로 하면 되며 html 표시를 위한 웹서버는 여러가지가 있다. 여기서부터 자바 스프링프레임워크를 사용한다.

게시판 만들기 7
html 화면 표시 자바 스프링프레임워크 사용하기

자바 스프링프레임워크를 사용하면 웹을 만드는데 편리하다.

조금 아쉬운 것이 있다면 개발, 검증, 배포의 단계와 컴파일단계가 있기 때문에 조금 불편하다.

php, asp, jsp 같이 직접 코드를 수정하는 것과는 다르다.

이 부분이 좀 불편하긴 하지만 검증과 배포의 단계에서 안전성을 체크할 수 있는 점에서는 좋다고 할 수 있다.

물론, 어떤 것을 사용하던지 불편함은 대중없다.

이번부터는 자바 스프링프레임워크를 사용하고 STS 툴을 사용하여 게시판을 만들어 보기로 한다.

html 붙여넣기

자바 스프링프레임워크의 html이 들어가는 위치는 다음과 같다.

아래의 이미지를 보면 알 수 있듯이 views 폴더에 html 파일이 위치한다.

지금까지 작성한 html 파일에 대한 내용은 아래와 같다.

지금까지 만든 html 파일을 직접 붙여보도록 한다.

html 파일을 실제로 붙인 모습은 아래와 같다.

붙여넣기한 위의 파일들을 이제는 화면에 표시할 필요가 있다.

컨트롤러 만들기

자바 스프링프레임워크에서 웹페이지를 표시하기 위해서는 컨트롤러가 필요하다.

컨트롤러는 웹페이지를 띄우는 최초 접속지이며 url 을 입력하는 것으로 페이지를 띄울 수 있다.

각 화면에 대해 정리를 해 보고 사용할 컨트롤러명을 정해본다.

  • 목록화면
    화면 : list.html
    컨트롤러 : /list
  • 등록화면
    화면 : write.html
    컨트롤러 : /write
  • 수정화면
    화면 : modify.html
    컨트롤러 : /modify
  • 보기화면
    화면 : view.html
    컨트롤러 : /view

위에서 정리한 대로 컨트롤러를 만들고 메서드를 추가하면 된다.

컨트롤러를 만들기 위한 자바 클래스 파일을 만들어 두었다.

전체 코드는 아래와 같다.

package com.crd.test.board;

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * Handles requests for the application home page.
 */
@Controller
public class BoardController {
	
	private static final Logger logger = LoggerFactory.getLogger(BoardController.class);
	
	/**
	 * 게시판.목록화면
	 */
	@RequestMapping(value = "/list", method = RequestMethod.GET)
	public String BoardList(Locale locale, Model model) {
		logger.info("Welcome home! The client locale is {}.", locale);
		
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
		
		String formattedDate = dateFormat.format(date);
		
		model.addAttribute("serverTime", formattedDate + " STS 실행 테스트");
		
		return "board/list";
	}
	
	/**
	 * 게시판.등록화면
	 */
	@RequestMapping(value = "/write", method = RequestMethod.GET)
	public String BoardWrite(Locale locale, Model model) {
		logger.info("Welcome home! The client locale is {}.", locale);
		
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
		
		String formattedDate = dateFormat.format(date);
		
		model.addAttribute("serverTime", formattedDate + " STS 실행 테스트");
		
		return "board/write";
	}
	
	/**
	 * 게시판.수정화면 진입
	 */
	@RequestMapping(value = "/modify", method = RequestMethod.GET)
	public String BoardModify(Locale locale, Model model) {
		logger.info("Welcome home! The client locale is {}.", locale);
		
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
		
		String formattedDate = dateFormat.format(date);
		
		model.addAttribute("serverTime", formattedDate + " STS 실행 테스트");
		
		return "board/modify";
	}
	
	/**
	 * 게시판.보기화면 진입
	 */
	@RequestMapping(value = "/view", method = RequestMethod.GET)
	public String BoardView(Locale locale, Model model) {
		logger.info("Welcome home! The client locale is {}.", locale);
		
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
		
		String formattedDate = dateFormat.format(date);
		
		model.addAttribute("serverTime", formattedDate + " STS 실행 테스트");
		
		return "board/view";
	}
}

어노테이션이 있는 RequestMapping 부분을 보면 된다.

화면의 갯수에 따라 같은 갯수로 만들어 주었다.

실행하기

웹서버를 실행하고 웹브라우저에 주소를 입력하여 화면이 나타나는지 보면 된다.

이제 위에서 정리한 것을 바탕으로 다시 정리해 보자.

127.0.0.1 은 로컬 컴퓨터를 의미하는 수치이고 8080은 자바스프링이 웹페이지를 보기 위한 포트번호이다.

  • 목록화면
    화면 : list.html
    컨트롤러 : http://127.0.0.1:8080/list

  • 등록화면
    화면 : write.html
    컨트롤러 : http://127.0.0.1:8080/write

  • 수정화면
    화면 : modify.html
    컨트롤러 : http://127.0.0.1:8080/modify

  • 보기화면
    화면 : view.html
    컨트롤러 : http://127.0.0.1:8080/view

반응형

댓글