자바 웹을 다루는 기술 목차 정리(6~10)

jaeyong Lee·2023년 11월 10일
0

6장 서블릿 기초

6.1 서블릿의 세 가지 기본 기능

서블릿 기본기능 수행과정은 요약하면 클라이언트로 부터 요청을 받아 비즈니스 로직을 처리하고 그 결과를 다시 클라이언트에 돌려주는 과정이다.

기능1. 서블릿 응답 요청 API기능
request,response

6.2 폼 태그를 이용해 서블릿에 요청하기

form태그의 action 속성 = 데이터를 전송할 서블릿이나 JSP이름을 지정한다.

6.3 서블릿에서 클라이언트 요청을 얻는방법

String getParameter(String name) name의 값을 알고 있을 때 name에 대한 전송 값을 받아오는데 사용한다.

6.4 서블릿 응답 처리 방법

  1. doget(), dopost()
  2. javax.servlet.http.HttpServletResponse 객체를 이용
  3. setContentType()을 이용해 클라이언트에게 전송할 데이터 종류(MIME)를 지정한다.

6.5 웹브라우저에서 서블릿으로 데이터 전송하기

get,post방식차이

6.6 GET방식과 POST방식 요청 동시에 처리하기

dohandle = get,post

6.7 자바스크립트로 서블릿에 요청하기

hidden태그를 보내 javascript로
1.로그인 유효성 검사
2.로그인 요청시 관리자 화면 나타내기


7장 서블릿 비즈니스 로직 처리

7.1 서블릿의 비즈니스 로직 처리 방법

서블릿 비즈니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미한다.

비즈니스 : 상업적 활동(상품이나 서비스를 제공하여 수익창출)
비즈니스 로직: application이나 시스템에서 실제 비즈니스 기능, process를 구현하는부분

결국 고객의 요청으로 상업적활동이 이루어짐으로 뜻이 같다.

7.2 서블릿의 데이터베이스 연동하기

DAO패턴
DAO, VO

7.3 DataSource 이용해 데이터베이스 연동하기

웹애플리케이션이 DB를 필요할때마다 연결하는게 jdbc방식
이방식을보완하고자 커넥션풀을ㅇ 이용해 데이터베이스와 연결시킨 상태를 유지함
JNDI 데이터베이스 설정정보를 동적으로 가져와 관리할 수 있다.

7.4 DataSource 이용해 회원 정보 등록하기

7.5 회원정보 삭제하기


8장 서블릿 확장 API사용하기

8.1 서블릿 포워드 기능사용하기

하나의 서블릿에서 다른 서블릿이나 JSP와 연동하는 방법을 포워드라고 한다.

8.2 여러가지 포워드 방식

redirect, Refresh, location, dispatch방법
dispatch는 클라이언트를 거치고 가는 나머지 3개와 다르게 다이렉트로 간다.

클라이언트 거쳐서 가는 3가지 방식들은 첫번재 request 두번재 request다름에 주의

8.3 dispatch를 이용한 포워드 방법

8.4 바인딩

get방식으로 데이터를 요청하면 양이적고 보안상의 문제가 있다.
그래서 JSP로 대량의 데이터를 공유하거나 전달하고 싶을 때는 바인딩 기능을 하용한다.
setAttribute 바인딩
getAttribute 바인딩된 것을 name으로 가져온다.

8.5 ServletContext와 ServletConfig의 사용법

ServletContext는 웹 애플리케이션 마다 생성되고 ServletConfig는 각 서블릿에 대해 생성된다.
서블릿 컨텍스트 객체는 웹 애플리케이션이 실행되면서 애플리케이션의 공통자원이나 정보를 미리 바인딩해서 서블릿들이 공유하여 사용한다.

  • 서블릿컨텍스트와 서블릿컨피그 그림

8.6 load-on-startup기능

서블릿은 브라우저에서 최초 요청시 init() 메서드를 실행한후 메모리에 로드되어 기능을 수행한다.
최초요청에 대해서는 실행 시간이 길어질 수 밖에 없다. 이런 단점을 보완하는 기능이 load-on-start기능이다.

  1. 톰캣 컨테이너가 실행되면서 미리 서블릿을 실행한다.
  2. 지정한 숫자가 0보다 크면 톰캣컨테이너가 실행되면서 서블릿이 초기화된다.
  3. 숫자는 우선순위를 의미한다.

네, 맞습니다. load-on-startup은 서블릿이 웹 애플리케이션을 배포할 때 초기화되는 시점을 조절하는데 사용되는 설정입니다. 이 설정을 사용하면 웹 애플리케이션이 시작될 때 서블릿이 자동으로 초기화되어 사용 가능한 상태가 된다.


9장 쿠키와 세션 알아보기

9.1 웹페이지 연결기능

사용자 입장에서 웹 페이지 사이의 상태나 정보를 공유하려면 프로그래머가 세션트래킹이라는 웹 페이지 연결기능을 구현해야 한다.

  • http요청과 웹페이지들이 서로 정보연동이 안된다는 그림
    따라서 웹페이지나 서블릿끼리 상태나 정보를 공유하려면 웹페이지 연결기능 즉 세션트래킹을 이용해야한다.
  1. hidden태그 : hidden태그를 이용해 웹페이지들 정보를 공유
  2. URL Rewriting : get방식으로 url뒤에 정보를 붙여 다른 페이지로 전송
  3. 쿠키 : 클라이언트 PC의 Cookie파일에 정보를 저장한 후 웹페이지들이 공유
  4. 세션 : 서버 메모리에 정보를 저장한 후 웹페이지들이 공유

9.2 hidden태그와 URL Rewriting 이용해 웹페이지 연동하기

9.3 쿠키를 이용한 웹 페이지 연동 기능

쿠키 란 웹페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법 입니다.

9.4 세션을 이용한 웹페이지 연동기능

사용자의 로그인 상태나 쇼핑몰의 장바구니 담기 기능 같은 정보를 해당 브라우저의 세션에 저장해 두고 사용하면 편리하다.(많이쓰임)

9.5 encodeURL() 사용법 --> 생략

9.6 세션을 이용한 로그인 예제 (총집합)


10. 서블릿 필터와 리스너 기능

10.1 서블릿 속성과 스코프

서블릿 속성 이란 다음 세가지 서블릿 API클래스에 저장되는 객체(정보)라고 보면 된다.
1.Servletcontext :애플리케이션 전체 접근
2.HttpSession : 브라우저에서 접근
3.HttpServletRequest : 해당 요청에만 접근

서블릿 스코프 는 서블릿 API에 바인딩된 속성에 대한 접근 범위를 의미한다.

스코프 기능
1. 로그인 상태유지기능
2. 장바구니 기능
3. MVC의 Model과 View의 데이터 전달 기능

10.2 서블릿의 여러가지 URL패턴

URL패턴이란 실제 서블릿의 매핑 이름을 말한다.
1. @webServlet("/first/") : 디렉터리 이름만 일치하는 패턴
2. @webServlet("
.do") : 확장자만 일치하는 패턴

10.3 Filter API

서블릿 요청할때 반복작업을 줄여줄 수 있는게 filter이다. 즉 모든 서블릿에서 공통으로 처리하는 작업을 먼저 필터에서 처리해주면 편하다.
ex)한글 인코딩

  • 필터 위치 : 클라이언트 서블릿 사이

10.4 여러 가지 서블릿 관련 Listener API

서블릿에서 발생하는 이벤트에 대해 적절한 처리를 해주는 여러가지 리스너를 제공한다.
HttpSessionListener: 세션 객체의 생성/소멸 이벤트 발생시 처리 (로그인 접속자수 표시)
HttpSessiongBindingListener: 세션에 바인딩/언바인딩된 객체를 알려주는 이벤트 발생시 처리한다. (로그인 접속자수 표시)

0개의 댓글