나의 유일한 경쟁자는 어제의 나다.!
오늘은 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 |
댓글