본문 바로가기
일상/일기장

[22.01.04] 작은 발걸음(16)

by jmaster 2022. 1. 4.

나의 유일한 경쟁자는 어제의 나다.!

 

 

오늘은 JavaScript 마무리 복습을 마무리 후 Servlet을 시작하였다. 처음 접하는 것이라 새롭고 어렵지만 하나하나 이해하는 과정이 재밌다.! 새로운 마음으로 수업내용을 놓치지 말고 복습을 하면서 내 것으로 만들어 가야겠다. 

 

 

TODO LIST

-ERD 이해하기

-기획 정의서 만들기

-자기소개서 보충 및 수정

 

※오늘의 계획

  • servlet 학습 및 복습

 

※오늘의 학습 내용

서블릿(웹에서 실행되는 프로그램) 작성 방법
1.HttpServlet 클래스를 상속받은 자식 클래스 생성 - 서블릿 클래스 
 ● HttpServlet 클래스를 상속받은 자식클래스는 객체 직렬화 클래스로 serialVe4rsionUID 필드를 선언하는 필드
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

doGet() 또는 doPost() 메소드를 오버라이드 선언 
부모 것을 쓰지않고 자식것을 쓸때 오버라이드를 사용 
● 클라이언트 요청에 대한 처리와 처리결과(HTML)를 생성하기 위한 메소드 - WAS(Web Application Server)에 의해 자동 호출
 ● doGet() : 클라이언트가 GET 방식으로 요청한 경우 호출되는 메소드 
 ● doPost() : 클라이언트가 POST 방식으로 요청한 경우 호출되는 메소드 


 doGet() 또는 doPost() 메소드 대신 service() 메소드를 오버라이드 선언
 ● service() : 클라이언트의 모든 요청에 의해 호출되는 메소드 
 ● doGet() 또는 doPost() 메소드 보다 service() 메소드의 호출 우선 순위가 높게 설정
WAS에 의해 메소드가 호출될 때 HttpSevletRequest 인스턴스와 HttpServletResponse
인스턴스가 매개변수에 자동으로 전달되어 저장

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpServletRequest : 리퀘스트 메세지(요청정보)가 저장된 인스턴스 
HttpServletResponse : 리스폰즈 메세지(응답정보)가 저장된 인스턴스 

3.클라이언트에게 응답할 문서의 형식(MimeType) 설정(변경)
형식)HttpServletResponse.setContentType(String mimeType[;charset=encoding])
 ● 문서 형식으로 응답할 경우 문서의 캐릭터셋(charseterSet : 문자형식 - 인코딩) 설정 
 ● 기본 응답 문서 형식 : text/html, 캐릭터셋: IOS-8859-1(서유럽어)
response.setContentType("text/html;charset=utf-8");

4.클라이언트 요청에 의해 처리 결과를 생성하기 위한 출력 스트림을 반환받아 저장 
형식)HttpServletResponse.getOutputStream() : 원시 데이타(1byte) 전달할 수 있는 출력
스트림(ServletOutputStream)을 반환하는 메소드
●그림, 음향, 영상 파일등을 클라이언트에게 응답하기 위한 결과를 만들기 위한 출력스트림
형식)HttpServletResponse.getWriter() : 인코딩 처리된 문자 데이타(2byte)를 전달할 수 있는 
출력스트림(PrintWriter)을 반환하는 메소드
● PlanText, HTML, XML 파일 (문서)등을 클라이언트에게 응답하기 위한 결과로 만들기 위한 출력스트림
PrintWriter out= response.getWriter();

5.요청에 대한 처리와 처리 결과를 문서(파일)에 생성 - 응답
 ● 출력스트림을 사용하여 처리 결과를 전달하면 문서(파일) 생성
out.println("<!DOCTYPE html>");출력스트림으로 문자열 전달

6. 서블릿 클래스를 웹프로그램으로 등록하여 실행되도록 설정 
 ● [web.xml] 파일에서 서블릿 클래스를 서블릿으로 등록하고 URL 주소를 매핑 설정
 ● 매핑된 URL주소로 클라이언트가 서블릿을 요청하여 WAS는 클래스를 객체로 생성하고
 메소드를 호출하여 요청에 대한 처리와 응답 







【 web.xml : WAS(Web Application server) 프로그램이 프로젝트를 웹자원(WebContext)으로 변환하기 
위한 정보를 제공하는 환경 설정 】
 <display-name>servlet</display-name>
 
 【 servlet : 서블릿 클래스를 서블릿으로 등록하기 위한 부모 엘리먼트 】
 <servlet>
  【 servlet-name: 서블릿의 이름(식별자)을 설정하는 엘리먼트 】
  <servlet-name>hello</servlet-name>
<servlet-class>xyz.itwill.servlet.HelloServlet</servlet-class>
 </servlet>
 
  【 servlet : 서블릿이 실행되도록 클라이언트가 요청하는 URL 주소의 패턴을 등록하기 위한 부모 엘리먼트】
 
 <servlet-mapping>
  【 servlet-name: 실행될 서블릿의 이름(식별자)을 설정하는 엘리먼트】
   <servlet-name>hello</servlet-name>
  【 url-pattern : 서블릿을 요청하기 위한 URL 주소의 패턴(식별자)을 설정하는엘리먼트】
  <url-pattern>/hello.itwill</url-pattern>
 </servlet-mapping>

※스터디 내용

  • servlet 복습

 

반성 및 개선할 점

-아침에 계획을 세우도록 노력한다.!

발걸음

'일상 > 일기장' 카테고리의 다른 글

[22.01.06] 작은 발걸음(18)  (0) 2022.01.06
[21.01.05] 작은 발걸음(17)  (0) 2022.01.05
[22.01.03] 작은 발걸음(15)  (0) 2022.01.03
[22.01.02] 작은 발걸음(14)  (0) 2022.01.02
[22.01.01] 작은 발걸음(13)  (0) 2022.01.01

댓글