[14-D4][notice][JSP] 글 추가, 글 수정, 글 삭제

[01] jsp 작업

1. 글 추가
   - http://localhost:8081/www_flex/noticefxjsp/create.jsp?subject=테스트 제목&content=테스트 내용&passwd=123

>>>>> www_flex/WebContent/noticefxjsp/save.jsp
<?xml version="1.0" encoding="utf-8"?>

<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page import = "java.sql.*, www.utility.*" %>

<jsp:useBean id="utility" class="www.utility.Utility" />  
<jsp:useBean id="dbconnect" class="www.utility.ConnectionMgr" scope="page" />

<%
request.setCharacterEncoding("utf-8");

Connection con = null;  
PreparedStatement pstmt = null;
//ResultSet rs = null;

StringBuffer sql = new StringBuffer();

String subject = request.getParameter("subject");
String content = request.getParameter("content");
String passwd = request.getParameter("passwd");

System.out.println("subject: " + subject);
System.out.println("content: " + content);
System.out.println("passwd: " + passwd);

out.println("<result_set>");
//파라미터가 넘어오지 않았을 때 처리
if(subject == null || content.equals("") || passwd.equals("")) { 
    out.println("<result_meta>");
    out.println("   <err_code>1</err_code>"); // 에러코드 
    out.println("   <proc_cnt>0</proc_cnt>"); // 처리건수
    out.println("   <message>입력 값이 부족합니다.</message>"); // 메시지
    out.println("</result_meta>");  
} else {
    sql.append(" INSERT INTO noticeFx (idx, regdate, subject, content, passwd) ");
    sql.append(" VALUES ((SELECT NVL(MAX(idx), 0)+1 AS cnt FROM noticeFx),sysdate, ?, ?, ?)");

    try  {
        con = dbconnect.getConnection();
        pstmt = con.prepareStatement(sql.toString());
        pstmt.setString(1,subject);
        pstmt.setString(2,content);
        pstmt.setString(3,passwd);
        
        int proc_cnt = pstmt.executeUpdate();
        
        // 에러코드 --> 0: 에러, 1:정상
        out.println("<result_meta>");
        out.println("   <err_code>0</err_code>"); // 에러코드, 정상 처리 
        out.println("   <proc_cnt>" + proc_cnt + "</proc_cnt>");// 처리건수
        out.println("   <message/>"); // 메시지
        out.println("</result_meta>");
    } catch (Exception e) {
        System.out.println(e.toString());
        out.println("<result_meta>");
        out.println("   <err_code>9</err_code>"); // 에러코드 
        out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
        out.println("   <message>글 추가중 에러가 발생 했습니다.</message>"); // 메시지
        out.println("</result_meta>");
    } finally {
        DBClose.close(con, pstmt);
        out.println("</result_set>");
    }
}
%>





2. 글 수정

>>>>> www_flex/WebContent/noticefxjsp/update.jsp
- http://localhost:8081/www_flex/noticefxjsp/update.jsp?idx=5&subject=테스트 제목2&content=테스트 내용2&passwd=123

<?xml version="1.0" encoding="utf-8"?>

<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page import = "java.sql.*, www.utility.*" %>

<jsp:useBean id="utility" class="www.utility.Utility" />  
<jsp:useBean id="dbconnect" class="www.utility.ConnectionMgr" scope="page" />

  
<%
request.setCharacterEncoding("utf-8");

Connection con = null;
PreparedStatement pstmt = null; 
//ResultSet rs = null;

int idx = Integer.parseInt(request.getParameter("idx"));
System.out.println("idx: " + idx);
String subject = request.getParameter("subject");
System.out.println("subject: " + subject);
String content = request.getParameter("content");
System.out.println("content: " + content);
String passwd = request.getParameter("passwd");

StringBuffer sql = new StringBuffer();

out.println("<result_set>");
if(subject == null || content == null) { // 파라미터가 넘어오지 않았을 때 처리
    out.println("<result_meta>");
    out.println("   <err_code>1</err_code>"); // 에러코드 
    out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
    out.println("   <message>파라미터 입력되지 않았습니다.</message>"); // 메시지
    out.println("</result_meta>");  
} else {
    sql.append(" UPDATE noticeFx SET subject = ?, content = ?");
    sql.append(" WHERE idx = ? AND passwd = ?");
    
    System.out.println("쿼리  : " + sql);
    
    try  {
        con = dbconnect.getConnection();
        pstmt = con.prepareStatement(sql.toString());
        pstmt.setString(1, subject);
        pstmt.setString(2, content);
        pstmt.setInt(3, idx);
        pstmt.setString(4, passwd);
        
        int proc_cnt = pstmt.executeUpdate();
        
        if (proc_cnt == 1){
            // 에러코드 --> 0: 정상, 1:에러
            out.println("<result_meta>");
            out.println("   <err_code>0</err_code>"); // 에러코드 
            out.println("   <proc_cnt>" + proc_cnt + "</proc_cnt>");// 처리건수
            out.println("   <message/>"); // 메시지
            out.println("</result_meta>");
            
        }else{
            out.println("<result_meta>");
            out.println("   <err_code>1</err_code>"); // 에러코드 
            out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
            out.println("   <message>패스워드가 일치하지 않습니다.</message>"); // 메시지
            out.println("</result_meta>");            
        }

    } catch (Exception e) {
        System.out.println(e.toString());
        out.println("<result_meta>");
        out.println("   <err_code>9</err_code>"); // 에러코드 9
        out.println("   <proc_cnt>0</proc_cnt>"); // 처리건수
        out.println("   <message>글 수정중 에러가 발생했습니다.</message>"); // 메시지
        out.println("</result_meta>");
    } finally {
        DBClose.close(con, pstmt);
        out.println("</result_set>");
    }
}
%>




3. 글 삭제
- http://localhost:8081/www_flex/noticefxjsp/remove.jsp?idx=6&passwd=123

>>>>> www_flex/WebContent/noticefxjsp/remove.jsp
<?xml version="1.0" encoding="utf-8"?>

<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page import = "java.sql.*, www.utility.*" %>

<jsp:useBean id="dbconnect" class="www.utility.ConnectionMgr" scope="page" />
  
<%
request.setCharacterEncoding("utf-8");

Connection con = null; 
PreparedStatement pstmt = null;
//ResultSet rs = null;

int idx = 0; 
if (request.getParameter("idx") != null){
    idx = Integer.parseInt(request.getParameter("idx"));
}

String passwd = request.getParameter("passwd");

// 결과값 XML 시작
out.println("<result_set>");

StringBuffer sql = new StringBuffer();
if(passwd == null) { // 파라미터가 넘어오지 않았을 때 처리
    out.println("<result_meta>");
    out.println("   <err_code>1</err_code>"); // 에러코드 
    out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
    out.println("   <message>패스워드가 입력되지 않았습니다.</message>"); // 메시지
    out.println("</result_meta>");  
} else {
    sql.append(" DELETE FROM noticeFx WHERE idx = ? AND passwd=?");

    try  {
        con = dbconnect.getConnection();
        pstmt = con.prepareStatement(sql.toString());
        pstmt.setInt(1, idx);
        pstmt.setString(2, passwd);
        
        int proc_cnt = pstmt.executeUpdate();

        if (proc_cnt == 1){
            // 에러코드 --> 0: 정상, 1:에러
            out.println("<result_meta>");
            out.println("   <err_code>0</err_code>"); // 에러코드 
            out.println("   <proc_cnt>" + proc_cnt + "</proc_cnt>");// 처리건수
            out.println("   <message/>"); // 메시지
            out.println("</result_meta>");
        }else{
            out.println("<result_meta>");
            out.println("   <err_code>1</err_code>"); // 에러코드 
            out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
            out.println("   <message>패스워드가 일치하지 않습니다.</message>"); // 메시지
            out.println("</result_meta>");
        }
    } catch (Exception e) {
        System.out.println(e.toString());
        out.println("<result_meta>");
        out.println("   <err_code>9</err_code>"); // 에러코드 
        out.println("   <proc_cnt>0</proc_cnt>");// 처리건수
        out.println("   <message>처리중 에러가 발생했습니다.</message>"); // 메시지
        out.println("</result_meta>");
    } finally {
        DBClose.close(con, pstmt);
        out.println("</result_set>");
    }
}
%>



    
    
    
Posted by ▶파이팅◀

블로그 이미지
Let's start carefully from the beginning
▶파이팅◀

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
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

최근에 올라온 글

최근에 달린 댓글

글 보관함