전체 글 274

전자 도서관 프로젝트 - 신규 도서 등록 기능 구현

패키지와 클래스 생성하기 관리자는 신규 도서를 등록할 수 있다. 관리자 로그인 후 '도서등록' 메뉴를 이용해서 신규 도서를 등록할 수 있다. '도서등록' 메뉴는 nav.jsp에 다음과 같이 코딩되어 있다. 도서등록 도서 등록 메뉴에 대한 링크는 /book/admin/registerBookForm으로 관련 패키지와 클래스를 다음과 같이 만든다. com.office.library.book 패키지 도서 정보 저장 Vo 클래스 BookVo.java com.office.library.book.admin 패키지 컨트롤러 클래스 BookController.java DAO 클래스 BookDao.java 서비스 클래스 BookService.java com.office.library.book.admin.util 패키지 파..

전자 도서관 프로젝트 - 관리자 새 비밀번호 생성 기능 구현

이번에는 비밀번호를 잊어버렸을 때 새 비밀번호를 발급받는 기능을 구현해본다. 난수를 이용해서 새 비밀번호를 생성하고 메일로 발송하는 과정을 알아본다. 새 비밀번호 생성 기능의 개요 암호화된 비밀번호는 데이터베이스 관리자도 알 수 없다. 따라서 새로운 비밀번호를 생성한 후 데이터베이스에 업데이트하고 관리자에게 메일로 발송해야 한다. 메일 발송 모듈 설정하기 스프링에서는 JavaMailSenderImpl을 이용해서 메일을 발송할 수 있다. JavaMailSenderI을 이용하기 위해서는 pom.xml에 관련 모듈을 설정하고 JavaMailSenderImpl을 스프링 IoC 컨테이너에 등록하는 작업을 해야한다. ① pom.xml 파일을 열어서 다음 코드를 ... 에 추가한다. org.springframewor..

전자 도서관 프로젝트 - 관리자 계정 정보 수정 기능 구현

관리자가 자신의 계정 정보를 수정하고, 비밀번호를 분실했을 경우 새로운 비밀번호를 메일로 발송하는 기능에 대해 알아본다. 또한 관리자의 신규 도서 등록과 검색 그리고 수정과 삭제 기능도 구현해본다. 계정 수정 화면 구현하기 관리자 계정 정보를 수정한다. 관리자가 로그인한 후 '계정수정' 메뉴를 선택하면 관리자 정보를 수정할 수 있다. '계정수정' 메뉴는 nav.jsp에 있다. 경로: WEB-INF/views/admin/include/nav.jsp 계정수정 계정수정 메뉴에 대한 링크는 /admin/member/modifyAccountForm으로, AdminMemberController.java 에서 클라이언트 요청을 처리할 수 있는 메서드를 선언해야 한다. ■ AdminMemberController.jav..

전자 도서관 프로젝트 - 일반 관리자 승인 처리 기능 구현

최고 관리자가 일반 관리자 목록을 조회하고 특정 일반 관리자의 로그인 권한을 승인해서 일반 관리자의 로그인이 가능하도록 기능을 구현해본다. 일반 관리자 추가하기 먼저, 일반 관리자 admin2를 생성한다. · 데이터베이스에서 tbl_admin_member 테이블을 조회하면 일반 관리자인 admin1, admin2는 아직 최고 관리자의 승인 전이여서 a_m_approval이 0인 것을 확인할 수 있다. · 최고 관리자가 일반 관리자의 a_m_approval 값을 1로 변경(승인)해서 일반 관리자도 로그인이 가능할 수 있도록 해준다. 일반 관리자 목록 조회하기 최고 관리자로 로그인하고 일반 관리자 목록을 조회하기 위해 '관리자 목록' 메뉴를 클릭한다. · 관리자 목록 메뉴 : 회원가입한 관리자 목록을 조회하..

전자 도서관 프로젝트 - 로그인 상태 유지 및 로그아웃 기능 구현

로그인 상태 유지 및 로그아웃 기능 구현 쿠키와 세션을 사용하는 이유 웹 서비스를 이용할 때 로그인을 하게 되면 로그아웃을 하거나 브라우저를 닫기 전까지는 로그인 상태가 유지된다. ex, 포털 사이트에 로그인하면 로그인 계정에 대한 메일을 확인할 수 있다. ex, 쇼핑몰에 로그인을 하면 로그인 계정으로 장바구니 및 상품 구매 등의 서비스를 이용할 수 있다. 일반적으로 웹 서비스에서는 로그인 상태를 유지하기 위한 방법으로 쿠키 또는 세션을 이용한다. HTTP 프로토콜의 특징 웹 서비스는 HTTP 프로토콜을 기반으로 한다. ① 비연결형 프로토콜 : 클라이언트와 서버의 관계를 유지하지 않는 특징이 있다. 즉, 클라이언트의 요청을 서버가 응답하면 더 이상 클라이언트와 서버의 관계는 유지되지 않는다. 클라이언트 ..

전자 도서관 프로젝트 - 관리자 로그인 처리 기능 구현

관리자 로그인 실습 준비와 화면 구현 앞서 관리자 회원가입 기능을 구현했다. 이번에는 관리자 로그인 기능을 구현해본다. ① 관리자 로그인 화면을 구현한다. ② 관리자 로그인 인증을 처리하기 위한 컨트롤러, 서비스, DAO을 구현한다. ③ 쿠키를 이용한 로그인 상태 유지 및 로그아웃 기능을 구현한다. ④ 세션을 이용한 로그인 상태 유지 및 로그아웃 기능을 구현한다. ⑤ 일반 관리자를 로그인할 수 있도록 승인한다. ⑥ 최고 관리자와 일반 관리자를 구분해서 메뉴를 구성한다. 최고 관리자와 일반 관리자 · 최고 관리자(super admin)은 회원가입 직후 바로 로그인이 가능하지만, 일반 관리자는 회원 가입 후 최고 관리자의 승인이 완료되어야 로그인이 가능하다. 일반 관리자 추가하기 · 일반 관리자(admin1..

전자 도서관 프로젝트 - 데이터베이스 연동

하이디SQL 설정하기 관계형 데이터베이스(RDBMS)인 MariaDB를 사용하여 연동하는 작업을 수행해본다. 1. MariaDB를 다운받고 하이디SQL(HeidiSQL)을 실행한다. 1-1. 버튼을 클릭 1-2. 이름은 library로 설정 1-3. 접속 정보(127.0.0.1, root, 3306)을 확인한 후 암호 입력 1-4. 확인 마치면 버튼 클릭 1-5. 버튼 클릭 2. library 데이터베이스 창이 열리면 상단의 쿼리를 클릭한다. 프로젝트에서 사용하는 데이터베이스를 db_library 이름으로 생성해주고 사용한다. CREATE DATABASE db_library; USE db_library; 3. db_library에 관리자 회원 정보를 관리하는 테이블을 tbl_admin_member이름으로..

전자 도서관 프로젝트 - 관리자 회원가입 기능 구현

관리자 회원가입 기능 구현 패키지와 클래스 생성하기 스프링 MVC는 MVC패턴에 기반한 프레임워크라고 한다. 따라서 관리자 회원가입 기능도 Controller, Service, DAO 객체를 이용해서 구현한다. [src/main/java]에 다음과 같이 패키지와 클래스를 생성한다. com.office.library.admin 패키지 com.office.library.admin.member 패키지 AdminHomeController.java · Controller 클래스 : AdminMemberController.java · Dao 클래스 : AdminMemberDao.java · Service 클래스 : AdminMemberService.java · Vo 클래스 : AdminMemberVo.java 관리..