포털게시판관리 기능은 공지사항, 자료실, FAQ 게시물을 등록, 조회, 수정, 삭제하기 위해 사용한다. 게시 유형별 경로는 다르며, 자료실과 공지사항은 첨부파일을 함께 관리한다.
| Action URL | Controller method | QueryID |
|---|---|---|
조회 /ias/por/notice/list.do |
PortalBoardPageController.noticeList |
selectPortalBoardList, selectPortalBoardListTotCnt |
조회 /api/v1/por/notice/list |
PortalBoardApiController.getList |
selectPortalBoardList, selectPortalBoardListTotCnt |
등록화면 /ias/por/notice/regist.do |
PortalBoardPageController.noticeRegist |
N/A |
상세이동 /ias/por/notice/view.do?unqKey={unqKey} |
PortalBoardPageController.noticeView |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정이동 /ias/por/notice/modify.do?unqKey={unqKey} |
PortalBoardPageController.noticeModify |
selectPortalBoardDetail |
공지사항 목록은 제목, 작성자, 내용, 사용여부 조건으로 조회한다. 조회수와 등록일시를 함께 제공하며 기본 정렬은 게시물 고유키 역순이다.

조회 : 검색조건을 입력한 뒤 조회 버튼을 클릭하여 공지사항 목록을 조회한다.
등록 : 등록 버튼을 클릭하여 공지사항 등록 화면으로 이동한다.
상세 : 제목 링크를 클릭하여 공지사항 상세조회 화면으로 이동한다.
수정 : 목록의 수정 버튼을 클릭하여 공지사항 수정 화면으로 이동한다.
삭제 : 목록의 삭제 버튼을 클릭하여 공지사항을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
조회 /ias/por/archive/list.do |
PortalBoardPageController.archiveList |
selectPortalBoardList, selectPortalBoardListTotCnt |
조회 /api/v1/por/archive/list |
PortalBoardApiController.getList |
selectPortalBoardList, selectPortalBoardListTotCnt |
등록화면 /ias/por/archive/regist.do |
PortalBoardPageController.archiveRegist |
N/A |
상세이동 /ias/por/archive/view.do?unqKey={unqKey} |
PortalBoardPageController.archiveView |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정이동 /ias/por/archive/modify.do?unqKey={unqKey} |
PortalBoardPageController.archiveModify |
selectPortalBoardDetail |
자료실 목록은 공지사항과 동일한 검색 구조를 사용하며 게시유형만 자료실로 고정한다. 자료실 게시물은 상세 화면에서 첨부파일 목록을 함께 확인할 수 있다.

조회 : 검색조건을 입력한 뒤 조회 버튼을 클릭하여 자료실 목록을 조회한다.
등록 : 등록 버튼을 클릭하여 자료실 등록 화면으로 이동한다.
상세 : 제목 링크를 클릭하여 자료실 상세조회 화면으로 이동한다.
수정 : 목록의 수정 버튼을 클릭하여 자료실 수정 화면으로 이동한다.
삭제 : 목록의 삭제 버튼을 클릭하여 자료실 게시물을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
조회 /ias/por/faq/list.do |
PortalBoardPageController.faqList |
selectPortalBoardList, selectPortalBoardListTotCnt |
조회 /api/v1/por/faq/list |
PortalBoardApiController.getList |
selectPortalBoardList, selectPortalBoardListTotCnt |
등록화면 /ias/por/faq/regist.do |
PortalBoardPageController.faqRegist |
N/A |
상세이동 /ias/por/faq/view.do?unqKey={unqKey} |
PortalBoardPageController.faqView |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정이동 /ias/por/faq/modify.do?unqKey={unqKey} |
PortalBoardPageController.faqModify |
selectPortalBoardDetail |
FAQ 목록은 공지사항과 동일한 검색 구조를 사용하며 게시유형만 FAQ로 고정한다. 목록에서 제목 링크로 상세 화면에 진입한다.

조회 : 검색조건을 입력한 뒤 조회 버튼을 클릭하여 FAQ 목록을 조회한다.
등록 : 등록 버튼을 클릭하여 FAQ 등록 화면으로 이동한다.
상세 : 제목 링크를 클릭하여 FAQ 상세조회 화면으로 이동한다.
수정 : 목록의 수정 버튼을 클릭하여 FAQ 수정 화면으로 이동한다.
삭제 : 목록의 삭제 버튼을 클릭하여 FAQ 게시물을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
상세조회 /ias/por/notice/view.do?unqKey={unqKey} |
PortalBoardPageController.noticeView |
selectPortalBoardDetail, updatePortalBoardReadCount |
상세조회 /api/v1/por/notice/{unqKey} |
PortalBoardApiController.getDetail |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정화면 /ias/por/notice/modify.do?unqKey={unqKey} |
PortalBoardPageController.noticeModify |
selectPortalBoardDetail |
공지사항 상세조회 화면은 게시유형, 조회수, 제목, 본문과 등록 및 수정 정보를 함께 제공한다. 상세 조회 시 조회수가 증가한다.

목록 : 공지사항 목록조회 화면으로 이동한다.
수정 : 수정 버튼을 클릭하여 공지사항 수정 화면으로 이동한다.
삭제 : 삭제 버튼을 클릭하여 공지사항을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
상세조회 /ias/por/archive/view.do?unqKey={unqKey} |
PortalBoardPageController.archiveView |
selectPortalBoardDetail, updatePortalBoardReadCount |
상세조회 /api/v1/por/archive/{unqKey} |
PortalBoardApiController.getDetail |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정화면 /ias/por/archive/modify.do?unqKey={unqKey} |
PortalBoardPageController.archiveModify |
selectPortalBoardDetail |
자료실 상세조회 화면은 게시유형, 조회수, 제목, 본문과 첨부파일 목록을 함께 보여준다. 상세 조회 시 조회수가 증가한다.

목록 : 자료실 목록조회 화면으로 이동한다.
수정 : 수정 버튼을 클릭하여 자료실 수정 화면으로 이동한다.
삭제 : 삭제 버튼을 클릭하여 자료실 게시물을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
상세조회 /ias/por/faq/view.do?unqKey={unqKey} |
PortalBoardPageController.faqView |
selectPortalBoardDetail, updatePortalBoardReadCount |
상세조회 /api/v1/por/faq/{unqKey} |
PortalBoardApiController.getDetail |
selectPortalBoardDetail, updatePortalBoardReadCount |
수정화면 /ias/por/faq/modify.do?unqKey={unqKey} |
PortalBoardPageController.faqModify |
selectPortalBoardDetail |
FAQ 상세조회 화면은 게시유형, 조회수, 제목, 본문과 등록 및 수정 정보를 함께 제공한다. 상세 조회 시 조회수가 증가한다.

목록 : FAQ 목록조회 화면으로 이동한다.
수정 : 수정 버튼을 클릭하여 FAQ 수정 화면으로 이동한다.
삭제 : 삭제 버튼을 클릭하여 FAQ 게시물을 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
등록화면 /ias/por/notice/regist.do |
PortalBoardPageController.noticeRegist |
N/A |
저장 /api/v1/por/notice |
PortalBoardApiController.create |
insertPortalBoard |
공지사항 등록 화면에서는 제목, 내용, 사용여부, 비공개여부와 첨부파일을 입력해 저장한다.

목록 : 공지사항 목록조회 화면으로 이동한다.
저장 : 입력한 공지사항 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
등록화면 /ias/por/archive/regist.do |
PortalBoardPageController.archiveRegist |
N/A |
저장 /api/v1/por/archive |
PortalBoardApiController.create |
insertPortalBoard |
자료실 등록 화면에서는 제목, 내용, 사용여부, 비공개여부와 첨부파일을 입력해 저장한다.

목록 : 자료실 목록조회 화면으로 이동한다.
저장 : 입력한 자료실 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
등록화면 /ias/por/faq/regist.do |
PortalBoardPageController.faqRegist |
N/A |
저장 /api/v1/por/faq |
PortalBoardApiController.create |
insertPortalBoard |
FAQ 등록 화면에서는 제목, 내용, 사용여부, 비공개여부를 입력해 저장한다.

목록 : FAQ 목록조회 화면으로 이동한다.
저장 : 입력한 FAQ 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
수정화면 /ias/por/notice/modify.do?unqKey={unqKey} |
PortalBoardPageController.noticeModify |
selectPortalBoardDetail |
수정 /api/v1/por/notice/{unqKey} |
PortalBoardApiController.update |
updatePortalBoard |
공지사항 수정 화면에서는 기존 게시물 정보를 조회한 뒤 수정 저장한다. 첨부파일 삭제와 신규 첨부파일 추가를 함께 처리할 수 있다.

목록 : 공지사항 목록조회 화면으로 이동한다.
저장 : 수정한 공지사항 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
수정화면 /ias/por/archive/modify.do?unqKey={unqKey} |
PortalBoardPageController.archiveModify |
selectPortalBoardDetail |
수정 /api/v1/por/archive/{unqKey} |
PortalBoardApiController.update |
updatePortalBoard |
자료실 수정 화면에서는 기존 게시물 정보를 조회한 뒤 수정 저장한다. 첨부파일 삭제와 신규 첨부파일 추가를 함께 처리할 수 있다.

목록 : 자료실 목록조회 화면으로 이동한다.
저장 : 수정한 자료실 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
수정화면 /ias/por/faq/modify.do?unqKey={unqKey} |
PortalBoardPageController.faqModify |
selectPortalBoardDetail |
수정 /api/v1/por/faq/{unqKey} |
PortalBoardApiController.update |
updatePortalBoard |
FAQ 수정 화면에서는 기존 게시물 정보를 조회한 뒤 수정 저장한다.

목록 : FAQ 목록조회 화면으로 이동한다.
저장 : 수정한 FAQ 정보를 저장한다.
| Action URL | Controller method | QueryID |
|---|---|---|
삭제 /api/v1/por/notice/{unqKey} |
PortalBoardApiController.delete |
deletePortalBoard |
공지사항 삭제는 목록조회 화면 또는 상세조회 화면에서 수행한다. 첨부파일이 연결된 게시물도 함께 삭제할 수 있다.
선택 : 목록 화면 또는 상세 화면에서 삭제 버튼을 클릭한다.
삭제 : 삭제 확인 후 공지사항 정보를 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
삭제 /api/v1/por/archive/{unqKey} |
PortalBoardApiController.delete |
deletePortalBoard |
자료실 삭제는 목록조회 화면 또는 상세조회 화면에서 수행한다. 첨부파일이 연결된 게시물도 함께 삭제할 수 있다.
선택 : 목록 화면 또는 상세 화면에서 삭제 버튼을 클릭한다.
삭제 : 삭제 확인 후 자료실 정보를 삭제한다.
| Action URL | Controller method | QueryID |
|---|---|---|
삭제 /api/v1/por/faq/{unqKey} |
PortalBoardApiController.delete |
deletePortalBoard |
FAQ 삭제는 목록조회 화면 또는 상세조회 화면에서 수행한다.
선택 : 목록 화면 또는 상세 화면에서 삭제 버튼을 클릭한다.
삭제 : 삭제 확인 후 FAQ 정보를 삭제한다.
| 유형 | 대상소스명 | 비고 |
|---|---|---|
| Controller | src/main/java/allforland/ias/portalboard/web/PortalBoardPageController.java |
공지사항, 자료실, FAQ 화면 요청을 처리하는 컨트롤러 클래스 |
| API Controller | src/main/java/allforland/ias/portalboard/web/PortalBoardApiController.java |
공지사항, 자료실, FAQ API 요청을 처리하는 컨트롤러 클래스 |
| Service | src/main/java/allforland/ias/portalboard/service/PortalBoardService.java |
포털게시판 서비스 인터페이스 |
| ServiceImpl | src/main/java/allforland/ias/portalboard/service/impl/PortalBoardServiceImpl.java |
포털게시판 서비스 구현 클래스 |
| Mapper | src/main/java/allforland/ias/portalboard/mapper/PortalBoardMapper.java |
포털게시판 데이터 처리 Mapper 인터페이스 |
| VO | src/main/java/allforland/ias/portalboard/vo/PortalBoardVO.java |
게시물 정보 VO 클래스 |
| Enum | src/main/java/allforland/ias/portalboard/vo/PortalBoardType.java |
경로별 게시판 유형 메타정보 Enum |
| DTO | src/main/java/allforland/ias/portalboard/web/dto/PortalBoardRequestDTO.java |
게시물 등록 및 수정 요청 DTO 클래스 |
| Service | src/main/java/allforland/com/file/service/ComFileService.java |
첨부파일 업로드 및 삭제를 처리하는 공통 서비스 인터페이스 |
| JSP | src/main/webapp/WEB-INF/jsp/ias/por/boardList.jsp |
게시판 공통 목록조회 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/ias/por/boardDetail.jsp |
게시판 공통 상세조회 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/ias/por/boardRegist.jsp |
게시판 공통 등록 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/ias/por/boardModify.jsp |
게시판 공통 수정 페이지 |
| Query XML | src/main/resources/mapper/portalboard/PortalBoardMapper.xml |
게시판 조회 및 저장 Query XML |
| SQL | docker/postgres/init/01-schema.sql |
포털게시판 테이블 생성을 위한 스키마 SQL |
| SQL | docker/postgres/init/02-data.sql |
포털게시판 예시 데이터 적재 SQL |

| 테이블명 | 테이블명(영문) | 비고 |
|---|---|---|
| 공통 게시판 | afcom.com_brd |
공지사항, 자료실, FAQ 게시물을 공통 구조로 관리하는 테이블 |