개인 맞춤형 헬스케어 관리 JSP 기반 웹 애플리케이션
식단, 운동, 헬스장 예약/관리 기능을 제공하며
사용자 친화적인 UI와 실시간 데이터 연동으로 건강 관리 경험을 지원합니다.
- 프로젝트 기간: 2025.03.24 ~ 2025.04.04 (12일)
- 팀 구성: 6명
- 담당 업무:
- 메인페이지: 프론트 인덱스 (헤더/푸터/사이드바) 구현
- 식단관리: 프론트 + 백엔드 기능 구현
- Frontend: JSP, HTML5, CSS3, JavaScript, Ajax
- Backend: Java (JDK 17), Servlet
- Database: Oracle XE 18c, 공공 API 연동
- Version Control: Git
- Tools & IDE: Eclipse, IntelliJ IDEA, VS Code, SQL Developer
- OS: Windows 11
FitralPark는 사용자 맞춤형 건강 관리 플랫폼으로, 마이페이지, 식단 관리, 운동 관리, 식품 영양 검색, 멘토 서비스, 커뮤니티, 헬스장 정보 제공 등 다양한 기능을 제공합니다.
- 로그인/회원 인증 후 메인 기능 접근
- 추천 식단, 운동 루틴, 헬스장 정보 표시
- ⭐담당: 메인페이지 프론트 인덱스 UI 구현
- 맞춤형 식단 추천 및 CRUD 기능
- ⭐담당: 프론트 + 백엔드 기능 구현
- 실시간 데이터 반영 (Ajax 활용)
- CSS/레이아웃 조정으로 테이블 깨짐 방지
- 기록/비교/피드백 기능 포함
- Q&A, 정보 공유 및 피드백 기능
- 친구 추천, 팔로우 기능
- 사용자 간 경험 및 노하우 공유
- 식품 성분 및 영양 정보 검색
- 식단 레시피 추천 및 비교 기능
- 사용자 기록 기반 맞춤형 영양 피드백
- 운동 루틴 등록 및 기록 관리
- 루틴별 기록 비교 및 통계 확인
- 헬스장 정보 제공: 위치, 시설, 운영 시간
- 멘토 인증: 전문가 목록 확인, 게시물 인증 마크 표시
- 온라인 PT: 식단 관리, 운동 계획 제공 및 결제 시스템
- 전문가 상담 예약: 예약 관리 및 피드백 시스템 제공
- 개인 건강 기록 조회 (체중, 운동량, 식단 기록)
- 목표 설정 및 진행 상황 확인
- Todo-list, 일정 관리, 맞춤 알람 기능
| 기능 | 화면 |
|---|---|
| 전체 메인 인덱스 | ![]() |
| 네비게이션바 상세 메뉴 | ![]() |
| 로그인 헤더 알림 | ![]() |
| 알람 수신 토글바 | ![]() |
| 풀 메뉴 | ![]() |
| 사이드바 | ![]() |
| 기능 | 화면 |
|---|---|
| 식단 캘린더 (월별/주별 보기) | ![]() |
| 식단 캘린더 (식단 불러오기) | ![]() |
| 식단 생성 (신규 등록) | ![]() |
| 식단 리스트 (등록된 식단 확인) | ![]() |
| 기능 | 화면 |
|---|---|
| 식단 분석 화면 (영양소 기반 분석 결과 제공) | ![]() |
fitralpark/
├── src/main/java/com.fitralpark/
│ ├── controller/ # Servlet 컨트롤러
│ ├── dao/ # DB 접근 객체
│ ├── dto/ # 데이터 전송 객체(DTO)
│ ├── service/ # 비즈니스 로직
│ └── FitralParkApplication.java
├── WebContent/
│ ├── css/ # 스타일시트
│ ├── js/ # JavaScript
│ ├── images/ # 이미지
│ ├── jsp/ # JSP 페이지
│ └── WEB-INF/
│ └── web.xml # 서블릿 설정
├── database/
│ └── fitralpark_DDL.sql # 테이블 생성 스크립트
└── README.md
- Oracle XE 18c 설치 후, 제공된 SQL 스크립트(
FitralPark_DDL.sql) 실행 - 데이터베이스 및 테이블 생성 확인
- Eclipse 또는 IntelliJ IDEA에서 Dynamic Web Project로 프로젝트 임포트
- Tomcat 9 이상 설치 및 프로젝트 연결
web.xml및context.xml에서 DB 접속 정보 확인/수정
db.properties에서 DB 계정, 비밀번호, URL 확인 및 필요 시 수정
- Eclipse: 프로젝트 우클릭 → Run As → Run on Server
- IntelliJ IDEA: Tomcat 설정 후 Run 클릭
- 사용자 페이지:
http://localhost:8090/FitralPark/
- 문제: JSP 페이지 이동 시 404 에러 발생
- 원인:
web.xml혹은@WebServlet매핑 경로와 JSP 파일 경로 불일치 - 해결:
RequestDispatcher의 경로를 실제 JSP 위치와 동일하게 수정- View 파일은 반드시
/WEB-INF/views/하위에 배치
- 문제: 입력 폼 전송 시 한글 데이터가 깨져서 DB에 저장됨
- 원인: request 기본 인코딩 미설정 (
ISO-8859-1로 처리됨) - 해결:
web.xml에 필터 등록<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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- JSP 상단에
<%@ page contentType="text/html; charset=UTF-8" %>명시
- 문제: 로그인 후 마이페이지 접근 시 NPE 발생
- 원인: 세션에 사용자 정보가 없거나, request parameter가 null로 넘어옴
- 해결:
- Controller(Servlet)에서 세션 유효성 체크 로직 추가
Optional패턴으로 null 값 처리
- 문제: 초기 실행 시 DB 연결 불가 (
ORA-28009또는 계정/비밀번호 오류) - 원인:
context.xmlDB 설정 오류, Oracle XE 계정 권한 미설정 - 해결:
META-INF/context.xml및web.xml의 DB JNDI 설정 재확인SQL Developer로 직접 접속 테스트 후 계정 권한 부여
- 문제: 식단 등록/불러오기 Ajax 요청 시 서버 오류 발생
- 원인:
- Controller에서 JSON 응답을 반환하지 않고 JSP forward 처리
response.setContentType("application/json")누락
- 해결:
- Controller에서 JSON 문자열 직접 출력
- Jackson 라이브러리 연동 후
ObjectMapper로 JSON 변환
- 문제: 정적 리소스(css, js) 불러오기 실패
- 원인: JSP 상대경로 문제 또는
DispatcherServlet이 정적 리소스를 가로챔 - 해결:
<link href="<c:url value='/resources/css/style.css'/>">형태로 경로 지정web.xml에서/resources/*경로를DefaultServlet으로 매핑










