Applets and Servlets. The Applet Class. The Applet Context. Web Applications

Страницы работы

23 страницы (Word-файл)

Фрагмент текста работы

Applets and Servlets

Александр Кораблин

1

  • java.applet.Applet (AWT)
    • для графических приложений
  • javax.swing.Japplet (Swing)
    • GUI приложений

2

The Applet Class

void destroy( ) - Called by the browser just before an applet is terminated. AppletContext getAppletContext( ) - Returns the context associated with the applet. String getAppletInfo( ) - Returns a string that describes the applet. AudioClip getAudioClip(URL url) - Returns an object that encapsulates the URL getCodeBase( ) - Returns the URL associated with the invoking applet. URL getDocumentBase( ) - Returns the URL of the HTML doc that invokes the applet. Image getImage(URL url) - Returns an Image object that encapsulates the image found at the location specified by url. String getParameter(String paramName) - Returns the parameter associated with paramName. null is returned if the specified parameter is not found. void init( ) - Called when an applet begins execution. boolean isActive( ) - Returns true if the applet has been started. It returns false if the applet has been stopped. void resize(int width, int height) - Resizes the applet according to the dimensions void start( ) - Called by the browser when an applet should start (or resume) execution. void stop( ) Called by the browser to suspend execution of the applet.

Demo1

3

<html> <head> <title>Demo Applet</title> </head> <body> <p>My applet</p> <applet code=“Demo1.class" width=“200" height="100"> If your browser could show Java, you would see an applet here. </applet> </body> </html> Другие атрибуты: align, vspace, hspace, alt, name (имя для скриптов) code=“com.myApplets.Demo.class” - имя класса аплета codebase=“URL for locating the class files” archive="MyClasses.jar,corejava/CoreJavaClasses.jar"

4

Передача параметров

<applet code="FontParamApplet.class" width="200" height="200"> <param name="font" value="Helvetica"/> </applet> public class FontParamApplet extends JApplet { public void init() // только в init() !!! { String fontName = getParameter("font"); . . .

5

Видео и звук

  • Форматы:
    • GIF,PNG, or JPEG
    • AU, AIFF, WAV, or MIDI
  • Image cat = getImage(getCodeBase(),"images/cat.gif");
  • AudioClip meow = getAudioClip(getCodeBase(), "audio/meow.au");
  • play(getCodeBase(), "audio/meow.au");

6

The Applet Context

  • public AppletContext getAppletContext()
    • Applet ap = getAppletContext().getApplet(“name");
    • Enumeration<Applet> e = getAppletContext().getApplets();
    • URL u = new URL("http://java.sun.com/index.html");
    • getAppletContext().showDocument(u);
    • // void showDocument(URL url, String where)
  • “_self” (show in current frame), “_parent” (show in parent frame), “_top” (show in topmost frame), and “_blank” (show in new window).

7

JAVA НА СТОРОНЕ СЕРВЕРА: СЕРВЛЕТЫ

8

  • 1. Чтение данных, переданных пользователем.
  • 2. Получение прочей информации, переданной в HTTP-запросе.
  • 3. Генерация результатов.
  • 4. Форматирование результатов обработки.
  • 5. Установка параметров HTTP-ответа.
  • 6. Передача документа клиенту.

9

  • Эффективность
  • Простота использования
  • Богатые возможности
  • Переносимость
  • Защита
  • Низкая стоимость

10

Обзор сервлетов

GenericServlet

  • javax.servlet & javax.servlet.http
  • Apache Tomcat 6.0.20\lib\servlet-api.jar

Servlet ServletConfig ServletRequest ServletResponcse

HttpServlet

& Cookie

11

  • import j a v a x . s e r v l e t . *;
  • import j a v a x . s e r v l e t . h t t p . *;
  • p u b l i c c l a s s ServletTemplate extends H t t p S e r v l e t {
  • p u b l i c void d o G e t ( H t t p S e r v l e t R e q u e s t r e q u e s t,
  • H t t p S e r v l e t R e s p o n s e response)
  • throws S e r v l e t E x c e p t i o n , lOException {
  • / / Параметр r e q u e s t используется для чтения полей
  • / / заголовка, содержащихся в HTTP-запросе, и данных,
  • / / введенных пользователем посредством HTML-формы.
  • / / Параметр r e s p o n s e " используется для установки кода
  • / / состояния HTTP-ответа и полей заголовка.
  • P r i n t W r i t e r out = r e s p o n s e . g e t W r i t e r ( );
  • / / Объект out используется для передачи данных броузеру.
  • }
  • }

12

13

Настройка контейнера-сервлетов

  • Установка, например, Apache Tomcat
  • Задаём путь к Tomcat в О.С.
    • CATALINA_HOME=C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20
  • Путь к JDK
    • JAVA_HOME=G:\Program Files\Java\jdk1.6.0
  • Путь к библиотеке
    • CLASSPATH=C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20\lib\servlet-api.jar
  • Запуск и остановка Tomcat
    • Apache Tomcat 6.0.20\bin\startup.bat
    • Apache Tomcat 6.0.20\bin\shutdown.bat
  • Запуск сервлета
  • http://localhost:8080/examples/servlets/servlet/HelloWorldExample

14

Установка сервлета в контейнер

  • Копируем файлы сервлета в каталог:
    • С:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20\webapps\examples\WEB-INF\classes
  • Регистрируем сервлет в файле
  • \webapps\examples\WEB-INF\ web.xml
    • <servlet>
    • <servlet-name>Example1</servlet-name>
    • <servlet-class>SDemo1</servlet-class>
    • </servlet>
    • <servlet-mapping>
    • <servlet-name>Example1</servlet-name>
    • <url-pattern>/servlets/SDemo1</url-pattern>
    • </servlet-mapping>

15

Web Applications

16

Структура Web приложения

If the servlets or other .class files are bundled inside JAR files, then the JAR files should be placed in WEB-INF/lib.

Copy myWebApp to tomcat_dir/webapps

17

18

Состав JSP

  • Текст шаблона: Статический HTML
  • Элементы скриптов JSP
    • Выражения, имеющие форму <%= выражение %>, которые обрабатываются и направляются на  вывод,
    • Скриплеты, имеющие форму <% код %>, которые вставляются в метод service сервлета
    • Объявления, имеющие форму <%! код %>, которые вставляются в тело класса сервлета, вне существующих методов.

19

Пример Current time: <%= new j a v a . u t i l . D a t e () %> В результате в тело метода j s p S e r v i c e (вызываемого из метода s e r v i c e ) будут помещены следующие строки кода: out.print("Current time: " ); out.println(new java.util.Date ());

20

Объекты JSP

  • request – позволяет обращаться к параметрам запроса, типу запроса (GET, POST, HEAD, и т.д..), и входящим HTTP заголовкам
  • response - объект связанный с ответом на запрос клиента
  • out - объект типа PrintWriter, используемый для отправки вывода клиенту

Похожие материалы

Информация о работе