// 이 프로그램은 하동욱님의 서블릿 강좌 예제를
//  토대로 만들어 졌습을 밝힘니다.
/*
	Access를 이용하여 간단한 게시판을 서블릿으로 구현해 보았습니다.
	WebServer는 JavaWebServer2.0를 이용했구요.
	게시판의 기초적인 기능만 만들어 보았으니 관심 있으신분은
	추가적인 기능을 추가해보시면 좀더 나은 게시판이
	될것 같네요.

	질문사항이나 조언해주실분 메일부탁드립니다.

	email : batmanii@dreamx.net
*/
import java.io.*;
import java.util.*;
import java.sql.*;
import java.util.Date;

import javax.servlet.*;
import javax.servlet.http.*;
/**----------------------------------------------------------------------------
 * BoardView_db
 *
 * author  batmanii
 * version 1.0 (2000/07/22)
 */
///////////////////////////////////////////////////////////////////////////////
public class BoardView_db extends HttpServlet
{
    	String filename;
    	String    page;

    	BoardData bd;
    	//이거 하나만이음 정보들을 모두 읽을 수 있겠죠?

    	public void doGet(HttpServletRequest req, HttpServletResponse res)	throws IOException
    	{
		ReadItem readItem = new ReadItem();

        		res.setContentType("text/html;charset=euc-kr");
        		// 이렇게 charset을 지정해야지 한글이 깨지지 않는다는군요.
       		PrintWriter  out = res.getWriter();

		int bnum = -1;
		String bname="";
		String btitle="";
		String bemail="";
		String bcontent="";
		String bpassword="";
		Date bdate= new Date();
		String url="jdbc:oracle:thin:@localhost:1521:etri";
		Connection con;
		Statement stmt;

		String SQLParam=req.getParameter("num");

		page = req.getParameter("page");
		if(page==null) page="0";

		// Drive 설정
		// ODBC Brige
		try
		{
	  		readItem.loadDriver();
		}
		catch(java.lang.ClassNotFoundException e)
		{
	  		System.err.print("ClassNotFoundException:");
	  		System.err.println(e.getMessage());
		}
		catch(Exception e)
		{
	   		System.err.println(e);
		}

		try
		{	   // DB Connecte
			BoardData data = readItem.read(SQLParam);

			bnum = data.num;
 	   		bdate = data.date;
 	   		btitle = data.title;
     			bname = data.name==null? "":data.name;
     			bemail = data.email==null? "":data.email;
     			bcontent = data.content==null? "":data.content;
     			bpassword = data.password==null? "":data.password;

	 	}
	 	catch(SQLException ex)
	 	{
	 		System.err.println("SQLException:" + ex.getMessage());
	 	}

        		// 데이터 출력하고..
		out.println("<html><body background=/images/back.gif>");
		out.println("<center><br><img src=\"/images/boardViewTitle.gif\" width=\"273\" height=\"34\"> <br><br>");
		out.println("<table border=0 width=600 cellspacing=1 cellpadding=5 bgcolor=#995F0F style=\"font-size:12px; color:#601100\">");
		out.println("<tr bgcolor=#D3BB9A><td colspan=2><center><b>제 목 : "+ btitle +"</b></center></td></tr>");
	//	out.println("<tr bgcolor=#70DBDB><td><center><b>"+HTMLLib.ByteToKSC5601(btitle)+"</b></center></td></tr>");
		out.println("<tr><td>");
		out.println("<tr>");
  		out.println("<th bgcolor=#D3BB9A>등록 시각</th>");
  		out.println("<td bgcolor=#ffffff>"+HTMLLib.getFormattedDateTime(bdate)+"</td></tr>");
  		// 날짜와 시간을 모두 출력하도록 정의한 getFormattedDateTime메소드 사용..
  		out.println("<tr><th bgcolor=#D3BB9A>작 성 자</th>");
  		out.println("<td bgcolor=#ffffff>" + bname + "</td></tr>");
  		out.println("<tr><th bgcolor=#D3BB9A>E-Mail</th>");
  		out.println("<td bgcolor=#ffffff><a href=mailto:" + bemail + ">"+ bemail + "</a></td></tr> ");

 		out.println("<tr bgcolor=#D3BB9A><th bgcolor=#D3BB9A height=200>내 &nbsp;&nbsp;&nbsp;&nbsp;용</th>");
		out.println("<td bgcolor=#ffffff><pre>" + bcontent +"</pre>");
 		out.println("</td></tr></table>");

		out.println("<p>");
       	     	out.println(HTMLLib.getMakeLink(HTMLLib.SERVERURL+"input.html","<img src=\"/images/boardReplyIcon.gif\" width=\"40\" height=\"17\" border=\"0\">"));		
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardModify_db?bnum="+bnum,"<img src=\"/images/boardEditIcon.gif\" width=\"40\" height=\"17\" border=\"0\">"));
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardErase_db?bnum="+bnum,"<img src=\"/images/boardDeleteIcon.gif\" width=\"40\" height=\"17\" border=\"0\">"));
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardList_db?page="+page,"<img src=\"/images/boardListIcon.gif\" width=\"40\" height=\"17\" border=\"0\">"));
		// 이런 저런 링크제공.. ViewDataListServlet으로 갈때는 page값을 URL로 물고 가죠..
  		// 이렇게 URL을 이용해 데이터를 넘기는 방법을 isindex방식이라고도 합니다.
		out.println("</center>");
		out.println("</body></html>");
    	}
}
////////////////////////////  END  /////////////////////////////////////////////
