본문 바로가기

Server Development/Serlvet

Servlet - API

 

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