World Wide Web, или как ее обычно называют, WWW - это распределенная компьютерная система, основанная на гипертексте. Информация в ней хранится на компьютерах с соответствующим программным обеспечением (серверах), объединеных в глобальную сеть. Она включает в себя не только текст, но и возможность выполнения определенных действий при выборе специально отмеченных участков текста (так называемый гипертекст), а также графику, видео, звук (т. н. средства мультимедиа). Эта информация содержится в виде HTML-документов, которые могут содержать ссылки на другие документы, хранящиеся как на том же самом, так и на другом сервере. На экране компьютера гиперссылки выглядят как выделенные другим цветом и/или подчеркиванием участки текста или рисунки (графические изображения).
Используя гиперссылки, называемые также гипертекстовыми связями, пользователь может автоматически связаться с соответствующим источником информации в сети и получить на экране своего компьютера документ, на который была сделана ссылка. В большинстве случаев выбор гиперсвязей производится при помощи щелчка клавишей мыши на участке текста с гиперсвязью. При этом компьютер посылает через сеть по протоколу http запрос серверу, хранящему файл с необходимым документом. Сервер, получив запрос, посылает клиенту этот файл или сообщение об отказе, если требуемый документ по тем или иным причинам недоступен.
Просмотр HTML-документов осуществляется с помощью браузеров - программ просмотра WWW-документов (WWW-browsers). В настоящее время получили распространение десятки таких программ, но наиболее известными и развитыми являются Microsoft Internet Explorer, Mozilla (в том числе один из его клонов, Fire Fox), Opera, а также уже сошедший со сцены Netscape Navigator.
WWW-документ, как уже отмечалось, содержит форматированный текст, графику и гиперсвязи с использованием различных ресурсов Internet. Чтобы реализовать все эти возможности, был разработан специальный компьютерный язык - HyperText Markup Language (HTML) - язык разметки гипертекста. Гипертекст ("сверхтекст") – это текст, содержащий дополнительные возможности, в частности – гиперссылки. Существует несколько версий языка HTML. Самая современная на данный момент версия - HTML 4.01, принятая в виде рекомендации консорциума W3C (World Wide Web Consortium), отвечающего за развитие языка HTML и других WWW-технологий. XML-версия языка HTML, называемая XHTML, пока не нашла широкого распространения. Наиболее употребляемая при создании простых WWW-документов версия - HTML 3.2.
Существует большое количество сред, позволяющих интерактивно создавать HTML-документы. Тем не менее, даже в этом случае полезно знать основные принципы устройства HTML-документов и имеющиеся в этом языке средства разметки.
Документ, написанный на языке HTML, представляет собой текстовый файл, содержащий собственно текст, несущий информацию пользователю, и теги разметки (markup tags). Теги представляют собой определенные последовательности символов, заключенные между знаками '<' и '>'.
Программа просмотра располагает текст на экране дисплея согласно задаваемой тегами разметке, а также включает в него рисунки, хранящиеся в отдельных графических файлах, и формирует гиперсвязи с другими документами или ресурсами Internet. После тега через пробел, вплоть до закрывающего символа '>', может следовать один или несколько параметров.
Файл на языке HTML имеет расширения .html или .htm. Он приобретает облик WWW-документа только тогда, когда просматривается в специальной программе просмотра - браузере.
Текст в HTML может включать любую последовательность символов, за исключением следующих:
< > "
Вместо них должны присутствовать комбинации
lt; gt; amp; quot;
Символы табуляции и перехода на новую строку считаются эквивалентными пробелу, а несколько этих символов и пробелов подряд (в любой комбинации) одному пробелу. Для вставки в текст значимого пробела используется комбинация
nbsp;
Теги предназначены для форматирования и разметки документа. Теги бывают парные ("контейнеры") и непарные. Действие парного тега начинается с открывающего тега и заканчивается при встрече соответствующего ему закрывающего, признаком которого является символ " / ". Например:
<html>Это html документ </html>
Непарный тег вызывает единичное действие в том месте, где он встречается. Например,тег <br> вызывает перевод текста на новую строку.
Исключением из правила, гласящего об эквивалентности любого числа пробелов, табуляций и переходов на новую строку одному пробелу, является текст внутри контейнера <pre> </pre>. Этот текст показывается так же, как он был предварительно отформатирован в обычном текстовом редакторе с использованием моноширинного шрифта, и все пробелы и переносы на новую строку являются значимыми. Однако внутри данного контейнера могут действовать другие теги разметки.
Внутри тега кроме его имени могут находиться атрибуты, задающие дополнительные параметры, необходимые для действия тега.
Например, тег <img src="MyFile.gif" width=100 height=40> обеспечивает показ в данном месте текста изображения из файла с именем MyFile.gif, а ширина и высота изображения задается 100 на 40 точек (пикселей), соответственно. При этом атрибут src, задающий имя файла, является обязательным, а width и height - необязательные (могут отсутствовать).
Типичный HTML-документ имеет заголовок и тело. Начало документа отмечается тегом <html> и заканчивается тегом </html>
<head>Текст, включающий служебную информацию о документе</head> Он никак не отображается на экране компьютера при просмотре HTML- файла, за исключением названия документа, заключенного в контейнере <title>Текст заголовка</title>, помещаемого между тегами заголовка. Это название обычно выводится как заголовок оконной формы, в которой происходит показ файла.
Важнейшей служебной информацией является кодировка документа, задаваемая следующим образом:
<meta http-equiv="content-type" content="text/html; charset=Windows-1251">
- русскоязычная кодировка ISO 1251.
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
- кодировка UTF-8, и т.д.
<body> Это html-документ, содержащий какой-то текст. </body>
На дисплее: Это html-документ, содержащий какой-то текст.
Часть текста или участок изображения в HTML-документах может ссылаться на другой текст внутри того же самого документа, или на другой документ в Internet. Такая связь называется гипертекстовой связью (
При ссылке на документ, находящийся на другом сервере, необходимо указать адрес (URL - '
В подавляющем большинстве случаев документ, на который делается ссылка, находится на том же сервере и в той же папке. В этом случае гипертекстовая ссылка имеет вид:
<a href="имя_файла">текст_ссылки</a>
Тут имя_файла - имя файла (с указанием расширения), содержащего документ, на который делается ссылка, а текст_ссылки - якорь, т. е. участок текста, который будет выделен как связанный с гиперсвязью. В общем случае перед именем файла ставится URL-адрес сервера и полный путь к файлу на сервере.
Язык HTML позволяет ссылаться не только на документы целиком, но и на отдельные части конкретного документа. В этом случае та часть документа, на который делается ссылка, называется меткой. То место, куда осуществляется переход называется меткой. Якорь задается в виде
<a href="имя_файла#имя_метки">текст</a> ,
а метка -
<a name="имя_метки">участок документа</a>
Тут имя_метки - произвольное имя метки, на которую должен быть переход (уникальное для данного документа), а имя_файла - имя файла ( вместе с расширением и путем), содержащего документ, на какое-либо место которого осуществляется ссылка. Надо отметить, что переход производится в начало параграфа, в котором расположенна мишень. Поэтому делению текста на параграфы при наличии гиперсвязей внутри документа надо уделять особое внимание.
Замечание: Программы просмотра текста имеют специальное средство, уменьшающее загрузку компьютерных сетей: буферизацию принятых сообщений, размер которых не превышает некоторую границу (ее можно менять в параметрах программы просмотра). Этот буфер хранится некоторое время (также задаваемое в параметрах программы просмотра - обычно дни или недели), на жестком диске, на котором установлена программа просмотра. Те адреса, по которым вы еще "не ходили", показываются одним цветом ( по умолчанию синим), а по которым "ходили" (и документы еще хранятся в буфере) - другим цветом ( по умолчанию малиновым).
Параграф - осуществляет показ одной пустой строки и "переводом каретки" перед началом заключенного в контейнере текста. Внутри параграфа возможно выравнивание:
<p>без выравния текста</p> <p align=left>выравнивание текста по левому краю</p> <p align=right>выравнивание текста по правому краю</p> <p align=center>выравнивание текста по центру</p>
</p> необязателен.
Горизонтальная раздельная черта <hr>
Заголовки - используются для выводов заголовков и подзаголовков (всего 6 уровней). Значение уровня заголовка может от 1 до 6.
<h1>Заголовок первого уровня</h1> <h2>Заголовок второго уровня</h2> <h3>Заголовок третьего уровня</h3> <h4>Заголовок четвертого уровня</h4> <h5>Заголовок пятого уровня</h5> <h6>Заголовок шестого уровня</h6>
Нумерованный список - задается в виде:
<ol> <li>... <li>... <li>... ... </ol>
В HTML-файле:
Курсовые в срок сдали следующие студенты: <ol> <li>Иванов <li>Петров <li>Сидоров </ol>
На дисплее:
Курсовые в срок сдали следующие студенты:
Ненумерованный список
В HTML-файле задается в схожем с нумерованным списком виде :
Курсовые в срок сдали следующие студенты: <ul> <li>Иванов <li>Петров <li>Сидоров </ul>
На дисплее:
Курсовые в срок сдали следующие студенты:
В HTML существуют следующие основные стили текста:
<b>Жирный текст (bold)</b> |
Жирный текст (bold) |
<i>Наклонный текст (italics)</i> |
Наклонный текст (italics) |
<big>Большой размер шрифта</big> |
Большой размер шрифта |
<small>Маленький размер шрифта</small> |
Маленький размер шрифта |
Нижние индексы <sub>( |
$$Нижние индексы_{(subscript)}$$ |
Верхние индексы <sup>( |
$$Верхние индексы^{(superscript)}$$ |
Кроме того, существует показ предварительно отформатированного текста. Текст внутри контейнера <pre>...</pre> показывается моноширинным фонтом, все символы имеют одинаковую ширину, все пробелы и переходы на новую строку показываются без игнорирования.
Язык HTML позволяет вставлять в текст изображения, хранимые в отдельных графических файлах. Тег вывода изображения имеет следующий вид:
<img src="имя_файла" width=ширина height=высота border=ширина_рамки hspase=отступ_вертикальный vspase=отступ_горизонтальный>
где имя_файла - имя графического файла (с указанием расширения), содержащего изображение, ширина - ширина изображения, высота - высота изображения, ширина_рамки - ширина рамки вокруг изображения. Все размеры задаются в пикселах (точках экрана). Если реальные размеры изображения не совпадают с заданными в атрибутах width и height, то при показе оно масштабируется до этих размеров.
Атрибут border не обязателен, но желателен, если с картинкой асоциирована гиперсвязь.
Атрибуты hspase и vspase задают отступы от картинки по вертикали и горизонтали для текста или других картинок.
Рекомендуется всегда указывать ширину и высоту изображения, в противном случае программа просмотра будет вынуждена перед выводом изображения документа на экран загрузить как весь текстовой файл, так и все файлы с изображениями, что занимает много времени. Если же атрибуты width и height указаны, то текст покажется сразу, а изображения будут показываться по мере "подкачивания" по сети. Кроме того, объем текстовых файлов, как правило, намного меньше, чем у графических, и поэтому они получаются гораздо быстрее.
Для того, чтобы изображение служило гиперссылкой, достаточно поместить тег <img> внутрь тега <a href="адрес" >
В HTML-документах можно задавать таблицы. Каждая таблица должна начинаться тегом <table>, a eсли у таблицы требуется внешняя рамка, то с параметром border ( возможны варианты border или border=ширина_рамки ): <table border> и заканчиваться тегом </table> Таблицы задаются построчно, каждая строка начинается тегом <tr> и заканчиваться тегом </tr> Каждая графа (т. е. "ячейка", "клетка") в строке с данными должна начинаться тегом <td> и заканчиваться тегом </td> При этом ширина столбцов подбирается автоматически по максимальной ширине одной из клеток столбца. В таблицы так же можно вставлять гипертекстовые ссылки, произвольным образом отформатированный текст, рисунки и т. п. Общий вид таблицы:
<table border>
<tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr>
<tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr>
...
</table>
Эта таблица содержит две строки и четыре графы (столбца). Поскольку в HTML перевод на новую строку равнозначен пробелу, а лишние пробелы игнорируются, текст в HTML-документах обычно форматируют с помощью переводов на новую строку так, чтобы не было слишком длинных строк. Поэтому приведенная выше таблица может быть записана так:
<table border> <tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr> <tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr> </table>
Вид документа при
Если в таблице нужны заголовки, они задаются тегами <th>...</th>
Окна подключаемых модулей (plug-in) задаются контейнером <object>:
<object атрибуты > <param name=имя1 value=значение1> <param name=имя2 value=значение2> ... <param name=имяN value=значениеN> Альтернативный текст, который будет виден в браузерах, не поддерживающих работу с объектами данного типа </object>
В качестве таких объектов могут служить
Напомним некоторые вещи, о которых рассказывалось в первой лекции.
Между приложениями (applications) и апплетами (
Поддержка работы с апплетами осуществляется стандартной библиотекой классов ( core library ), расположенной в пакете java.javax. для апплетов, использующих компоненты и/или библиотеку Sun
Для создания обычного java., который сам является наследником класса java..
В классе
public class Applet1 extends java.applet.Applet{
public void init(){
//Инициализация перед началом работы.
//Вызывается один раз после загрузки апплета
//перед первым выполнением метода start()
}
public void start(){
//Обеспечивает основную функциональность аплета.
//В первый раз вызывается после загрузки апплета
//и его инициализации методом init().
//Затем вызывается каждый раз при заходе пользователя
//на HTML-страницу с апплетом.
}
public void update(java.awt.Graphics g){
//Форсирование перерисовки апплета с выполнением кода метода
}
public void paint(java.awt.Graphics g){
//Исполняется каждый раз при перерисовке апплета.
//Обеспечивает всю визуализацию в апплете
}
public String getAppletInfo(){
return "Справочная информация об апплете";
}
public void stop(){
//Приостанавливает выполнение апплета.
//Исполняется каждый раз сразу после того, когда пользователь
//покидает HTML-страницу с апплетом.
}
public void destroy(){
//Обычно не требует переопределения.
//Предназначен для высвобождения ресурсов, захваченных апплетами.
//Исполняется через негарантированный промежуток времени
//каждый раз после вызова метода stop()
//перед разрушением объекта апплета сборщиком мусора.
}
}
Кроме методов, нуждающихся в переопределении, в классе имеется некоторое количество методов, позволяющих проверять и задавать его состояние во время выполнения:
getSize() – возвращает размер getSize().width и getSize().heightshowStatus(String s) – показ в строке статуса браузера сообщения s.AppletContext getAppletContext() – получение апплетом информации об документе, из которого был вызван add(Component comp ) – добавление компонента в AudioClip getAudioClip(URL url) - получение апплетом аудиоклипа по заданному WWW-адресу url. Создается объект Java, ссылающийся на данный аудиоклип.URL getDocumentBase() - получение апплетом адреса WWW-документа, из которого был вызван Имеется большое количество других методов для работы с апплетами, большинство которых унаследовано от класса Panel.
Ряд примеров апплетов с исходными кодами приведен в
Пример
import java.awt.*;
public class Applet1 extends java.applet.Applet{
public void paint(java.awt.Graphics g){
g.setColor(Color.green);
g.fillRect(0,0,getSize().width - 1, getSize().height - 1);
g.setColor(Color.black);
g.drawString("Вас приветствует апплет!",20,20);
this.showStatus("Это пример апплета");
}
}
Пример HTML-документа, в который встроен
<html> <body> Это пример апплета<p> <object codebase="." code="Applet1.class" width=200 height=150 >
</object>
Если данный HTML-документ имеет имя example.html, то для запуска Applet1.class в той же папке, что и example.html. После чего открыть в браузере файл example.html. Обычно проще всего это сделать двойным щелчком мыши по имени файла в окне навигации по файлам и папкам.
Если в открывшемся окне браузера example.html и Applet1.class, и запустить example.html. Например, для Windows® в командной строке надо набрать
appletviewer.exe example.html
Замечание: на домашнем компьютере с Windows XP SP1 и браузером MS Internet Explorer 6.0 автору не удалось запустить ни одного
Такая идеология позволяет при необходимости усовершенствовать систему незаметно для пользователей и с сохранением полной совместимости. Например, новая версия
Напомним что
Рассмотрим пример приложения, работающего с использованием
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Hello extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello!</h1>");
out.println("</body>");
out.println("</html>");
}
}
Пример файла, из которого вызывается данный сервлет:
<html> <head> <title>Servlet example</title> </head> <body bgcolor="#FFFFFF"> <a href="servlet/Hello">Execute servlet</a> </body> </html>
Работающие варианты
Пример разработан организацией The

(рис 10.2) Открытие примера с сервлетами(рис 10.1) Элементы клиентского экрана запущенного приложения с сервлетамиПри нажатии на гиперссылку Execute ("Выполнить") соответствующий сервлет выполняется, и на экране показывается сформированный им HTML-документ. Первым идет пример Hello World. Примерное содержимое исходного кода
То же относится к другим примерам.
(рис 10.3) Исходный код примера Hello WorldОдним из важнейших видов серверных программ являются приложения, использующие технологию
В качестве примеров в NetBeans Enterprise Pack приведены примеры Tomcat
Для правильной работы серверных примеров требуется, чтобы на компьютере была установлена работа с Интернет. Реально выходить в Интернет не надо, идет соединение http://localhost:8084//. Но после запуска другого серверного приложения идет соединение по тому же адресу, поэтому документ берется из буфера – и показывается документ, созданный предыдущим приложением. Для показа правильного документа требуется нажать в браузере кнопку не будет – все коммуникации станут проходить локально.
Первый из примеров иллюстрирует базовые конструкции
Второй пример – надстройка над
Оба этих примера также разработаны организацией The
Порядок примеров в мастере создания приложений прямо противоположный рассматриваемому нами - сначала предлагается использовать JSTL как наиболее развитое средство, затем –
Рассмотрим подробнее первый пример.
(рис 10.4) Первая страница запущенного примера JSPКак и в предыдущем случае, при нажатии на гиперссылку "Execute" выполняется соответствующий пример – в данном случае запускается страница
Страницы
Например, выражение вида ${1 + 2} выдаст в соответствующее место документа символ 3. Последовательность \$ означает, что выражение ${…} не вычисляется, а рассматривается как строка.
(рис 10.5) Первый пример JSP- вычисление выраженийИмеется ряд встроенных в
request – запрос. Тип объекта - класс, реализующий интерфейс javax.servlet .http.HttpServletRequest.response – ответ на запрос. Тип объекта - класс, реализующий интерфейс javax.servlet .http.HttpServletResponce.pageContext – javax.servlet .jsp .PageContext.session – сессия (сеанс связи клиента с сервером). Тип объекта - класс, реализующий интерфейс javax.servlet .http.HttpSessionapplication – приложение. Тип объекта - класс, реализующий интерфейс javax.servlet .ServletContextout – выходной поток. Тип объекта - класс javax.servlet .jsp .JspWriterconfig – объект конфигурации javax.servlet .ServletConfigpage – объект, обрабатывающий запрос для данной страницы. Тип объекта - класс Object.Данные объекты применяются в виде
<%@ имяОбъекта параметр1=значение1 параметр2=значение2 ... %>
Пример их использования:
<%@ page session=true import="java.util.*" %>
Имеется возможность задания сценариев (интерпретируемого кода) с помощью специальных определений вида
<%@ код %>
Где код - сценарий Java для работы с документом или вычислений. Например,
<%
for(int i=0; i<table.getEntries().getRows(); i++) {
cal.Entry entr = table.getEntries().getEntry(i);
%>
В частности, разрешается задавать собственные теги вида
<%@ имяБиблиотеки prefix="имяОбъекта" uri="путь к библиотеке" %>
После чего разрешается использовать теги вида < имяОбъекта:оператор>
Так делается в примере использования оператора ":
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Отметим, что соответствующие библиотеки уже добавлены в проект. Для примера out это пакет org..
После запуска данного приложения в появившемся документе в списке Examples это первый пример - General Purpose Tags. При переходе по данной гиперссылке мы получаем пример
(рис 10.6) При нажатии на "шестеренки" получаем результат работы программы:
(рис 10.7) Пример использования оператора c:outСоответствующий фрагмент исходного кода этого
<table border="1">
<c:forEach var="customer" items="${customers}">
<tr>
<td><c:out value="${customer.lastName}"/></td>
<td><c:out value="${customer.phoneHome}"
default="no home phone specified"/></td>
<td>
<c:out value="${customer.phoneCell}" escapeXml="false">
<font color="red">no cell phone specified</font>
</c:out>
</td>
</tr>
</c:forEach>
</table>
В этом примере используется объект customer – "покупатель", заданный в файле Customer.java, расположенном в пакете org. То есть самом первом в Source Packages пакете примера. А также объект customers – "покупатели", заданный в файле Customers.java, расположенном в том же пакете.
В классе customer заданы поля и другие. А также ряд методов, которые также можно вызывать в сценарии. С помощью оператора forEach (заданного аналогично оператору out ) осуществляется перебор всех объектов customer, customers - список покупателей. А с помощью тега c:out осуществляется вывод необходимой информации в документ.
В
Точно так же, для программирования в локальных и глобальных компьютерных сетях в пакете java.net имеется огромное количество средств разного уровня, описание которых требует отдельной книги. Это и Web-адресация (классы URL, HttpURLConnection, URI, JarURLConnection, URLClassLoader ), и IP-адресация (классы InetAddress, InetAddress4, InetAddress6, NetworkInterface ), и управление соединениями через сокеты (классы Socket, SocketAddress, InetSocketAddress, ServerSocket, SocketPermission ). Классы NetPermission, Authentificator и PasswordAuthentification обеспечивают поддержку авторизации (запрос и обработку имени и пароля).
Кроме упомянутых возможностей пакета java.net имеется дистрибутив j2me, в котором поставляются средства разработки программного обеспечения для "тонких" аппаратных клиентов – то есть таких, которые обладают малыми по сравнению с персональными компьютерами ресурсами. В первую очередь - для сотовых телефонов и наладонных компьютеров. Это также тема для отдельной книги.
Не менее важной и объемной темой является сетевое программирование баз данных.
Так что желающих освоить даже основы сетевых возможностей Java ждет весьма длительная работа.
'<' и '>'. Они предназначены для форматирования и разметки документа. Теги бывают парные ("контейнеры") и непарные. Действие парного тега начинается с открывающего тега и заканчивается при встрече соответствующего ему закрывающего, признаком которого является символ " / ".<a href="имя_файла">текст_ссылки</a>java.applet .Applet , а для апплетов, использующих компоненты Swing и/или библиотеку Sun javax.swing .JApplet.init, start, update, paint, getAppletInfo, stop, destroy .TomcatServletExample. Видоизменить в нем пример HelloWorld Example, обеспечив вывод документа с вашими данными: фамилией, именем, отчеством. В конце документа обеспечить вывод даты генерации этого документа. Для этого использовать объект типа Date (как преобразовать его в строку?).Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.