메뉴 건너뛰기

2021.03.28 10:03

JSP - 수정 삭제

조회 수 150 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. 화면에서 수정삭제 버튼 클릭하면

 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE  >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 
 
<%
    String path = request.getContextPath();
%>
<script src="http://code.jquery.com/jquery-3.1.0.js"> </script>
<script>
 
    $(document).ready(function() {
 
        //삭제
        
        $("#btnDelete").click(function(){
            
        if(    confirm("정말 삭제 하시겠습니까?")){
            //주소 이동
            //수정과 삭제의 주소가 달라서 form 태그 안에 적어주지 않고 이곳에 적어준다.
            var idx = $("#idx").val();
            document.form1.action="<%=path%>/memo_servlet/delete.do?idx=" + idx;
            document.form1.submit();        //서버에 제출
        }
            
        });
        
        
    
        
        //업데이트
        $("#btnUpdate").click(function() {
 
            //var writer = $("#writer").val();  id로 조회
            //name으로 조회 
            var writer = document.form1.writer;
            var memo = document.form1.memo;
 
            if (writer.value == "") { //빈 값 체크
 
                alert("이름을 입력하세요");
                writer.focus();
                return;
 
            }
 
            if (memo.value == "") {
 
                alert("메모를 입력하세요");
                memo.focus();
                return;
            }
            //주소 이동
            //수정과 삭제의 주소가 달라서 form 태그 안에 적어주지 않고 이곳에 적어준다.
            var idx = $("#idx").val();
            document.form1.action="<%=path%>/memo_servlet/update.do?idx="+ idx;
            document.form1.submit(); //서버에 제출
                                        
        
        });
 
                    });
</script>
 
</head>
<body>
 
    <!-- post면 주소에 던져지는 값 안보임 -->
    <form name="form1" method="post">
 
        <table border="1">
 
            <tr>
                <td>날짜</td>
                <td>${dto.post_date}</td>
            </tr>
 
            <tr>
                <td>이름</td>
                <td><input name="writer" value="${dto.writer}"></td>
            </tr>
            <tr>
                <td>메모</td>
                <td><textarea name="memo"> ${dto.memo} </textarea></td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <!-- 수정 삭제 할때 번호를 넘겨야 하는데 idx를 화면에 보여주지 않고 넘기는 법 --> <input
                    type="hidden" id="idx" value="${dto.idx} "> 
                    <input type="button" value="수정" id="btnUpdate"> 
                    <input type="button" value="삭제" id="btnDelete">
                </td>
            </tr>
 
 
        </table>
 
    </form>
 
</body>
</html>
cs

 

 

 

2컨트롤러로 간다

 

 

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
else if (url.indexOf("update.do"!= -1) {
 
            int idx = Integer.parseInt(request.getParameter("idx"));
            String writer = request.getParameter("writer");
            String memo = request.getParameter("memo");
 
            // dao에 update 요청
            dao.memoUpdate(idx, writer, memo);
 
            // 페이지 이동(redirect)
            response.sendRedirect(context + "/memo/index.jsp");
 
            // 페이지 이동(redirect)
 
        }else if(url.indexOf("delete.do")!=-1){
            
            
            int idx=Integer.parseInt(request.getParameter("idx"));
            
            dao.memoDelete(idx);
        
            // 페이지 이동(redirect)
            response.sendRedirect(context + "/memo/index.jsp");
        }
 
    }
 
cs


 

 

 

 

3. DAO

 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// 업데이트
    public void memoUpdate(int idx, String writer, String memo) {
 
        Connection conn = null;
        PreparedStatement pstmt = null;
 
        try {
            conn = DB.dbConn();
 
            String sql = "update memo set writer=? , memo = ? where idx= ?";
 
            pstmt = conn.prepareStatement(sql);
 
            pstmt.setString(1, writer);
            pstmt.setString(2, memo);
            pstmt.setInt(3, idx);
 
            // 업데이트 성공하면 1 리턴
            int count = pstmt.executeUpdate();
 
            // MemoView(idx);
 
        } catch (Exception e) {
 
        } finally {// resultset= > statement=> connection
 
            try {
                if (pstmt != null) {
                    pstmt.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
 
            try {
                if (conn != null) {
                    conn.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
 
        }
 
    }
 
    // 삭제
    public void memoDelete(int idx) {
 
        Connection conn = null;
        PreparedStatement pstmt = null;
 
        try {
            conn = DB.dbConn();
 
            String sql = "delete from memo where idx = ?";
 
            pstmt = conn.prepareStatement(sql);
 
            pstmt.setInt(1, idx);
 
            // 업데이트 성공하면 1 리턴
            int count = pstmt.executeUpdate();
 
            // MemoView(idx);
 
        } catch (Exception e) {
 
        } finally {// resultset= > statement=> connection
 
            try {
                if (pstmt != null) {
                    pstmt.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
 
            try {
                if (conn != null) {
                    conn.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
 
    }
cs

 

 

4.마지막으로 INSERT 화면 호출 

 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE  >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 
<script src="http://code.jquery.com/jquery-3.1.0.js">
    
</script>
 
<%
    //context path: 웹프로젝트의 식별자
    String path = request.getContextPath();
%>
 
<script>
    $(document).ready(function(){
        
        memo_list();
        
        //추가버튼 클릭 이벤트
        $("#btnAdd").click(function (){
            
            memo_insert();
            
        });
        
        
    });
    
    //추가 버튼 함수
    function memo_insert(){
        
        //input 태그에 입력한 값
         var writer=$("#writer").val();
        var memo=$("#memo").val();
        
        //금칙어 처리
        var bad_word_list = ["<xmp>""<script>"];
        for(var i=0; i<bad_word_list.length; i++){
            
            if(memo.indexOf(bad_word_list[i]) != -1){
                
                alert(
                        
                        bad_word_list[i]+"는 입력할 수 없습니다."
                );
                
                $("#memo").focus();
                return;
            }
            
        }
        
        
        //쿼리 구성
        
        var param = "writer="+writer+"&memo="+memo;
        
        $.ajax({
                
            type: "post",
            data: param,
            url: "<%=path%>/memo_servlet/insert.do",
            success: function(){
                //콜백함수
            
                // 추가 완료되면 목록을 갱신함
                 
                memo_list();
                                
            }
        });
        
    }
    
    
    function memo_list(){
        
        //함수
        $.ajax({
            
            //함수의 파라미터 
            url: "<%=path%>/memo_servlet/list.do",
            success : function(result) {
                //result : Response Text (서버의 응답텍스트)
                // div의 내용을 교체함
                $("#divList").html(result);
 
            }
 
        })
 
    }
</script>
 
 
 
</head>
<body>
 
    이름
    <input id="writer" size="10"> 
    <br>
    메모
    
    <textarea id="memo" rows="5" cols="30"> </textarea>
    <!-- <input id="memo" size="30"> -->
 
    <!-- 버튼은 전송기능이 없어서 js를 이용해줘야한다 -->
    <input type="button" id="btnAdd" value="확인">
 
    <h2>한줄메모장</h2>
    <div id="divList">이곳에 목록이 출력됩니다.</div>
 
</body>
</html>
cs

 


  1. 메모 상세 & EL

    Date2019.01.09 Views824
    Read More
  2. JDBC&데이터 처리 순서&DB CONN 따로 분리

    Date2019.01.09 Views823
    Read More
  3. jsp:include 태그에서 파라미터사용시 오류

    Date2021.03.25 Views404
    Read More
  4. jsp - 아이디 체크

    Date2021.03.28 Views274
    Read More
  5. JSP - MYSQL JSP 연동 &리스트 뽑아오기

    Date2021.03.27 Views207
    Read More
  6. JSP - 태그문자&공백문자&줄바꿈 문자 처리

    Date2021.03.28 Views186
    Read More
  7. jsp - 회원가입

    Date2021.03.28 Views179
    Read More
  8. jsp - 각종 체크 &우편번호

    Date2021.03.28 Views154
    Read More
  9. JSP - 한줄메모 목록 리스트 AJAX

    Date2021.03.28 Views151
    Read More
  10. JSP - 수정 삭제

    Date2021.03.28 Views150
    Read More
  11. JSP - 한줄메모 삽입 & AJAX

    Date2021.03.28 Views150
    Read More
  12. 패키지 컴파일 방법

    Date2021.03.25 Views147
    Read More
  13. jsp에서 멤버변수의 사용

    Date2021.03.25 Views142
    Read More
  14. jsp header의 사용

    Date2021.03.31 Views141
    Read More
  15. JSP - MYSQL JSP insert 폼에서 servlet으로 값넘기기

    Date2021.03.27 Views137
    Read More
  16. JSP - 환경설정 및 기본개념

    Date2021.03.27 Views132
    Read More
  17. jsp mybatis sample file and spring mvc

    Date2021.03.28 Views127
    Read More
  18. JSP - filter 필터 &한글처리

    Date2021.03.28 Views125
    Read More
  19. JSP - MVC 패턴 & 도서 목록 컨트롤러에서 해당 URL 받아서 처리하기

    Date2021.03.27 Views122
    Read More
  20. JSP - 메모 상세 & EL

    Date2021.03.28 Views120
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved