본문 바로가기

웹 개발/다이어리 프로젝트(개인)

jsp로 crud를 사용한 다이어리 만들기(9)-일기DB 테이블 추가

728x90

일기의 내용이 좀 부족한거 같아 추가를 했다

일기에 기분을 추가하기로 했다!

radio버튼을 통해 5가지의 기분 중 선택을 할 수 있다.

기존의 addDiaryForm에 input태그와 기분이미지에 해당하는 value값만 설정해줬다.

[DB]diary.diary 기분 추가

 

addDiaryForm.jsp

<div class="col-2">
    기분
</div>
<div class="col-1">
    <label for="&#128516;">
        <input type="radio" name="feeling" value="&#128516;" id="&#128516;">&#128516;
    </label>
</div>
<div class="col-1">
    <label for="&#128528;">
        <input type="radio" name="feeling" value="&#128528;" id="&#128528;">&#128528;
    </label>
</div>
<div class="col-1">
    <label for="&#128533;">
        <input type="radio" name="feeling" value="&#128533;" id="&#128533;">&#128533;
    </label>
</div>
<div class="col-1">
    <label for="&#128557;">
        <input type="radio" name="feeling" value="&#128557;" id="&#128557;">&#128557;
    </label>
</div>
<div class="col-1">
    <label for="&#128127;">
        <input type="radio" name="feeling" value="&#128127;" id="&#128127;">&#128127;
    </label>
</div>

addDiaryAction.jsp

// 요청값 분석
	String diaryDate = request.getParameter("diaryDate");
	String title = request.getParameter("title");
	String weather = request.getParameter("weather");
	String feeling = request.getParameter("feeling");
	String content = request.getParameter("content");
	
	// 아무것도 입력하지않고 작성완료를 눌렀을 경우
	if(diaryDate.equals("") && title.equals("") && content.equals("") && feeling.equals("")) {
		String errMsg = URLEncoder.encode("일기의 형식에 맞게 작성해주세요", "UTF-8");
		response.sendRedirect("/diary/add/addDiaryForm.jsp?errMsg=" + errMsg);
		
		return ;
	}
	
	System.out.println("addDiaryAction - diaryDate = " + diaryDate);	// diaryDate 값 확인
	System.out.println("addDiaryAction - title = " + title);	// title 값 확인
	System.out.println("addDiaryAction - weather = " + weather);	// weather 값 확인
	System.out.println("addDiaryAction - content = " + content);	// content 값 확인
	System.out.println("addDiaryAction - feeling = " + feeling);	// feeling 값 확인
	
	// [DB] diary.diary에 추가하는 쿼리
	String addDiarySql = "INSERT INTO diary(diary_date, feeling, title, weather, content, update_date, create_date) VALUES (?, ?, ?, ?, ?, NOW(), NOW())";
	PreparedStatement addDiaryStmt = null;
	
	addDiaryStmt = conn.prepareStatement(addDiarySql);
	addDiaryStmt.setString(1, diaryDate);	// ? 값 교체
	addDiaryStmt.setString(2, feeling);	// ? 값 교체
	addDiaryStmt.setString(3, title);	// ? 값 교체
	addDiaryStmt.setString(4, weather);	// ? 값 교체
	addDiaryStmt.setString(5, content);	// ? 값 교체
	System.out.println("addDiaryAction - addDiaryStmt = " + addDiaryStmt);
	
	int row = addDiaryStmt.executeUpdate();
	
	if(row == 1) {
		// 일기 입력 성공
		response.sendRedirect("/diary/diaryListOfMonth.jsp");
	} else {
		// 일기 입력 실패
		response.sendRedirect("/diary/addDiaryForm.jsp");
	}
	
	// DB 자원 반납
	addDiaryStmt.close();
	conn.close();
728x90