2010. 8. 6. 18:20 flex
[14-D4][notice][JSP] 글 추가, 글 수정, 글 삭제
[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>");
}
}
%>
'flex' 카테고리의 다른 글
[실습1-1][memo] DB, MXML 페이지 제작(memoFx.mxml) (0) | 2010.08.06 |
---|---|
[15-D4] HTML 페이지상에 Flex Application 의 배포 (0) | 2010.08.06 |
[13-D4][notice] MXML main 화면(noticeFx.mxml) (0) | 2010.08.06 |
[12-D4][notice][JSP] Eclipse 프로젝트 설정, 글 목록(list.jsp) (0) | 2010.08.06 |
[11-D3][notice] DTO, Manager의 제작 및 사용 (0) | 2010.08.06 |