일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Binding
- 프론트엔드
- 네비게이터
- 제이쿼리
- 웹개발
- Ajax
- mybatis
- javascript
- 서블릿
- 스프링
- 웹서비스
- 프레임워크
- 회원가입
- 웹페이지
- css3
- 로그인
- 미로 생성 알고리즘
- 오라클
- c programming
- spring
- 비밀번호찾기
- 백엔드
- 풀스택
- jsp
- html5
- MVC
- Linked List
- 마이바티스
- dbms
- jQuery
- Today
- Total
Programmer's Progress
도서 정보 제공 웹 서비스 - 기본화면 구현 본문
먼저 기본적인 UI를 구성함으로써 앞으로 서블릿과 AJAX를 테스트해볼 수 있도록 할 것이다.
물론 계속해서 화면을 꾸며나가는 과정에서 몇 번이고 수정을 반복해야겠지만, 큰 틀은 변하지 않을 것이다.
기본적으로 메인화면과 로그인화면, 회원가입 화면을 먼저 설계하였다.

앞서 메인화면은 상당히 심플한데, 물론 아직은 정식 서비스를 개시하지 않았기에 내용을 채우지 않아
그런 것이며, 좌측상단에 보면 >>가 담겨있는 빨간색 사각형이 존재하는데, 이를 사각형을 클릭하면...

해당 사이드바는 아직 사용자가 로그인한 상태가 아니기 때문에, 관리자가 아닌 일반 고객과 같은
사이드바 목록을 가지고 있다. 도서, 커뮤니티, 내 정보, 기타 메뉴가 있으며 각각의 상위 메뉴는
하위 메뉴들을 가지고 있다. 상위 메뉴를 클릭하면 아래와 같이 목록들이 나타난다.


로그인 화면에도 사이드바 버튼이 있는것을 확인할 수 있는데 이는, jsp:include 디렉티브 태그를 이용해서 구현했다.

사이드바의 소스코드는 sidebar.jsp의 형태로 따로 구현을 해두었다.
여기서는 JSTL도 사용함으로써 로그인 된 상태일 때는 로그아웃 버튼이
아니라면 회원가입과 로그아웃 버튼이 나타나도록 코어태그가 사용되었음을 확인할 수 있다.
하단에는 관리자일 경우에는 관리자 전용 메뉴를 추가로 생성하는 것을 확인할 수 있다.



여기서 중요한 것은, 비밀번호 찾기 질문들이 책에 관련된 질문이라는 사실이 아니다.
중요한 사실은, 바로 저러한 질문이 미리 HTML문서에 하드코딩으로
select내에 option 태그를 집어넣은 것이 아니라는 것이다. 백문이 불여일견, 소스코드를 살펴보자.

ajax 메소드를 통해 비동기식으로 서블릿을 호출하는 것을 알 수 있다.
해당 서블릿은 커넥션풀로 미리 연결된 커넥션을 사용해서 데이터베이스에서 질문의 내용과 번호를 JSON의 형태로
반환하는데, 이를 ajax메소드로 수신 후에 select태그 내에 append 하는 것이다.
이렇게 하드코딩이 아니라 유동적으로 처리함으로써 후에 비밀번호 찾기 질문이 추가될 경우에도 유연하게 대처할 수 있음을 알 수 있다. 사실, 데이터베이스가 질문을 추가하기만 하면 이쪽 소스코드는 수정할 필요가 전혀 없다.
또한 비동기식처리이므로 화면이 갱신되지 않는다.

위의 데이터베이스를 DAO클래스를 만들어 서블릿에서 활용함으로써 질문들을 얻을 수 있다.
질문의 내용들이 모두 책과 관련되게 함으로써 좀 더 책과 관련된 서비스임을 드러낸다.

이처럼 기본 틀을 완성한 후에, 로그인과 로그아웃, 회원 탈퇴, 아이디, 비밀번호 찾기 등
사용자와 관련된 간단한 기능들을 구현할 예정이다. 그리고 그렇게 구현된 기능을 기반으로
게시판 작성, 메세지 전송, 도서 대출 및 반납 신청, 질의응답 등의 기능을 구현할 것이다.
'Web Service > 도서 정보 제공 웹 서비스' 카테고리의 다른 글
도서 정보 제공 웹 서비스 - RSA, SHA-512 보안기능 제공하기 (0) | 2021.12.02 |
---|---|
도서 정보 제공 웹 서비스 - 로그아웃, 아이디/비밀번호 찾기 구현하기 (0) | 2021.11.24 |
도서 정보 제공 웹 서비스 - 로그인 구현 (0) | 2021.11.20 |
도서 정보 제공 웹 서비스 - 회원가입 구현 (0) | 2021.11.19 |
도서 정보 제공 웹 서비스 - 스키마 설계 (0) | 2021.11.16 |