2-4. HTTP 요청과 응답 - 예제

서현우·2022년 5월 11일
0

스프링의정석

목록 보기
4/85

TwoDice.java

package com.fastcampus.ch2;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

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

/*
 * TwoDice.java : 실행시마다 결과가 변함 -> 동적리소스
 * img : 정적리소스
 */

/*
 * 서버가 제공하는 리소스
 * - 동적리소스 : 프로그램, 스트리밍(라이브방송), 리소스내용이 고정되어있지 않은 것.
 * - 정적리소스 : 이미지, *.js, *.html, *.css, 리소스내용이 고정되어있는 것.
 */

/*
 * 웹 프로그래밍
 * 1. 브라우져로 프로그램을 호출해서 서버에 요청.
 * 2. 서버는 그 프로그램을 실행해서 html로 나오는 결과를 Text문서(문자열)로 만들어서 브라우져로 보냄.
 * 3. 브라우져가 html을 보여줌.
 * -> 브라우져가 서버에 요청을 하면, 서버가 데이터를 받아서 처리하고, 그 결과를 브라우져가 해석해서 출력
 *  
 */

@Controller
public class TwoDice {
	@RequestMapping("/rollDice")
	//response는 IOException 예외처리 필요
	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");
		
        //reponse의 출력스트림
		PrintWriter out = response.getWriter();
		
        //html
		out.println("<html>");
		out.println("<head>");
        out.println("</head>");	
		out.println("<body>");
		
        //img(dice1.jpg ~ dice6.jpg 랜덤 이미지) 삽입
		//img는 정적 리소스
		out.println("<img src='resources/img/dice"+idx1+".jpg'>");
		out.println("<img src='resources/img/dice"+idx2+".jpg'>");
		out.println("</body>");
		out.println("</html>");
	}
}

추가

//이름만 뽑아서 가져옴
Enumeration enum = request.getParameterNames();

//Map형태로 가져옴
Map paramMap = request.getParameterMap();

//name이 같은 경우
//배열로 받음
String[] yearArr = request.getParameterValues("year");
profile
안녕하세요!!

0개의 댓글