스프링 강의를 보고
요청을 받고 응답을 하는 것을 만들어보았다
서버가 클라이언트로부터 request(요청)을 받고
그 요청에 따라 response(응답)을 해준다...!!
package com.fastcampus.ch2;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//년 월 일 입력하면 요일을 알려줌
@Controller
public class YoilTeller {
@RequestMapping("/getYoil")
// public static void main(String[] args) {
public static void main(HttpServletRequest request,HttpServletResponse response) throws IOException {
//1. 입력
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
int yyyy = Integer.parseInt(year);
int mm = Integer.parseInt(month);
int dd = Integer.parseInt(day);
//2. 작업
Calendar cal = Calendar.getInstance();
cal.set(yyyy,mm-1, dd);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); //1:일요일 2:월요일...
char yoil = " 일월화수목금토".charAt(dayOfWeek);
//3.출력
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter(); // response 객체에서 브라우저로의 출력 스트림을 얻는다
out.println(year+"년 "+month+"월 "+day+"일은");
out.println(yoil+"입니다");
}
}
HttpServletRequest request <-요청받을게
HttpServletResponse response <-응답할게
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
응답을 할 형식을 알려줌!!
PrintWriter out=response.getWriter();
out.println(year+"년 "+month+"월 "+day+"일은");
1.URL로 요청을 받을 것이다....
2.요청 받은 걸 이런 형식으로 출력할 것이다...
System.out.println 은 콘솔에 출력하는 거라서
콘솔에만 출력되고ㅠ 주소를 치고 들어가면 404 오류가 뜬다
PrintWriter로 response.getWriter 로 받으면 클라이언트에게 출력해줘서
브라우저에 바로 출력이 된당
결과
깔ㅡ끔ㅋㅋ
이걸 토대로!!
랜덤 주사위가 나오게 하는 사이트도 만들어보장
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;
@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; //이미지가 6장 있으니 6까지 랜덤 출력
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'>"); //"+idx1+"을 하여 랜덤 숫자 이미지가 출력되게 함
out.println("<img src='resources/img/dice"+idx2+".jpg'>");
out.println("</body>");
out.println("</html>");
}
}
결과는?
새로고침 할 때마다 달라짐ㅋㅋ
서버가 제공하는 리소스에는
1.정적 리소스 : 프로그램이 생성해내는 리소스내용이 고정되어 있지 않은 것, 프로그램, 스트리밍(라이브 방송)
2.동적 리소스 : 이미지, *.js, *.css, *html 같은 파일
클라이언트
ㄴ 서비스를 요청하는 애플리케이션 : 브라우저
서버
ㄴ 서비스를 제공하는 애플리케이션
1.브라우저로 프로그램을 호출해서 요청하면,
2.서버는 그 프로그램을 실행 (여기서는 문자열html을 만들었음)
3.결과를 문자열로 출력하고
4.브라우저는 그 문자열을 해석해서 보여줌
스프링 강의 결제하고
스프링 배워봐야지~룰루 했는데
셋팅만 5시간 이상 걸린듯...?
STS는 결국 끝까지 안 돼서
껍데기 파일 import해서 연습함
개같다 이거에용~~~~~~~~
'개발공부 개발새발 > Spring' 카테고리의 다른 글
Spring, Boot) maven 버전 선택 꿀팁 (0) | 2022.11.24 |
---|---|
Spring) PasswordEncoder를 사용하기 위한 준비 (0) | 2022.11.16 |
Spring) JSON, Ajax, REST API (0) | 2022.11.11 |
Spring) 서블릿, JSP ( 저장소 ) (0) | 2022.10.25 |
Spring mvc) HTTP, 텍스트파일 바이너리파일, Base64 (0) | 2022.10.25 |