728x90
반응형
# REST (Representational State Transfer)
자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미합니다.
* 휴대폰앱 개발시 반드시 필요한 사항이므로 기억해둔다!
* 프로그램을 담는 형식이지 짜는 형식은 아니다.!
● 용어
1. 자원 : 소프트웨어가 관리하는 모든 것(이미지, 데이터, 문서 .. )
2. 자원의 표현 : 해당 자원을 표현하기 위한 이름
3. 정보 전달 : 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달합니다. xml 또는 json을 통해 데이터를 주고 받는 것이 일반적입니다.
● 장점
1. HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축할 필요가 없습니다.
2. HTTP 표준 프로토콜에 따른 모든 플랫폼에서 사용이 가능합니다.
3. 서버와 클라이언트의 역할을 명확하게 분리합니다.
● 단점
1. 표준이 존재하지 않습니다.
2. 사용할 수 있는 메소드 형태가 제한적입니다.
3. 구형 브라우저가 아직 지원되지 않는 부분이 존재합니다.
예시 1) doGet 방식
form.jsp
<title>데이터 보내기</title>
</head>
<body>
<h2>데이터 보내기</h2>
<form action="./formtest1" method="get">
메세지 : <input type="text" name="msg"> <input type="submit"value="보내기">
</form>
</body>
sevlet
@WebServlet(name="FormTest1", urlPatterns= {"/formtest1"})
public class FormTest1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FormTest1Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
System.out.println("doGet 호출");
String msg = request.getParameter("msg");
System.out.println(msg);
}
}
예시 2) doPost 방식
<title>데이터 보내기</title>
</head>
<body>
<h2>데이터 보내기</h2>
<form action="./formtest1" method="post">
메세지 : <input type="text" name="msg"> <input type="submit"value="보내기">
</form>
</body>
@WebServlet(name="FormTest1", urlPatterns= {"/formtest1"})
public class FormTest1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FormTest1Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
System.out.println("doPost 호출");
String msg = request.getParameter("msg");
System.out.println(msg);
}
}
# postman 설치 후 body로 확인하기 !
@WebServlet(name = "FormTestServlet2", urlPatterns={"/formtest2"})
public class FormTestServlet2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int firstNum = Integer.parseInt(request.getParameter("firstNum"));
int secondNum = Integer.parseInt(request.getParameter("secondNum"));
int result = firstNum + secondNum;
PrintWriter out = response.getWriter();
out.print(result);
}
728x90
반응형
'🌌 Server' 카테고리의 다른 글
스케일 업(Scale-UP), 스케일 아웃(Scale-OUT) 이란? (0) | 2023.08.30 |
---|