전자 도서관 서비스 설계
'전자 도서관 서비스'는 학교 도서관, 시립 도서관 등에서 사용할 수 있는 프로그램이다.
· 도서 대여, 반납, 희망 도서 요청, 회원 가입, 회원 관리 등이 주요 기능이다.
· 주요 흐름은 다음과 같다.
① 웹 서비스를 구현하기 위한 프로젝트의 전체적인 흐름과 구조를 이해한다.
② 프로젝트를 생성하고 필요한 파일을 복사한다.
③ 관리자 회원가입 기능을 구현한다.
④ 데이터베이스 연동에 필요한 설정과 연동 방법을 학습한다.
⑤ 데이터 암호화 방법에 대해서 학습한다.
전자 도서관 서비스의 관리자 기능 정의
관리자의 주요 기능 정의
관리자 주요 기능 정의 | |
기능 | 내용 |
회원가입 | · 관리자 회원가입 양식을 이용해서 회원가입이 가능하다. · 회원가입 후 최고 관리자(super admin)의 승인이 이루어진 후 로그인이 가능하다. |
신규 도서 등록 | · 새로 들어온 도서를 시스템에 등록할 수 있다. |
도서 반납 | · 전체 대출 목록을 조회할 수 있으며, 특정 도서에 대해서 반납 처리할 수 있다. |
희망 도서 관리 | · 사용자가 요청한 희망 도서를 새로 들어온 도서로 시스템에 등록할 수 있다. |
전자 도서관 서비스의 사용자 기능 정의
사용자 주요 기능 정의
사용자 주요 기능 정의 | |
기능 | 내용 |
회원가입 | · 사용자 회원가입 양식을 이용해서 회원가입이 가능하다. · 회원가입 후 도서 대출 서비스 및 희망 도서 요청 서비스를 이요할 수 있다. |
도서 대출 | · 특정 도서 검색 후 도서 대출이 가능하다면 대출할 수 있다. |
도서 이력 조회 | · 사용자가 대출한 모든 이력을 조회할 수 있다. |
희망 도서 요청 | · 사용자가 희망 도서를 요청할 수 있고, 관리자는 이를 입고 처리할 수 있다. |
도서 대출 서비스 프로젝트 생성하기
프로젝트 생성하기
Project Explorer에서 오른쪽 마우스 우클릭 > [New] - [Others] > Spring Legacy Project 클릭
Spring Legacy Project 클릭 | 프로젝트 이름 : BookRentalPjt Spring MVC Project 클릭 |
com.office.library 입력 > Finish버튼 클릭 |
pom.xml 파일에서 자바와 스프링 버전을 수정하고 파일을 저장한다.
· 자바 버전 : 11
· 스프링 버전 : 5.2.9.RELEASE
<properties>
<java-version>11</java-version>
<org.springframework-version>5.2.9.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
pom.xml의 수정 내용이 프로젝트에 반영될 수 있도록 프로젝트를 업데이트 해준다.
BookRentalPjt 프로젝트 마우스 우클릭 > [Maven] - [Update Project] 클릭
변경 전 | 변경 후 |
한글이 깨지는 문제를 해결하기 위해 web.xml에 <filter>를 추가해준다.
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
프로젝트를 톰캣에서 실행([Run As] - [Run on Server])해서 웹 서비스가 정상 작동하는지 확인한다.
JSP, CSS, 이미지 파일 복사하기
웹 서비스를 개발하기 위해서는 기본적으로 프런트엔드와 백엔드 그리고 데이터베이스 영역을 구분해서 개발해야한다.
프런트엔드는 JSP를 이용한다. JSP 파일을 만들기 위해서는 기본적으로 HTML, CSS, JavaScript를 이용한다.
1. [views] 폴더에 [admin], [user], [include] 폴더를 생성한다.
· [views] 폴더 위치 : src/main/webapp/WEB-INF/views
· [admin] 폴더 : 관리자 관련 페이지가 들어 있는 폴더
· [include] 폴더 : 관리자와 사용자가 공통으로 사용하는 페이지가 들어 있는 폴더
· [user] 폴더 : 사용자 관련 페이지가 들어 있는 폴더
2. 각 폴더에 다음 폴더 or 파일을 추가한다.
[admin] 폴더 : [book], [include], [member] 폴더
[include] 폴더 : footer.jsp, header.jsp, title.jsp 파일
[user] 폴더는 사용자 관련 페이지로 지금은 관리자 관련 기능을 구현하기에 잠시 비워둔다.
3. [resources] 폴더에는 [css], [img] 폴더를 복사해서 붙여넣는다.
'Spring & Springboot > 올인원 스프링 프레임워크' 카테고리의 다른 글
전자 도서관 프로젝트 - 데이터베이스 연동 (0) | 2023.10.07 |
---|---|
전자 도서관 프로젝트 - 관리자 회원가입 기능 구현 (0) | 2023.10.06 |
뷰와 로그인 기능 구현 (0) | 2023.09.22 |
빈 객체 구현 (0) | 2023.09.22 |
웹 애플리케이션 생성 및 서버로 데이터 전송 (0) | 2023.09.22 |