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");