// 이 프로그램은 하동욱님의 서블릿 강좌 예제를
//  토대로 만들어 졌습을 밝힘니다.
/*
	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 bdetail="";
		String bpassword="";
		Date bdate= new Date();
		String url="jdbc:oracle:thin:@129.254.75.152:1521:orcl816";
		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;
     			bemail = data.email;
     			bdetail = data.content;
     			bpassword = data.password;

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

        		// 데이터 출력하고..
		out.println("<html><body>");
		out.println("<center>");
		out.println("<table border=0 cellpadding=5 width=70%>");
		out.println("<tr bgcolor=#70DBDB><td><center><b>"+ btitle +"</b></center></td></tr>");
	//	out.println("<tr bgcolor=#70DBDB><td><center><b>"+HTMLLib.ByteToKSC5601(btitle)+"</b></center></td></tr>");
		out.println("</table><br>");
		out.println("<table border=0 bgcolor=#70DBDB cellpadding=2 width=70%>");
		out.println("<tr><td>");

		out.println("<table border=0 bgcolor=#ffffff cellspacing=0 cellpadding=8 width=100%>");
		out.println("<tr><td>");
 		out.println("<table border=0  cellpadding=2>");
		out.println("<tr>");
  		out.println("<th bgcolor=#70DBDB>등록 시각</th>");
  		out.println("<td bgcolor=#ffffff>"+HTMLLib.getFormattedDateTime(bdate)+"</td></tr>");
  		// 날짜와 시간을 모두 출력하도록 정의한 getFormattedDateTime메소드 사용..
  		out.println("<tr><th bgcolor=#70DBDB>작성자</th>");
  		out.println("<td>" + bname + "</td></tr>");
  		out.println("<tr><th bgcolor=#70DBDB>E-Mail</th>");
  		out.println("<td><a href=mailto:" + bemail + ">"+ bemail + "</a></td></tr> ");

  		out.println("</table>");
 		out.println("</td></tr> <tr><td>");
		out.println("<pre>" + bdetail +"</pre>");
 		out.println("</td></tr></table>");
		out.println("</td></tr></table>");
		out.println("<p>");
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVERURL+"input.html","답변(write)"));
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardModify_db?bnum="+bnum,"수정(Modify)"));
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardErase_db?bnum="+bnum,"삭제(Delete)"));
		out.println(HTMLLib.getMakeLink(HTMLLib.SERVLETURL+"BoardList_db?page="+page,"목록(list)"));
		// 이런 저런 링크제공.. ViewDataListServlet으로 갈때는 page값을 URL로 물고 가죠..
  		// 이렇게 URL을 이용해 데이터를 넘기는 방법을 isindex방식이라고도 합니다.
		out.println("</center>");
		out.println("</body></html>");
    	}
}
////////////////////////////  END  /////////////////////////////////////////////
