Day52 - [JSP]application

2021. 4. 28. 20:28JSP 공부

이번에는 JSP 의 application에 대해서 알아 봅시다.

 

application

application 은, JSP의 내장 객체 중 1개 입니다.

JSP에서 단 1개만 유지가 됩니다. 

서버를 종료할 때 까지, 계속 유지 됩니다.

application 의 데이터는 공유 됩니다.

application 은 웹 페이지 에서 전부 사용할 수 있습니다.

 

application 의 사용법

application 은 session과 사용법이 비슷 합니다.

 

내장 객체이기 때문에, 객체화 할 필요 없이 바로 사용이 가능 합니다.

특정 데이터 값을 넣어줄 때는, setAttribute를

application에 있는 데이터를 사용할 때는 getAttribute를 사용하면 됩니다.

이제, <body> 부분에서 total을 확인해 보시면 됩니다.

인터넷 브라우저를 종료하고 다시 켜도 데이터가 유지가 되고 있습니다.

나 이외에, 다른 사람이 해당 페이지에 접속할 경우, total의 값이 공유 됩니다.

서버를 끌 때 까지 유지가 됩니다.

 

간단하게 application 에 대해서 알아 보았는데요,

 

coockie , session , application 의 차이점

생명주기 및 데이터 공유 여부가 다릅니다. ( 생성이 된 후 소멸되는게 다름 )

request 객체는 요청영역마다 생성됩니다.

session 객체는 브라우저별로 생성됩니다.

application은 프로그램 전체에서 딱 한번 최초 가동시 생성됩니다

 

application의 예제

지금까지 했던 내용을 바탕으로 좌석 예약 페이지를 만들어 봅시다.

 

먼저, 세션을 이용한 인증번호 확인 입니다.

인증문자는 UUID.randomUUID() 를 이용합니다. ( 랜덤 16진수 값 )

인증문자를, 확인을 누르면 다음 파일에서 확인을 해야하기 때문에, 세션에 넣어 줍니다.

파일명 : auth.jsp

form 형식으로 만들것 이기 때문에, 아래와 같이 만들어 줍니다.

다음 파일인 auth_ok.jsp 에서, form으로 넘어온 값과 session에 있는 값을 비교하고, 같다면, 예약 페이지로 넘어갈 수 있도록 합니다.

예약 페이지로 넘어갈 때, 인증번호를 맞췄는지, 틀렸는지 확인용 session을 만들어 줍니다

 

파일명 : auth_ok.jsp

<script>는 java script 입니다. alert는 확인창을 만들어 줍니다. location.href 는 페이지를 이동 시킵니다(파일 이동)

 

인증번호를 제대로 입력했다면 auth_reserve.jsp 로 넘어가서, 좌석의 예약을 할 수 있도록 만들어 줍니다.

 

파일명 : auth_reserve.jsp

체크박스를 그려주면서, value 값을 각각 구분할 수 있도록 해주어야 하는데, 중간에 문자열 "-" 를 넣어 줍니다.

좌석을 선택하고, 확인을 누르면, 다음 페이지인 auth_reserve_ok.jsp 로 넘어 갑니다.

 

어떤 체크박스를 선택했는지, 해당 체크박스가 중복되었는지 비교를 해줍니다 ( 이미 선택된 좌석 인지 )

 

파일명 : auth_reserve_ok.jsp

위와 같이 처리를 했다면, <body>에서 선택한 좌석 및 좌석 예매에 성공했는지 화면에 나타내 줍니다.

그리고, 예약에 성공한 좌석을, 아예 선택을 못하도록 auth_reserve.jsp 의 체크박스를 if문으로 그려 줍니다.

 

파일명 : auth_reserve.jsp

disabled 는 체크박스를 선택할 수 없도록 해주는 속성 입니다.

 

이렇게 만든 코드들을 가지고 어떻게 작동하는지 한번 보겠습니다.

맨 처음 auth.jsp 를 실행 합니다.

이번에는 이렇게, application 에 대해서 알아 보았습니다.

 

고생 하셨습니다.

'JSP 공부' 카테고리의 다른 글

Day52 - [JSP]forward  (0) 2021.04.28
Day52 - [JSP] 예외 페이지  (0) 2021.04.28
Day51 - [JSP]Cookie 쿠키 와 Session 세션  (0) 2021.04.27
Day50 - [JSP]out객체  (0) 2021.04.27
Day50 - [JSP]상대경로, 절대경로  (0) 2021.04.27