Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기업설명회
- 오블완
- 이클립스
- SQLD
- JavaScript
- HTML
- 깃허브
- 배포
- spring
- 자바
- myBatis
- Spring Security
- vscode
- 웹개발
- bootstrap
- error
- 티스토리챌린지
- AJAX
- jQuery
- restapi
- 코딩
- java
- CSS
- 스파르타코딩클럽
- ChatGPT
- SQL
- Firebase
- github
- 김영한
- Eclipse
Archives
- Today
- Total
푸들푸들
[Error] 오류메세지X, 404 본문
2024/10/24
p1
게시글 수정 시 내용을 입력하지 않았을 때
에러메세지를 표시되게 설정했는데
404 오류가 뜸
UpdateArticleServlet.java
package controller;
@WebServlet("/board/updateArticle")
public class UpdateArticleServlet extends HttpServlet{
// -> V: /board/updateArticle.jsp
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 폼
HttpSession session = request.getSession();
String loginId = (String)session.getAttribute("loginId");
if(loginId == null) { // 로그인이 안됐다면
response.sendRedirect(request.getContextPath()+"/login");
return;
}
int articleNo = Integer.parseInt(request.getParameter("articleNo"));
Connection conn = null;
try {
conn = DBUtil.getConnection();
BoardArticleDao boardArticleDao = new BoardArticleDao();
BoardArticle ba = boardArticleDao.selectArticleOne(conn, articleNo); // 게시글 조회
request.setAttribute("ba", ba); // 조회한 데이터를 JSP로 데이터 전달
request.getRequestDispatcher("/WEB-INF/view/board/updateArticle.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// -> C: /board/boardOne
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 액션
HttpSession session = request.getSession();
String loginId = (String)session.getAttribute("loginId");
if(loginId == null) { // 로그인이 안됐다면
response.sendRedirect(request.getContextPath()+"login");
return;
}
int articleNo = Integer.parseInt(request.getParameter("articleNo"));
String category = request.getParameter("category");
String articleTitle = request.getParameter("articleTitle");
String articleContent = request.getParameter("articleContent");
if(category == null || category.equals("")) {
String errMsg = "카테고리를 선택하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/board/updateArticle.jsp?").forward(request, response);
return;
}
if(articleTitle == null || articleTitle.equals("")) {
String errMsg = "제목을 입력하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/view/board/updateArticle.jsp?").forward(request, response);
return;
}
if(articleContent == null || articleContent.equals("")) {
String errMsg = "내용을 입력하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/board/updateArticle.jsp?").forward(request, response);
return;
}
BoardArticle ba = new BoardArticle();
ba.setArticleNo(articleNo);
ba.setMemberId(loginId);
ba.setCategory(category);
ba.setArticleTitle(articleTitle);
ba.setArticleContent(articleContent);
Connection conn = null;
try {
conn = DBUtil.getConnection();
conn.setAutoCommit(false); // 트랙잭션
BoardArticleDao boardArticleDao = new BoardArticleDao();
int row = boardArticleDao.updateArticle(conn, ba);
if(row==1) {
System.out.println(articleNo+"번 article update 성공");
}
conn.commit();
response.sendRedirect(request.getContextPath()+"/board/boardOne?articleNo="+articleNo);
} catch (Exception e) {
try {
System.out.println(articleNo+"번 article update 실패");
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
updateArticle.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>UpdateArticle</title>
</head>
<body>
<h1>Update Article</h1>
<div>${errMsg}</div>
<form action="${pageContext.request.contextPath}/board/updateArticle" method="post">
<table border="1">
<tr>
<td>No</td>
<td><input type="text"name="articleNo" value="${ba.articleNo}" readonly></td>
</tr>
<tr>
<td>Id</td>
<td><input type="text" name="memberId" value="${ba.memberId}" readonly></td>
</tr>
<tr>
<td>Categoty</td>
<td><select name="category" value="${ba.category}">
<option value="">::::선택::::</option>
<option value="영화">영화</option>
<option value="드라마">드라마</option>
<option value="만화">만화</option>
<option value="오락">오락</option>
<option value="다큐">다큐</option>
<option value="기타">기타</option>
</select>
</td>
</tr>
<tr>
<td>Title</td>
<td><input type="text" name="articleTitle" placeholder="${ba.articleTitle}"></td>
</tr>
<tr>
<td>Content</td>
<td><input type="text" name="articleContent" placeholder="${ba.articleContent}"></td>
</tr>
<tr>
<td>Create date</td>
<td><input type="text" name="createdate" value="${ba.createdate}"></td>
</tr>
</table>
<button type="submit">수정</button>
</form>
<div>
<a href="${pageContext.request.contextPath}/board/boardOne?articleNo=${ba.articleNo}">뒤로</a>
</div>
</body>
</html>
또 사소한 오류!
경로 실수!
updateArticle.jsp의 경로 잘못 입력
/WEB-INF/board/updateArticle.jsp --> /WEB-INF/view/board/updateArticle.jsp 수정
if(category == null || category.equals("")) {
String errMsg = "카테고리를 선택하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/view/board/updateArticle.jsp").forward(request, response);
return;
}
if(articleTitle == null || articleTitle.equals("")) {
String errMsg = "제목을 입력하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/view/board/updateArticle.jsp").forward(request, response);
return;
}
if(articleContent == null || articleContent.equals("")) {
String errMsg = "내용을 입력하세요";
request.setAttribute("errMsg", errMsg);
request.getRequestDispatcher("/WEB-INF/view/board/updateArticle.jsp").forward(request, response);
return;
}
오류 메세지는 뜨는데 No, Id, CreateDate값이 넘어오지 않는다! -- 아직 해결못함
'구디아카데미 > Error' 카테고리의 다른 글
[Error] 500 오류 (3) | 2024.11.07 |
---|---|
[Error] 압축해제 오류 0x80010135 (0) | 2024.11.02 |
[Error] 댓글 삭제 (1) | 2024.10.23 |
[Error] Sql 쿼리 INSERT문 (0) | 2024.10.23 |
[Error] 빈 화면 (0) | 2024.10.23 |