//form.jsp
<h2>입력하기</h2><a href="list.do">목록보기</a>
//list.jsp
<td><a href="delete.do?idx=${m.getIdx()}">${m.getSdate()}</a></td>
@RequestMapping(value="/list.do")
public String list(PsdVo vo, Model model) {
model.addAttribute("list", s.list());
return "list.jsp";
}
@RequestMapping(value="/delete.do")
public String delete(PsdVo vo, HttpServletRequest request) {
// 파일이 실제 저장되어있는 경로를 받아서
String realPath = request.getSession().getServletContext().getRealPath("/psd/");
String fileName = s.delete_name(vo.getIdx());
File file = new File(realPath+fileName);
//파일형에 담아서 삭제를 진행한다. (파일자체를 삭제한다.)
file.delete();
System.out.println(realPath+fileName);
// 쿼리문을 이용해서 DB의 레코드를 삭제한다.
s.delete(vo.getIdx());
// 삭제이후 list에서 확인하도록 목록보기 Controller로 연결한다.
return "list.do";
}
두가지의 메서드가 필요하다.
DB에서 idx 에 해당하는 fname을 가져올 select 쿼리문과
idx에 해당하는 레코드값을 지워줄 delete쿼리문
Service
@Override
public void delete(int idx) {
dao.delete(idx);
}
@Override
public String delete_name(int idx) {
return dao.delete_name(idx);
}
@Override
public void delete(int idx) {
jdbcTemplate.update(delete_sql,idx);
}
@Override
public String delete_name(int idx) {
Object[] args = {idx};
String fname = jdbcTemplate.queryForObject(delete_name_sql, args, String.class);
return fname;
}