Пример в этой статье описывает, как Java реализует JSP для подключения к базе данных Oracle с помощью Servelt. Чтобы подключиться к базе данных в сервлете, необходимо написать программу класса сервлета. Поместите программу класса сервлета в каталог сервлетов или классов веб-сервера. Чтобы вызвать сервлет, вам необходимо создать HTML-документ, который отправляет запрос сервлета. В этом примере метод (Driver)Class.forName(driverName).newInstance() используется для загрузки драйвера и установления соединения с базой данных.
Конкретный программный код:
1. Класс Database наследует класс HttpServlet и имеет два метода: doGet() и displayResult(). Код выглядит следующим образом:
База данных общедоступного класса расширяет HttpServlet {public void doGet(); public void displayResult (результаты ResultSet, PrintWriter out);}
2. Установите соединение с базой данных и выполните запрос в методе doGet():
public void doGet(){запрос HttpServletRequest, ответ HttpServletResponse}выдает ServletException, IOException{PrintWriter out;String title = "Простой сервлет, подключающийся к базе данных Oracle";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>Это выходные данные SimpleServlet.");String driverName = "oracle.jdbc.driver.OracleDriver";Драйвер d;Соединение con;Statement stmt;Результаты ResultSet;try{d = (Driver)Class.forName(driverName).newInstance();con = DiverManager.getConnection("jdbc:oracle:thin:ndb/[email protected]:1521:PC6");stmt = con.createStatement();String sqlstr = "выбрать * из данных";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, PrintWriter out) {StringBuffer buf = new StringBuffer(); String temp; try {ResultSetMetaData rsmd = results.getMetaData(); int numCols = rsmd.getColumnCount(); int i, rowcount = 0; for (i=1; я <= numCols; я++){if (i > 1) buf.append(",");buf.append(rsmd.getColumnLabel(i));}buf.append(""); while (results.next() && rowcount < 100){for (i= 1; я <= numCols; я++) {если (я > 1) buf.append(",");buf.append((results.getString(i)));}buf.append("<br>");rowcount++;}out.println("<br>");out .println(buf.toString());results.close();}catch (Исключение e){out.println("ошибка: " + e.toString());возврат;}}
4. Поскольку программа использует классы JDBC, классы сервлетов и использует вывод консоли, необходимо ввести следующие пакеты:
импортировать java.sql.*;импортировать java.io.*;импортировать javax.servlet.*;импортировать javax.servlet.http.*;
5. Скомпилируйте Database.java, сгенерируйте файл Database.class и поместите Database.class в каталог сервлетов веб-сервера. В этом примере веб-сервер Java используется в качестве веб-сервера. Настройте WEB-сервер, добавьте базу данных.класс и укажите имя базы данных.
6. Напишите файл data.html, который вызывает сервлет. Код выглядит следующим образом:
<html><head><title>Jsp использует сервлет для подключения к базе данных</title></head><body><center><form action="/servlet/database" Method="get"><input name ="action " type="submit" value="Подключиться к базе данных"></form></center></body></html>