티스토리 뷰
클라이언트와 서버는 서로 통신을 합니다.
클라이언트가 서버에게 데이터를 입력하고, 어떠한 행위를 통해 서버에게 요청하는 것을 request라 하고,
서버가 이를 클라이언트에게 응답하는 것을 response라고 한다고 했습니다. ( 자세한 내용은 웹이란 ? 웹 프로그래밍의 개요 )
이를 우리가 servlet에서 핸들링 하기 위해서는 그에 맞는 class(객체)가 필요합니다. JAVA를 이용하니까.
따라서 이 class를 정의해야 하는데, 그럴 필요없이 다른 사람들이 Http프로토콜에 맞게 표준화하여 정의하고 구현해 놓은 훌륭한 클래스와 패키지를 이용할 수 있습니다.
그것이 바로 HttpServlet 클래스 입니다.
HttpServlet (추상)클래스 구조
우리가 사용할 HttpServlet 클래스는 추상클래스 입니다. 이 추상클래스는 옆에서 보이는 구조처럼 Generic servlet 추상클래스를 다시 상속합니다.
그리고 이 추상클래스는 Servlet과 ServletConfig 인터페이스를 구현하고 있습니다.
때문에 우리는 클래스를 선언하여 HttpServlet를 상속받아 구현해주면 많은 기능들을 다 사용할 수 있습니다.
이 안의 자세한 구조와 메소드들은 천천히 살펴보겠습니다.
이렇게 제가 만든 ServletT 클래스에 HttpServlet을 상속하는 코드를 자동으로 넣어줍니다
밑에 보이는 doGet, doPost 메소드는 클라이언트의 입력을 서버에 요청하는 방식이 Get방식과 Post방식이 있기 때문에 구현되어 있습니다. 이에 대해서는 다음 번에 더 자세히 공부해 보겠습니다.
지금 중요한건 이 메소드들의 파라미터 값으로 HttpServletRequest 객체와 HttpServletResponse 객체를 받아 온다는 점입니다.
HttpServletRequest
이 객체는 클라이언트가 서버에 어떠한 요청을 하는 것을 다루는 객체입니다.
이렇게 request 객체를 이용해 호출할 수 있는 메소드들이 많이 구현되어 있습니다.
대표적인 메소드 몇 개만 알아보면,
request.getCookies(); |
쿠키 정보를 가져옵니다. |
request.getSession(); |
세션 정보를 가져옵니다. |
request.getAttribute(null); |
해당 속성에 대한 속성 값을 가져옵니다. |
request.serAttribute(null, null) |
속성을 추가하고 그 속성에 값을 줄 수 있습니다. |
request.getParameter(null); |
로그인이나 회원가입 등의 정보 같이 클라이언트가 입력한 정보의 input name을 이용 해 데이터를 가져옵니다. |
request.getParameterNames(); |
|
request.getParameterValues(null); |
차츰 실습을 통해 메소드들을 사용해 보면서 더 자세히 공부해 보도록 하겠습니다.
HttpServletResponse
Request 객체와 반대로 서버가 클라이언트에게 응답할 때 필요한 객체입니다. 주로 사용자에게 보여지는 view나 사용자의 브라우저에 어떤 값들을 저장할 때 사용됩니다.
request도 마찬가지로 다양한 메소드들이 구현되어 있습니다. 이 객체도 몇 가지 메소드들만 일단 알아보면
response.addCookie(null); |
response.getStatus(); |
response.sendRedirect(null); |
response.getWrite(); |
response.getOutputStream(); |
이러한 메소드들이 있습니다. 각각의 기능들은 다음에 실습을 통해 공부해 보겠습니다.
'JSP&Servlet' 카테고리의 다른 글
doGet, doPost (3) | 2019.01.18 |
---|---|
Servlet Lifecycle (0) | 2019.01.18 |
Servlet Mapping (0) | 2019.01.11 |
JSP와 Servlet 비교 (1) | 2019.01.11 |
Servlet 개요 (0) | 2019.01.11 |
- Total
- Today
- Yesterday
- 지옥에서 온 git
- Spring Boot
- jsp
- 생활코딩 javascript
- 파이썬 for Beginner 연습문제
- git
- JPA
- git merge
- 운영체제 반효경
- 선형 회귀
- 쉘 코드
- 스프링
- 스프링 mvc
- 쉽게 배우는 운영체제
- spring mvc
- Gradle
- Computer_Networking_A_Top-Down_Approach
- Python Cookbook
- 파이썬 for Beginner 솔루션
- 김영환
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- 스프링 컨테이너
- 스프링 테스트
- Spring Data JPA
- Thymeleaf
- 패킷 스위칭
- 방명록 프로젝트
- git branch
- 프로그래머스
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |