Разработка программ.
Автоматизированная система учета материальных средств в аэропорту
Catch (IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try. Catch (IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try. Public static void main (String args) // главный метод, начальные значения, передаются аргументы, описывает функцию. Import java.io.*; // потоки и файлы произвольного доступа… Читать ещё >
Разработка программ. Автоматизированная система учета материальных средств в аэропорту (реферат, курсовая, диплом, контрольная)
Разработка серверной части программы
Посылка дейтаграмм по протоколу UDP.
package server_program; // объявление пакета, к которому привязываются разрабатываемые классы.
import java.net.*; //подключения методов класса java.net и его дочерних классов.
import java.io.*; // потоки и файлы произвольного доступа. Аналог библиотеки стандартного ввода-вывода.
import java.util.*; // классы-контейнеры (Dictionary, HashTable, Stack) и некоторые другие утилиты. Кодирование и декодирование. Классы Date и Time.
public class Main { // Программная структура, содержит в себе основные элементы такие как методы и поля.
public static void main (String[] args) // главный метод, начальные значения, передаются аргументы, описывает функцию.
{.
try // содержит один или более операторов, выдает исключения.
{.
ServerSocket ss = new ServerSocket (Integer.parseInt (args[0])); // объект класса предназначен для установки канала связи с клиентским приложением.
while (true) //логическое выражение, оператор цикла.
new HttpConnect (ss.accept ()); // установка канала связи с клиентским приложением.
}.
сatch (ArrayIndexOutOfBoundsException ae) // Перехват исключений в Java оформляется блоком «try-catch», сначало делается попытка выполнить фрагмент кода, и если генерируется исключение, то оно обрабатывается фрагментом catch.
{.
System.err.println («Usage: Server port»); // метод вывода системных сообщений.
System.exit (0); // «нормальное» завершение процесса.
}.
catch (IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try.
{.
System.out.println (e); // стандартный поток вывода.
}.
}.
}.
class HttpConnect extends Thread // представляет собой отдельный поток управления в пределах процесса.
{.
private Socket sock; // чтобы сгладить различия в реализациях разных серверов, между сервером и портом.
HttpConnect (Socket s) // устанавливает соединение между локальной машиной и указанным портом узла Internet, имя которого было передано конструктору.
{.
sock = s; // присвоение значения s переменной sock.
setPriority (NORM_PRIORITY — 1); // приоритет устанавливается на два уровня выше Thread.
run (); // метод в котором задается последовательность действий, выполняемых в рамках потока.
}.
public void run () // может объявлять переменные, вызывать другие методы и использовать другие классы.
{.
try // содержит один или более операторов, оператор вызывающий исключения.
{.
PrintWriter pw = new PrintWriter (new OutputStreamWriter (sock.getOutputStream ()), true); // для форматного вывода данных различных типов с целью их визуального представления в виде текстовой строки.
BufferedReader br = new BufferedReader (new InputStreamReader (sock.getInputStream ())); // классы которые организуют входные потоки, буферизированный ввод данных.
String req = br. readLine (); // класс создающий объект готовый разбить строки на слова.
System.out.println («Request: «+ req); // стандартный поток вывода.
StringTokenizer st = new StringTokenizer (req); // класс предназначен для выделения отдельных элементов из строк типа String.
if ((st.countTokens () >= 2) && st. nextToken ().equals («POST»))// оператор условия, операция возвращает в виде строки следующее слово.
{.
if ((req = st. nextToken ()).ends With («/»)|| req. equals (««))// оператор условия, операция возвращает в виде строки следующее слово.
req += «index.html»; // Этот оператор используется для выполнения определённых операторов, если логическое условие true.
try // содержит один или более операторов.
{.
File f = new File (req); // создание нового объекта с аргументом req.
BufferedReader bfr = new BufferedReader (new FileReader (f)); // классы которые организуют входные потоки, буферизированный ввод данных.
char[] data = new char[(int)f.length ()]; // 16-ти разрядная переменная в виде символов, символы кодируются с помощью юникода.
bfr.read (data); // буферизированный ввод данных.
pw.println («HTTP/1.1 200 OK «); // выполнен принудительный переход на следующую строку.
pw.write (data); // программа выполняет серию операций по выводу в поток данных различного типа.
pw.flush ();// программа выполняет серию операций по выводу в поток данных различного типа.
}.
catch (FileNotFoundException fe) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try.
{.
pw.println («HTTP/1.1 404 Not FoundXn»);
}.
catch (IOException ioe) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try.
{.
System.out.println (ioe); // стандартный поток вывода.
}.
}.
else pw. println («HTTP/l.l 400 Bad RequestW»); // необязательный блок else для выполнения других операторов, если условие false.
sock.close (); // Основной метод этого класса accept () ожидает поступления запроса. Когда запрос получен, метод устанавливает соединение с клиентом и возвращает объект класса socket, через который сервер будет обмениваться информацией с клиентом.
}.
catch (IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try.
{.
System.out.println (e); // стандартный поток вывода.
}.
} }.