웹개발 교육/Spring

[69일] spring (7) - mymelon mediagroup 수정, 삭제

ewok 2022. 11. 3. 13:11

삭제

list.jsp

수정한 부분

 

MediagroupCont.java

	@RequestMapping(value = "mediagroup/delete.do", method = RequestMethod.GET)
	public ModelAndView deleteForm(int mediagroupno) {
		ModelAndView mav = new ModelAndView();
		mav.setViewName("mediagroup/deleteForm");
		mav.addObject("mediagroupno", mediagroupno);
		return mav;
	}//deleteForm() end

 

 

 

 

deleteForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>deleteForm.jsp</title>
	<style>
		*{font-family: gulim; font-size: 24px;}
	</style>
	<link href="../css/style.css" rel="stylesheet" type="text/css">
</head>
<body>

	<div class="title">미디어 그룹 삭제</div>
	<form method="post" action="delete.do">
		<input type="hidden" name="mediagroupno" value="${mediagroupno}">
		<div class="content">
			<p>미디어 그룹을 삭제하시겠습니까?</p>
			<p>※ 관련 미디어 파일(mp3, mp4)도 전부 삭제됩니다</p>
		</div>
		<div class="bottom">
			<input type="submit" value="삭제">
			<input type="button" value="목록" onclick="location.href='list.do'">
		</div>
	</form>
	
</body>
</html>

 

 

 

MediagroupCont.java

	@RequestMapping(value = "mediagroup/delete.do", method = RequestMethod.POST)
	public ModelAndView deleteProc(int mediagroupno) {
		ModelAndView mav = new ModelAndView();
		
		int cnt = dao.delete(mediagroupno);
		if(cnt==0) {
			mav.setViewName("meidagroup/msgView");
			String img = "<img src='../images/crying.png'>";
			String link1 = "<input type='button' value='다시시도' onclick='javascript:history.back()'>";
			String link2 = "<input type='button' value='그룹목록' onclick='location.href=\"list.do\"'>";
			mav.addObject("msg1", "<p>미디어 그룹 삭제 실패!!</p>");
			mav.addObject("img", img);
			mav.addObject("link1", link1);
			mav.addObject("link2", link2);
		} else {
			mav.setViewName("redirect:/mediagroup/list.do");
		}//if end
		
		return mav;
	}//deleteForm() end

 

 

 

MediagroupDAO.java

	public int delete(int mediagroupno) {
		int cnt = 0;
		try {
			sql = new StringBuilder();
			sql.append(" DELETE FROM mediagroup ");
			sql.append(" WHERE mediagroupno = ? ");
			cnt = jt.update(sql.toString(), mediagroupno);
		} catch (Exception e) {
			System.out.println("미디어그룹 삭제실패 : " + e);
		}//end
		return cnt;
	}//delete() end

수정

DAO 이어서

	public MediagroupDTO read(int mediagroupno) {
		MediagroupDTO dto = null;
		try {
			sql = new StringBuilder();
			sql.append(" SELECT mediagroupno, title ");
			sql.append(" FROM mediagroup ");
			sql.append(" WHERE mediagroupno = " + mediagroupno);
			
			RowMapper<MediagroupDTO> rowMapper = new RowMapper<MediagroupDTO>() {
				@Override
				public MediagroupDTO mapRow(ResultSet rs, int rowNum) throws SQLException {
					MediagroupDTO dto = new MediagroupDTO();
					dto.setMediagroupno(rs.getInt("mediagroupno"));
					dto.setTitle(rs.getString("title"));
					return dto;
				}//mapRow() end
			};//rowMapper end
			
			dto = jt.queryForObject(sql.toString(), rowMapper);
			
		} catch (Exception e) {
			System.out.println("미디어 그룹 목록 조회 실패 : " + e);
		}//end
		return dto;
	}//read() end

 

 

MediagroupCont.java

	@RequestMapping(value = "mediagroup/update.do", method = RequestMethod.GET)
	public ModelAndView updateForm(int mediagroupno) {
		ModelAndView mav = new ModelAndView();
		mav.setViewName("mediagroup/updateForm");
		//mav.addObject("root", Utility.getRoot());
		mav.addObject("dto", dao.read(mediagroupno));
		return mav;
	}//updateForm() end

 

updateForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>updateForm.jsp</title>
	<style>
		*{font-family: gulim; font-size: 24px;}
	</style>
	<link href="../css/style.css" rel="stylesheet" type="text/css">
</head>
<body>

	<div class="title">미디어 그룹 수정</div>
	<form name="frm" method="post" action="update.do">
		<input type="hidden" name="mediagroupno" value="${dto.mediagroupno}">
		<table class="table">
		<tr>
			<th>미디어 그룹 제목</th>
			<td><input type="text" name="title" size="50" value="${dto.title}"></td>
		</tr>
		</table>
		<div class="bottom">
			<input type="submit" value="수정">
			<input type="button" value="목록" onclick="location.href='list.do'">
		</div>
	</form>
</body>
</html>

 

MediagroupCont.java

	@RequestMapping(value = "mediagroup/update.do", method = RequestMethod.POST)
	public ModelAndView updateProc(@ModelAttribute MediagroupDTO dto) {
		ModelAndView mav = new ModelAndView();
		
		int cnt = dao.update(dto);
		if(cnt==0) {
			mav.setViewName("mediagroup/msgView");
			String img = "<img src='../images/crying.png'>";
			String link1 = "<input type='button' value='다시시도' onclick='javascript:history.back()'>";
			String link2 = "<input type='button' value='그룹목록' onclick='location.href=\"list.do\"'>";
			mav.addObject("msg1", "<p>미디어 그룹 수정 실패!!</p>");
			mav.addObject("img", img);
			mav.addObject("link1", link1);
			mav.addObject("link2", link2);
		} else {
			mav.setViewName("redirect:/mediagroup/list.do");
		}//if end
		return mav;
	}//updateProc() end

 

 

MediagroupDAO.java

	public int update(MediagroupDTO dto) {
		int cnt = 0;
		try {
			sql = new StringBuilder();
			sql.append(" UPDATE mediagroup ");
			sql.append(" SET title = ? ");
			sql.append(" WHERE mediagroupno = ? ");
			cnt = jt.update(sql.toString(), dto.getTitle(), dto.getMediagroupno());
		} catch (Exception e) {
			System.out.println("미디어그룹 수정실패 : " + e);
		}//end
		return cnt;
	}//update() end

 

 

다음 작업을 위해 myweb에서 사용한 3개의 클래스를 가져온다.

Paging.java
0.01MB
Utility.java
0.03MB

https://ewok.tistory.com/219

 

[58일] jsp (32) - myweb 프로젝트(메일 보내기)

메일을 보내기 위해서는 메일 서버가 필요하다. 하지만 우리는 메일 서버를 직접 두지 않고 빌려서 사용할 것이다. 우리는 cafe24의 서비스를 이용할 것이다. 이용할 수 있는 서비스가 알고 싶다

ewok.tistory.com

MyAuthenticator.java 소스는 위 페이지에 있다.