Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Базовые понятия языка Java Учебник

Язык Java - одно из самых новых и модных средств программирования нашего времени. Он начинал разрабатываться как часть проекта создания передового программного обеспечения для различных бытовых приборов. Можно сказать, что он произошел от языка C++, сохранив 80% его мощности и лишь 20% сложности (первая версия языка была создана в 1995 г. и называлась Oak). Это сокращение сложности привело, как ни странно, к тому, что Java получился более "объектно-ориентированным", чем его славный предок.

Литература по Java

Связь с базами данных через JDBC

Листинг П.1. Апплет, обращающийся к базе Oracle

import j ava.awt.*;

import java.awt.event.*;

import j ava.applet.*;

import java.util.*;

import j ava.sql.*;

public class JdbcApplet extends Applet

implements ActionListener, Runnable{ 

private TextField tfl, tf2, tf3; 

private TextArea ta; 

private Button bl, b2; 

private String url = "jdbc:oracle:thin:Slocalhost:1521:ORCL",

login = "scott", 

password = "tiger",

query = "SELECT * FROM dept"; 

private Thread th; 

private Vector results; 

public void init(){

setBackground(Color.white) ; 

try{

DriverManager.registerDriver(

new oracle.j dbc.driver.OracleDriver() ) ; 

}catch(SQLException e){

System.err.println(e); }

setLayout(null); 

setFont(new Font("Serif", Font.PLAIN, 14));

Label l1 = new Label("URL базы:", Label.RIGHT);

11.setBounds(20, 30, 70, 25); add(ll);

Label 12 = new Label("Имя:", Label.RIGHT);

12.setBounds(20, 60, 70, 25); add(12);

Label 13 = new Label("Пароль:", Label.RIGHT);

13.setBounds(20, 90, 70, 25); add(13);

tfl = new TextField(url, 30); 

tfl.setBounds(100, 30, 280, 25); add(tfl);

tf2 = new TextField(login, 30); 

tf2.setBounds(100, 60, 280, 25); add(tf2);

tf3 = new TextField(password, 30); 

tf3.setBounds(100, 90, 280, 25); add(tf3); 

tf3.setEchoChar('*');

Label 14 = new Label("Запрос:", Label.LEFT); 

14.setBounds(10, 120, 70, 25); add(14);

ta = new TextArea(query, 5, 50, TextArea.SCROLLBARS_NONE); 

ta.setBounds(10, 150, 370, 100); add(ta);

Button bl = new Button("Отправить"); 

bl.setBounds(280, 260, 100, 30); add(bl); 

b1.addActionListener(this);

}

public void actionPerformed(ActionEvent ae){ 

url = tfl.getText() ; 

login = tf2.getText(); 

password = tf3.getText(); 

query = ta.getText(); 

if (th == null){

th = new Thread(this); 

th. start () ; 

}

public void run(){ 

try{

Connection con =

DriverManager.getConnection(url, login, password); 

Statement st = con.createStatement(); 

ResultSet rs = st.executeQuery(query); 

ResultSetMetaData rsmd = rs.getMetaData();

// Узнаем число столбцов 

int n = rsmd.getColumnCount(); 

results = new Vector(); 

while (rs.nextOH String s = " ";

// Номера столбцов начинаются с 1! 

for (int i = 1; i <= n; i++)

s += " " + rs.getObject(i); 

results.addElement(s); }

rs.close(); 

st.close () ; 

con.closet); 

repaint(); 

}catch(Exception e){

System, err.println(e); 

}

repaint(); 

}

public void paint(Graphics g)( 

if (results == null){

g.drawstring("Can't execute the query", 5, 30); 

return; 

}

int у = 30, n = results.size(); 

for (int i = 0; i < n; i++)

g.drawString((String)results.elementAt(i), 5, у += 20); } }

Замечание по отладке

В главе 19 упоминалось, что для отладки сетевой программы удобно запустить и клиентскую, и серверную часть на одном компьютере, обращаясь к серверной части по адресу 127.0.0.1 или доменному имени localhost. He забывайте, что апплет может связаться по сети только с тем хостом, откуда он загружен. Следовательно, на компьютере должен работать Web-сервер. Если Web-сервер прослушивает порт 8080, то, чтобы загрузить HTML-страницу с апплетом, надо в браузере указывать адрес URL вида http://loca(host:8080/public/JdbcApplet.html . При этом учтите, что Web-сервер устанавливает свою иерархию каталогов, и каталог public на самом деле может быть каталогом usr/local/http/public или каким-нибудь другим.

Таким образом, JDBC позволяет проделать весь цикл работы с базой данных. Подробно со всеми возможностями JDBC можно познакомиться, прочитав спецификацию JDBC, имеющуюся в документации Java 2 SDK, в каталоге docs\guide\jdbc\spec\. Дополнения спецификации версии JDBC 2.0 изложены в каталоге docs\guide\jdbc\spec2\. В каталоге docs\guide\jdbc\getstart\ есть пособие по использованию JDBC.

Математический анализ, лекции по физике Компьютерные сети