enctype은 request가 안됩니당~
public void update(HttpServletRequest request) throws Exception { request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String sql = "select *from tour where id=?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); ResultSet rs = pstmt.executeQuery(); rs.next(); TourDto tdto = new TourDto(); tdto.setId(rs.getInt("id")); tdto.setTitle(rs.getString("title")); tdto.setContent(rs.getString("content")); request.setAttribute("tdto", tdto); String[] fname = rs.getString("fname").split(","); request.setAttribute("fname", fname); rs.close(); pstmt.close(); conn.close(); }
public void update_ok(HttpServletRequest request, HttpServletResponse response) throws Exception { String path=request.getRealPath("/tour/img"); int size = 1024*1024*10; MultipartRequest multi = new MultipartRequest (request,path,size,"utf-8",new DefaultFileRenamePolicy()); // 삭제할 그림 String[] delimg = multi.getParameter("delimg").split(","); for(int i=0;i<delimg.length;i++) { File file = new File(path+"/"+delimg[i]); if(file.exists()) // exists << 있느냐 file.delete(); } // 남겨질 그림 + 추가 그림 >> " 파일명,파일명,"이런식으로 저장할것이기 때문에 Enumeration enu = multi.getFileNames(); // "fname1 fname2 fname3 " input type="file"의 name을 읽어온다.. // 저장된 파일의 이름을 구하기 >> multi.getFilessystemName("fname1") String chuga=""; while(enu.hasMoreElements()) { chuga = chuga + multi.getFilesystemName(enu.nextElement().toString())+","; } chuga = chuga.replace("null," , ""); // 수정 시 그림을 선택하지 않으면 null값이 오므로 null값을 없애기 위해 사용 String eximg = multi.getParameter("eximg"); String fname = eximg + chuga; String id = multi.getParameter("id"); String title = multi.getParameter("title"); String content = multi.getParameter("content"); String sql = "update tour set title=?,content=?,fname=? where id=?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, title); pstmt.setString(2, content); pstmt.setString(3, fname); pstmt.setString(4, id); pstmt.executeUpdate(); pstmt.close(); conn.close(); response.sendRedirect("content.jsp?id="+id); }
지금 당장은 이해 잘 안되는데 일단 계속 써보면서 익혀보도록 하즈아