Java 구현 JSP Servelt에서 Oracle 데이터베이스 연결 방법

본고는 Java가 JSP를 이용하여 Oracle 데이터베이스에 Servelt를 연결하는 방법을 실례로 다루고 있다.Servlet에 데이터베이스를 연결하기 위해서는 Servlet의 클래스 프로그램을 작성해야 합니다.Servlet 클래스 프로그램을 WEB 서버의 servlets나classes 디렉터리 아래에 놓고 Servlet을 호출하기 위해 Servlet 요청을 보내는 HTML 문서를 만들어야 합니다.이 예는 Driver Class를 통과합니다.forName(driverName).newInstance() 방법으로 드라이버를 로드하고 데이터베이스와 연결합니다.
프로그램 코드는 다음과 같습니다.
1. Database 클래스는 HttpServlet 클래스를 계승합니다. 두 가지 방법이 있습니다: doGet () 과 displayResult (). 코드는 다음과 같습니다.

public class Database extends HttpServlet
{
public void doGet();
public void displayResult(ResultSet results,PrintWriter out);
}

2. doGet() 메서드에서 데이터베이스에 대한 연결을 설정하고 질의를 수행합니다.

public void doGet()
{
HttpServletRequest request,
HttpServletResponse response
}
throws ServletException, IOException
{
PrintWriter out;
String title = "Simple Servlet connecting to Oracle DB";
response.setContentType("text/html;charset=GB2312");
out = response.getWriter();
out.println("<HTML><HEAD><TITLE>");
out.println(title);
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>" + title + "</H1>");
out.println("<P>This is output from SimpleServlet.");
String driverName = "oracle.jdbc.driver.OracleDriver";
Driver d;
Connection con;
Statement stmt;
ResultSet results;
try
{
d = (Driver)Class.forName(driverName).newInstance();
con = DiverManager.getConnection("jdbc:oracle:thin:ndb/[email protected]:1521:PC6");
stmt = con.createStatement();
String sqlstr = "select * from data";
results = stmt.executeQuery(sqlstr);
displayResult(results,out);
stmt.close();
con.close();
}
catch (Exception e)
{
out.println("error: " + e.toString());
}
out.println("</BODY></HTML>");
out.close();
}

3. DisplayResult() 메서드에 쿼리 결과가 표시됩니다.

public void displayResult(ResultSet results,PrintWriter out)
{
StringBuffer buf = new StringBuffer();
String temp;
try
{
ResultSetMetaData rsmd = results.getMetaData();
int numCols = rsmd.getColumnCount();
int i, rowcount = 0;
for (i=1; i <= numCols; i++)
{
if (i > 1) buf.append(",");
buf.append(rsmd.getColumnLabel(i));
}
buf.append("");
while (results.next() && rowcount < 100)
{
for (i=1; i <= numCols; i++)
{
if (i > 1) buf.append(",");
buf.append((results.getString(i)));
}
buf.append("<br>");
rowcount++;
}
out.println("<br>");
out.println(buf.toString());
results.close();
}
catch (Exception e)
{
out.println("error: " + e.toString());
return;
}
}

4. 프로그램은 JDBC 클래스, servlet 클래스와 콘솔 출력을 사용하기 때문에 다음과 같은 패키지를 도입해야 한다.

import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

5. 데이터베이스를 컴파일합니다.java, Database 생성.class 파일, Database.class는 WEB 서버의 servlets 디렉터리에 놓고 이 예는 Java 웹 서버를 WEB 서버로 사용합니다.WEB 서버를 설정하고 데이터베이스를 추가합니다.class, 지정한 이름은 데이터베이스입니다.
6. Servlet을 호출하는 데이터베이스를 작성합니다.html 파일.코드는 다음과 같습니다.

<html>
<head>
<title>Jsp Servlet </title>
</head>
<body>
<center>
<form action="/servlet/database" method="get">
<input name="action" type="submit" value=" ">
</form>
</center>
</body>
</html>

좋은 웹페이지 즐겨찾기