티스토리 뷰

공부 이야기

[JSP] 게시판 만들기5

판다(panda) 2011. 6. 27. 00:00
오늘은 참고하시거나 JSP 공부에 도움되는 사이트 하나 소개하고 진행하겠습니다..

JSP 초보를 위한 강좌 모음
from
Server Side Script/JAVA.Servlet.JSP 2007/08/20 17:02

2007년도에 작성한 글인데.. 링크가 짤린게 많군요;..
안짤린것만 보시면 되겠습니다;.. 소개할 만한 사이트는 아니였군요;..

저도 오늘 찾은 사이트였거든요..
글을 쓰면서 진행하다 보니.. 사이트확인도 지금해보네요;..

지난 시간까지는 글 쓰고, 글 내용 확인하고, 글 검색하는 것 까지 해봤습니다..

이번에 할것은..
지난번 글 페이지 넘김 확인한다고.. 똑같은 글을 10개를 남겼는데..



똑같은 내용이니 글을 삭제를 할껍니다..

역시 오라클 DB에 들어가서 삭제를 해야하니까 오라클 메소드를 적어놓고 시작하겠습니다..

<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" %>
<%@ page language="java" import="java.util.*, java.sql.*, javax.servlet.http.*" %>

<%!
 Connection DB_Connection() throws ClassNotFoundException, SQLException, Exception
 {
  String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
  Class.forName( "oracle.jdbc.driver.OracleDriver" );
  Connection conn = DriverManager.getConnection( url, "study", "study" );
  return conn;
}
 
 String TO_DB( String str ) throws Exception
 {
  if( str == null )
   return null;
  return new String( str.getBytes( "8859_1" ), "euc-kr" );
 }
%>


<%
 Connection conn = DB_Connection();
 Statement stmt = null;
 ResultSet rs = null;
 stmt = conn.createStatement();
 
 String str_aid = request.getParameter( "str_aid" );
 int aid = Integer.parseInt( str_aid );    // String -> Integer 형으로 변환
 String sql = "select rid from board where aid=" + aid;
 rs = stmt.executeQuery( sql );
 String thread = "";
 int size = 0;
 int rid = 0;
 if( rs.next() ) {
  rid = rs.getInt(1);    // 쿼리의 첫번째 필드를 Integer 형으로 받음
 }

 sql = "select count(*) from board where rid=" + rid + " and length(" + "'A'" + ")=" + size;  // count(*) 행의 개수를 가져 오는 것
 rs = stmt.executeQuery( sql );  // 쿼리문 실행

 String del_yn = "";

 if( rs.next() )
 {
  int count = rs.getInt(1);
  
  if( count > 0 )
   del_yn = "N";
  else
   del_yn = "Y";
 }

 if( del_yn == "Y" )
 {
  sql = "delete from board where aid=" + aid;
  
  try
  {
   stmt.executeUpdate( sql );
   stmt.close();
   conn.close();
  }
  catch( Exception e )
  {
   out.println( e.toString() );
   return;
  }
 }
%>

다음은 버튼을 만들어야겠죠?.. 버튼 없이 삭제를?.. 그건 신의 영역입니다!..

'board_view.jsp' 에 버튼 내용을 추가합니다..
<script language='javascript'>
 function boarddelete()
 {
  location.href = 'board_delete.jsp?str_aid=<%=aid%>';
 }
</script>


<html>
<head>
<title>글보기</title>
</head>

<table cellspacing = 0 cellpadding = 5 border = 1 width=500>
 <tr><td><b>조회수</b></td><td><%=hits%></td></tr>
 <tr><td><b>이름 </b></td><td><%=v_name.elementAt(0)%></td></tr>
 <tr><td><b>이메일 </b></td><td><%=v_email.elementAt(0)%></td></tr>
 <tr><td><b>홈페이지 </b></td><td><%=v_homepage.elementAt(0)%></td></tr>
 <tr><td><b>제목 </b></td><td><%=v_subject.elementAt(0)%></td></tr>
 <tr><td><b>내용 </b></td><td width=350><%=v_memo.elementAt(0)%></td></tr>
</table>
 
<table  cellspacing = 0 cellpadding = 0 border = 0 width=500>
 <tr><td>
  <input type=button value="목록" OnClick="window.location='board_list.jsp'">
  <input type=button value="삭제" OnClick="javascript:boarddelete();">
 </td></tr>
</table>
</html>

버튼이 당연히 생기겠지요..



그런데..  버튼 내용이..
<input type=button value="목록" OnClick="window.location='board_list.jsp'">
<input type=button value="삭제" OnClick="javascript:boarddelete();">

같은 OnClick 이지만 들어가는 내용이 틀리네요..
사용하는데 지장은 없지만.. 통일성을 주고 싶은 분이라면 수정해주시면 됩니다..

<script language='javascript'>
 function boardlist()
 {
  location.href="board_list.jsp?str_c_page=<%=str_c_page%>";
 }

 function boarddelete()
 {
  location.href = 'board_delete.jsp?str_aid=<%=aid%>';
 }
</script>

OnClick="window.location='board_list.jsp'" 내용을 "javascript:boardlist();"> 로 바꾸면 되겟죠..

그럼 글 삭제를 하고 확인을 해보도록 하죠..

뭔가 순식간에 변해서.. 삭제했나 어리둥절한데..
'board_delete.jsp' 에 스크립트를 삽입해서 글이 삭제되었다는 것을 알려줍시다..


<html>
<head>
 <script language=javascript>
  self.window.alert("글을 삭제하였습니다.");
  location.href="board_list.jsp";
 </script>
</head>
</html>


잘 뜨네요..

이제 글 삭제가 되었는지 확인!..
삭제 성공입니다!..


오늘은 삭제를 해봤는데.. 잘 되셨는지 모르겠군요..
다음은 글 내용을 수정하는 것을 해보겠습니다..


오늘의 소스코드입니다..




저작권 표시 꼭!.. 상업적 이용 절대 불가!.. 컨텐츠 변경 안됨!..