Web/Servlet-JSP
Servlet-JSP MVC07 - 파일 삭제 하기
now0204
2023. 7. 24. 20:52
1. 뷰 설정
<c:if test="${sessionScope.userId != null && sessionScope.userId == vo.id && vo.filename != null && vo.filename != ''}">
<a href="javascript:delFile('${vo.num}','${vo.filename}')"><span class="glyphicon glyphicon-remove"></span></a>
</c:if>
삭제 버튼에 a태그로 자바스크립트 메서드 연결시켜두었다.
function delFile(num,filename){
location.href="<c:url value='/fileDel.do'/>?num="+num+"&filename="+filename;
}
삭제를 위한 컨트롤러와 연결
2. fileDeleteController
public class FileDelController implements Controller{
@Override
public String requestHandler(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ctx = request.getContextPath();
//파일 이름 과 Dir 관련 설정
String filename = request.getParameter("filename");
int num = Integer.parseInt(request.getParameter("num"));
filename = URLEncoder.encode(filename, "UTF-8");
filename = filename.replace("+", " ");
//삭제할 파일 경로
String UPLOAD_DIR ="file_REPO";
String UPLOAD_REAL_PATH = request.getServletContext().getRealPath("")+File.separator+UPLOAD_DIR;
File f = new File(UPLOAD_REAL_PATH+File.separator+filename);
if(f.exists())
f.delete(); //존재하면 삭제
//테이블에서 파일이름 삭제 (null처리) - update
MemberDAO dao = new MemberDAO();
int cnt = dao.memberDeleteFile(num);
return "redirect:"+ctx+"/memberContent.do?num"+num;
}
}
3. DB처리
public int memberDeleteFile(int number) {
int cnt =-1;
SqlSession session = sqlSessionFactory.openSession();
cnt = session.update("memberdelFile", number);
session.commit();
session.close();
return cnt;
}
삭제한 파일명 null처리하기 위한 DAO메서드이다.
출처: 나프2탄(박매일) -인프런
https://www.inflearn.com/course/%EB%82%98%ED%94%84-mvc-2
[NarP Series] MVC 프레임워크는 내 손에 [나프2탄] - 인프런 | 강의
본 과정은 WEB MVC 프레임워크가 무엇이고 WEB MVC 프레임워크가 어떻게 변형이 되면서 Spring WEB MVC 프레임워크로 넘어가는지 TPC(생각하고-표현하고-코딩하고) 기법을 통해 단계적으로 학습하고 이
www.inflearn.com