CGI 인터페이스 BookLibrary
목차
일반정보
목표:
도서관 도서의 데이터베이스를 생성하고 처리하기 위한 CGI 인터페이스 웹 서버를 구현하는 C++ 프로그램을 개발합니다.
내 솔루션:
sqlite3 라이브러리와 Apache 서버의 기능을 사용하여 데이터베이스 내에서 추가, 삭제, 편집 및 검색 기능을 갖춘 책 라이브러리의 최소한의 기능을 제공하는 C++로 나만의 CGI 인터페이스를 작성했습니다.
기술
- C++ 14
- sqlite (버전: 3.40.0)
- cgicc (버전: 3.2.19#5)
- xampp(Apache 서버 구현)
- DB 브라우저 SQLite를 사용하여 .db 파일로 작업하려면
사이트 구조
- MainPage.cpp - index.cgi 파일, 모든 정보가 포함되어 있고 모든 작업이 수행되는 기본 페이지입니다. 책 제목과 저자 이름에 대한 매개변수를 기준으로 도서관 검색을 필터링하려면 GET 요청을 하세요.
URL: hostname/index.cgi
- AddToDB.cpp - AddToDB.cgi 파일, 스크립트는 POST 요청에서 데이터(책 이름, 저자, 페이지 등...)를 가져와 데이터베이스에 추가합니다.
URL: hostname/cgi-bin/AddToDB.cgi
- DeleteFromDB.cpp -DeleteFromDB.cgi 파일, 스크립트는 POST 요청에서 데이터(이 경우 - id)를 가져온 다음 테이블에서 id로 요소를 검색하여 삭제합니다.
URL: hostname/cgi-bin/DeleteFromDB.cgi
- DropTable.cpp - DropTable.cgi 파일, 스크립트는 POST 요청에서 데이터(테이블 이름)를 가져온 다음 테이블을 삭제합니다.
URL: hostname/cgi-bin/DropTable.cgi
- EditDB.cpp - EditDB.cgi 파일, 스크립트는 POST 요청에서 데이터(id)를 가져온 다음 테이블에서 ID로 요소를 검색하고 HTML FORM에 해당 값을 설정한 다음 이 데이터를 변경할 수 있는 가능성을 제공합니다.
URL: hostname/cgi-bin/EditDB.cgi
- SaveEdit.cpp - SaveEdit.cgi 파일, 스크립트는 데이터(EditDB.cgi의 데이터)를 가져온 다음 EditDB.cgi의 새 데이터로 테이블을 업데이트합니다.
URL: hostname/cgi-bin/SaveEdit.cgi
설정
- xampp을 다운로드하거나 이 파일을 사용하세요.
- .cpp 파일을 .cgi 파일로 컴파일하고 사이트 구조와 같이 이름을 바꿉니다.
- 모든 .cgi 파일을 여기처럼 cgi-bin 폴더로 이동하세요.
- Apache 서버를 사용하려면 이 구성 파일을 사용하십시오.
- xampp 애플리케이션을 통해 Apache 서버를 시작하십시오.
- URL을 적어주세요: localhost
완료! =)