요청하고 응답받은 값을 랜덤으로 출력하기 랜덤주사위 프로그램

태민·2022년 11월 26일
0

자바스프링 복습을 위해 간단한 예제를 작성해봤다

이번에 작성된 예제는 HTTP 실습을 하면서 사용된 예제이다

간단하게 주사위 이미지를 출력하고

새로고침을 하면 랜덤으로 6개의 주사위 사진이 랜덤으로 출력되는 간단한 프로그램이다

코드를 보자

package com.fastcampus.ch2;

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

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@Controller
public class TwoDice {
    @RequestMapping("/rollDice")
    public void main(HttpServletResponse response) throws IOException {

        int idx1= (int)(Math.random()*6)+1; // 새로고침할 때 마다 주사위 이미지가 랜덤으로 나오게 만들기 위한 코드
        int idx2= (int)(Math.random()*6)+1;

        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("</head>");
        out.println("<body>");
        out.println("<img src='/resources/img/dice"+idx1+".jpg'>"); // 랜덤으로 1~6까지 이미지가 출력되는 코드
        out.println("<img src='/resources/img/dice"+idx2+".jpg'>"); // 랜덤으로 1~6까지 이미지가 출력되는 코드
        out.println("</body>");
        out.println("</html>");


    }

}

여기서 보면 제일먼저 @Controller를 적어줌으로써 톰캣에게

야 나 이거 쓸거야 준비해! 라고 해준다

그리고 @RequestMapping으로 url을 적어줘서
rollDice로 들어가면 바로 나오게 준비해라! 고 톰캣에게 알려준다
또한 요청한 것을 받을 그릇을 준비하기 위해서 HttpServletResponse 도 작성해준다

예외처리를 위한 코드 throws도 작성해주고
랜덤코드를 위해서 총6장의 숫자가랜덤으로 돌아가게 Idx1 idx2를 만들어주고

응답받을 타입은 text/html이고
utf-8로 받을 것이고
브라우저에서 출력하기위해 PrintWriter out을 써주고 response.getWriter를 작성해서
응답은 브라우저에서 받을게 라고 말해준다

기존의 System.out.println이 아닌
out.println을 써줌으로 콘솔이 아닌 브라우저에 출력되게 해줬다

그 결과 새로고침할 때 마다 주사위가 초기화 되는 프로그램을 완성할 수 있게 되었다

맵핑된 주소 http://localhost:8080/rollDice 들어가서 새로고침 할 때 마다

이런식으로 주사위가 출력되고 새로고침하면 주사위 이미지가 랜덤으로 출력된다

아주 간단한 프로그램이지만 요청과 응답 그리고 랜덤 까지 배워보는 좋은 예제였다

profile
몰입이 즐거운 개발자

0개의 댓글