Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по ПИИ.docx
Скачиваний:
107
Добавлен:
26.03.2015
Размер:
207.29 Кб
Скачать
  1. Структура web-приложения пересылающего файлы.

Загрузка файла– перемещение копии файла с компьютера сервера на компьютер клиента с использованием протокола HTTP.

Для загрузки файла необходимо иметь следующую информацию: 1) имя директории на сервере с пересылаемым файлом; 2) имя пересылаемого файла; 3) тип пересылаемого файла и соответствующий типmime(тип контента) протокола HTTP.

Загрузка файлов может быть выполнена сервлетом.

Директорию клиента, в которую перемещается файл, определяет браузер с помощью дополнительного стандартного запроса.

Пример 1. Описания параметра инициации в дескрипторе приложения

<!- -------начало web.xml ------------------------ -->

<context-param>

<param-name>doc-dir</param-name>

<param-value>d:/File</param-value>

</context-param>

<!- --- продолжение web.xml --------------------- -->

Пример 2. Получения значения параметра инициации

// ---------- сервлет ------------------------------

protected void doGet(HttpServletRequest rq, HttpServletResponse rs)

throws ServletException, IOException {

String filename = rq.getParameter("file");

String doc dir= getServletContext().getInitParameter("doc-dir");

}

Пример 3. Класс, используемый для выбора списка файлов

package others;

import java.io.*;

import java.io.File;

import java.io.FileInputStream;

public class ChoiseXXX {

public String listxxx[];

protected class OnlyXXX implements FilenameFilter {

String xxx = null;

public OnlyXXX(String xxx) {

this.xxx = "." + xxx;

}

public boolean accept(File d, String name) {

return name.endsWith(xxx);

}

}

public ChoiseXXX(String d, String xxx) {

File dir = new File(d);

if (dir.exists()) {

listxxx = dir.list(new OnlyXXX(xxx));

}

}

}

Пример 4. Формирование списка файлов (ссылок) в jsp-странице

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1" import="others.*"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Insert title here</title>

</head>

<body>

<%

String d = (String) getServletContext().getInitParameter("doc-dir");

ChoiseXXX ch = new ChoiseXXX(d, "doc");

String ll = null;

for (int i = 0; i < ch.listxxx.length; i++) {

ll = ch.listxxx[i];

%>

<br />

<a href="Msdoc?file=<%=ll%>"> <%=ll%>

</a>

<%

}

%>

</body>

</html>

Пример 5. Функция пересылающая клиенту Word-файл

protected void OutputDoc(File doc, HttpServletResponse rs)

throws IOException {

rs.setContentType("application/msword");

rs.addHeader("Content-Disposition",

"attachment; filename=" + doc.getName());

rs.setContentLength((int) doc.length());

FileInputStream in = new FileInputStream(doc);

BufferedInputStream buf = new BufferedInputStream(in);

ServletOutputStream out = rs.getOutputStream();

int readBytes = 0;

while ((readBytes = buf.read()) != -1)

out.write(readBytes);

}

  1. Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.

Ajax – методология построения интерактивного пользовательского интерфейса webприложения.

Методология Ajax описывает способы разработки страниц сайта, которые могут динамически изменяться на основе данных поступающих с сервера, но без полной перезагрузки страницы.

В основе методологии Ajax лежат следующие технологии: язык HTML, язык JavaScript, язык XML, модель DOM, протокол HTTP, протокол JSON, объект XMLHttpRequest.

HTMLгипертекстовый язык разметки. Интерпретируется браузером. В Ajax динамически изменяется содержимое html-документа.

JavaScript– скриптовый язык, предназначенный для создания сценариев поведения браузера. Интерпретируется браузером. В Ajax html-документ динамически изменяется на стороне клиента с помощью сценариев написанных на языке JavaScript.

DOMобъектная модель, позволяющая сценариям JavaScript получить доступ (читать и изменять содержимое) к элементам html-документа (к атрибутам и содержимому тегов). В Ajax ответ сервера ―встраивается‖ с помощью JavaScript-сценария в загруженную ранее браузером страницу. При этом доступ к элементам html-документа осуществляется а соответствии с моделью DOM.

HTTP –сетевой протокол передачи гипертекста. Используется для обмена данными между двумя приложениями (клиентом и сервером). В Ajax обмен данными между JavaScript-сценарием на клиенте и серверным приложением (например, сервлетом) осуществляется по правилам HTTP.

XMLрасширяемый язык разметки данных. Предназначен для структуризации данных с целью хранения или/и передачи. В Ajax язык XML является одним из форматов, который используется для структуризации данных пересылаемых между JavaScriptсценарием и серверным приложением.

JSON (JavaScript Object Notation) - текстовый формат обмена данными, применяемый обычно в сценариях JavaScript. В Ajax формат JSON является одним из форматов, который используется для структуризации данных пересылаемых между JavaScriptсценарием и серверным приложением. Формат JSON основывается на функцииeval()языка JavaScript.

XMLHttpRequest специальный API (предопределенный объект), используемый в языке JavaScript для обмена данными между сценарием JavaScript и серверным приложением по протоколу HTTP. В Ajax методы объекта XMLHttpRequest используется для отправки и получения данных между JavaScript-сценарием и серверным приложением. Данные могут получены в виде XML-документа и виде обыкновенного текста (в частном случае могут быть представлены в формате JSON).