Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
201
Добавлен:
17.04.2018
Размер:
684.54 Кб
Скачать

ИП. Сервлеты и JSP. Компоненты JSP

МИЭТ, 2017

//Пример JavaBean класса NestMiet.java

public class TestMiet implements java.io.Serializable {

private String name;

// Методы геттеры (get) и сеттеры (set) public String getName() {

return name;

}

public void setName(String name) { this.name = name;

}

//Переопределенные методы equals() и hashCode() @Override

public boolean equals(Object o) {...}

@Override

public int hashCode() {...}

@Override

public String toString() { ... }

}

ИП. Сервлеты и JSP. Компоненты JSP

МИЭТ, 2017

//Пример JavaBean класса TestMiet.java

package example;

public class TestMiet implements java.io.Serializable {

private String name;

// Методы геттеры (get) и сеттеры (set) public String getName() {

return name;

}

public void setName(String name) { this.name = name;

}

//Переопределенные методы equals() и hashCode() @Override

public boolean equals(Object o) {...}

@Override

public int hashCode() {...}

@Override

public String toString() { ... }

}

ИП. Сервлеты и JSP. Компоненты JSP

МИЭТ, 2017

//Пример подключения и использования JavaBean класса TestMiet в JSP

<!DOCTYPE html>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*, java.text.*" %>

<jsp:useBean id="miet" class="example.TestMiet" scope="page" /> <jsp:setProperty name="miet" property="Name" value="MIET" />

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>MIET с JSP!</title>

</head>

<body>

<h1>Вас приветствует <jsp:getProperty name="miet" property="Name" /></h1>

</body>

</html>

Как видно, использование компонентов JavaBean нацелено на «верстальщиков», Которые таким образом могут использовать классы Java не зная языка Java

ИП. Сервлеты и JSP. Компоненты JSP

МИЭТ, 2017

В принципе вся страница JSP может быть переписана в xml-стиле с помощью эквивалентных замен:

Конструкция JSP

Эквивалентная конструкция в XML

<% page ... %>

<%jsp:directive.page ... />

<% include ... %>

<%jsp:directive.include ... />

<%! ... %>

<%jsp:declaration>

 

. . .

 

<%/jsp:declaration>

<% ... %>

<%/jsp:scriptlet>

 

. . .

 

<%/jsp:scriptlet>

<%= ... %>

<%/jsp:expression>

 

. . .

 

<%/jsp:expression>

ИП. Сервлеты и JSP.

МИЭТ, 2017

Очевидно, что сервлеты и JSP существенно сложнее чем PHP или JavaScript

Какое решение выбрать для Интернет-разработки?

ИП. Сервлеты и JSP. Выбор инструментария.

МИЭТ, 2017

Рассмотрим характеристику скорости исполнения теста Мандельброта для: PHP, Java, C предложенные Дмитрием Стоговым здесь:

https://gist.github.com/dstogov/12323ad13d3240aee8f1

И добавим к ним реализацию того же теста на JavaScript, выполняемого под управлением node.js

ИП. Сервлеты и JSP. Выбор инструментария.

МИЭТ, 2017

2015. PHP 7.0

Дмитрий

Стогов

Автор eAccelerator Ведущий разработчик Zend Technologies

ИП. Сервлеты и JSP. Выбор инструментария.

МИЭТ, 2017

Тест Мандельброта это программа рисующая символами фрактал

ИП. Сервлеты и JSP. Выбор инструментария.

МИЭТ, 2017

Бенуа Мандельброт 1924-2010

Французский и американский математик, теоретик фракталов

}

ИП. Сервлеты и JSP. Выбор инструментария.

МИЭТ, 2017

Тест Мандельброта имеет параметр задержки MAX_ITERATION, который не позволяет вывести символ * для текстового построения фрактала пока цикл не выполнит количество итераций цикла равное MAX_ITERATION

private static int iterate(float x, float y)

{float cr = y-0.5f; float ci = x; float zi = 0.0f; float zr = 0.0f; int i = 0;

while (true) { i++;

float temp = zr * zi; float zr2 = zr * zr; float zi2 = zi * zi; zr = zr2 - zi2 + cr;

zi = temp + temp + ci; if (zi2 + zr2 > BAILOUT)

return i;

if (i > MAX_ITERATIONS) return 0;

}

Далее в зависимости от возврата iterate печатаем * или пробел

if (iterate(x/40.0f,y/40.0f) == 0) System.out.print("*");

else System.out.print(" ");

Соседние файлы в папке Интернет технологии