java

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ java ] in KIDS
글 쓴 이(By): Nevido (될대로되라)
날 짜 (Date): 1998년 7월  5일 일요일 오후 02시 28분 53초
제 목(Title): [Q] Servlet과 JDBC 연동



 jdk1.1.6과 jsdk2.0 그리고 oracle jdbc를 이용해서 DB연동 servlet 프로그램
 만들어 볼려고 합니다.

 일단 java에 문외한이라 기본적인 예제로 실험부터 해보고 있지요.
 먼저 일반적인 자바 application과 Jdbc연결부터..
 pc환경에서는 일반적인 java application으로 JDBC 연결 test가 잘되더군요.
 근데 똑같은 화일을 solaris2.5.1로 가져가 잘 안됐습니다.
 컴파일시에는 에러가 없지만 실행시키면 그런 class가 없다는 메세지만
 나옵니다.

 그리고, 서블릿에 jdbc 구문을 집어넣었더니 컴파일때 에러가 나옵니다.
 무슨 에런지 짐작이 가지 않습니다.
 아래에 소스를 올립니다. (userid,password,ip-address는 바꿔야겠지요)

----


import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

import java.sql.*;


public class TestServlet extends HttpServlet
{
    public void doGet (
        HttpServletRequest      request,
        HttpServletResponse     response
    ) throws ServletException, IOException
    {
        PrintWriter             out;
        String                  title = "Simple Servlet Output";
        response.setContentType("text/html");

        // then write the data of the response
        out = response.getWriter();

        // Load Oracle JDBC

        try {
            Class.forName ("oracle.jdbc.driver.OracleDriver");
            Connection conn =
                DriverManager.getConnection 
("jdbc:oracle:thin:@ip-address:1521:ORA7",
                    "userid", "password");
            Statement stmt = conn.createStatement ();
            ResultSet rset = stmt.executeQuery ("select prodid from product");
        } catch(SQLException e)
        {
            out.println("Error - connection <br>");
        }
        try {
            out.println("<HTML><HEAD><TITLE>");
            out.println(title);
            out.println("</TITLE></HEAD><BODY>");
            out.println("<H1>" + title + "</H1>");
            out.println("<P>Hello Java.");
            out.println("");
            while (rset.next())
                out.println(rset.getString (1));
        } catch(SQLException e)
        {
            out.println("Query error");
        }
        out.println("</BODY></HTML>");
        out.close();
    }
}

----

 다음은 에러메세지

 TestServlet.java:58: Exception java.lang.ClassNotFoundException must be 
caught, or it must be declared in the throws clause of this
method.
            Class.forName ("oracle.jdbc.driver.OracleDriver");
                          ^
TestServlet.java:75: Undefined variable or class name: rset
            while (rset.next())
                   ^
TestServlet.java:76: Undefined variable or class name: rset
                out.println(rset.getString (1));
                            ^
TestServlet.java:77: Exception java.sql.SQLException is never thrown in the 
body of the corresponding try statement.
        } catch(SQLException e)
          ^
4 errors


 에구 어렵군요.

 
왜 우리는 성공하려고 그처럼 필사적으로 서두르며 일을 추진하는 것일까?
어떤사람이 자기또래와 보조를 맞추지 않는다면, 그것은 그가 그들과는 다른
고수의 북소리를 듣고 있기 때문일 것이다.
그가 남과 보조를 맞추기 위해 자신의 봄을 여름으로 바꿔야 한단 말인가?
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.