API 의 정의
- 쉽게 말해, 데이터를 전송하는 수단이라고 볼 수 있다
- 또 웹에서 한가지의 기능을 의미한다.
- 보통 웹에서는 클라이언트와 서버간 통신 수단이라고 볼 수 있고 당연스럽게 요청, 응답으로 구성되었다.
- 종류 : Soup(xml을 이용한 통신), Rpc, WebSocket(json 사용한 통신), Rest API, text 이용 등이 있다.
예를들어, Kakao talk을 통한 인증 API를 구현하고자한다면
client -> 로그인 요청 -> 서버에서 카카오톡에 정보 전달 -> 정보에 맞는 API(데이터 서버로 전달) -> 서버에서 로그인 처리
이때, 카카오톡의 오픈 API를 이용한다고 한다.
현재 이 Servlet Part에서는 JSP등을 사용하고 있지 않다는 가정하에
Servlet에서는 요청에 대한 응답을 text로 html을 만들어 사용했었다.
굉장히 불편하다.
동작 과정
- Html 페이지로 부터 요청 (Client 요청)
- Servlet에서는 HttpServletRequest클래스의 객체를 통해 요청 불러옴
- Servlet에서는 HttpServletResponse클래스의 객체를 통해 응답 전달
" 요청과 응답시 데이터가 전달되는 방식을 API 라고 한다. "
-> 현재는 text 사용을 했지만 나중에 발전으로 Ajax등을 사용하고 현재는 다른 다양한 방식들을 사용한다.
// client에서 작성 후 servlet으로 전달
<form name="fromLogin" method="post" action="login" encType="UTF-8">
아이디 : <input type="text" name="user_id" /><br>
비밀번호 : <input type="password" name="user_pw" /><br>
<input type="submit" value = "로그인" />
<input type="reset" value = "다시입력" />
</form>
// Servlet에서는 요청에 대한 처리 후 응답을 html/text로 전달
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("user_id");
out.print("<html>");
out.print("<body>");
out.print(id + "님 로그인하셨습니다.");
out.print("</body>");
out.print("</html>");
'Server Development > Serlvet' 카테고리의 다른 글
Servlet - Forwarding (0) | 2023.03.21 |
---|---|
Servlet - Get, Post (0) | 2023.03.21 |
Servlet - Mapping (0) | 2023.03.20 |
Servlet - Giving Life and Hierarchy of Servlet (0) | 2023.03.20 |
Servlet - Start (0) | 2023.03.20 |