• ,

Создание простого веб-приложения на сервлетах и jsp (часть 1)

Эта статья является продолжением моей статьи Создание простейшего web проекта в intellij idea enterprise edition. Пошагово, с картинками, в которой я показал, как создать работающий шаблон веб-проекта.

Статья доступна по ссылке- javarush.ru/groups/posts/328-sozdanie-prostogo-veb-prilozhenija-na-servletakh-i-jsp-chastjh-1
  • ,

Ипподром (big01 в вебе)

בםייד
Итак, дошёл я до первой большой задачи про ипподром. Решается она очень быстро, но что-то не давало мне покоя, и в развитие предыдущих тем я решил её заделать под браузер. А что- формат идеальный. кидаем периодично аджаксовые запросы, а сервлет отдаёт статические строки, которые в него записываются по ходу выполнения программы.

Лошадки

Итак, в формате снизу вверх, как и в исходном задании, перечислю дополнение к заданию, которое я реализовал


При достижении кэшем нуля после скачки пользователь выбывает из игры "В следующий раз может быть лучше- попробовать заново. ОК."

По умолчанию у пользователя есть кэш ...

Если пользователь зашёл- он может добавить себя в список пользователей на ипподроме.

Когда скачка окончилась - смотрим, какая лошадь победила,
смотрим отношение,
по всем участникам - если ставки были на лошадей, которые проиграли то деньги остаются в банке.
если ставки были у этого участника на выигравшую лошадь - по сумме всех ставок на эту лошадь (считается заранее),
ему добавляется в кэш, вычитается из кэша банка.

Банк отдаёт информацию - по умолчанию 1:1 (если только твоя ставка)
если двое поставили, то тоже 1:1
Если есть ставки на других лошадей, то берём отношение всех денег к сумме за эту лошадь, получаем отношение. округляем его в меньшую сторону.
Например, на первую всего 23, на 2 -67, на 3 -45.
ставка по курсу int (67+45+23)/23 = 135/23=5 : 1
Остаток уходит в кэш банка.


Когда пользователь ставит деньги на лошадь, они вычитаются из его кэша и добавляются в банк на эту лошадь.

Есть класс Банк ипподрома (поле ипподрома)

Любой из существующих пользователей может поставить во время текущей скачки на любую лошадь, а затем прибавить на любую другую.
Удалять ставки нельзя. Деньги сразу вычитаются из кэша.

Скачки идут непрерывно - пока из наших трёх лошадей. (Затем можно будет добавить возможность за наличные выставить свою личную лошадь)

Есть болельщики User
у них есть имя, сумма на счету, номер счёта, Набор ставок.



Результат можно увидеть на hippodrome.elasticbeanstalk.com
  • ,

Про сервлеты и бесплатный web-сервер с tomcat 8 от компании с мировым именем

בםייד

Про сервлеты

Результат
Полгода назад после очередного перерыва на обучалки с других сайтов, и первой программы, которую я написал себе по работе на Java FX, мне попалась задача

package com.javarush.test.level20.lesson10.bonus03;

import java.util.ArrayList;
import java.util.List;

/* Кроссворд
1. Дан двумерный массив, который содержит буквы английского алфавита в нижнем регистре.
2. Метод detectAllWords должен найти все слова из words в массиве crossword.
3. Элемент(startX, startY) должен соответствовать первой букве слова, элемент(endX, endX) - последней.
text - это само слово, располагается между начальным и конечным элементами
4. Все слова есть в массиве.
5. Слова могут быть расположены горизонтально, вертикально и по диагонали как в нормальном, так и в обратном порядке.
6. Метод main не участвует в тестировании
*/
public class Solution {
    public static void main(String[] args) {
        int[][] crossword = new int[][]{
                {'f', 'd', 'e', 'r', 'l', 'k'},
                {'u', 's', 'a', 'm', 'e', 'o'},
                {'l', 'n', 'g', 'r', 'o', 'v'},
                {'m', 'l', 'p', 'r', 'r', 'h'},
                {'p', 'o', 'e', 'e', 'j', 'j'}
        };
        //detectAllWords(crossword, "home", "same");
        /*
Ожидаемый результат
home - (5, 3) - (2, 0)
same - (1, 1) - (4, 1)
         */


И в общем-то ничего особенного- немного подумал,
  • ,

Проблемы с запуском сервлетов

Здравствуйте, дорогие друзья,

С подачи одного очень хорошего человека решил осваивать сервлеты, для этого мне посоветовали поставить томкат и сервер поднимать с него. кому интересно, вот ссылки на хорошие статьи по томкату:

статья одного из наших однополчан, очень рекомендую
тоже не плохая
ну и вот, если что-то не будет понятно из первых двух)

настроил томкат, начал писать пробную программу «hello world!» (из второй ссылки), всё написал, скомпилировал сервлет, разложил по нужным папкам в директории томката, отправил запрос как указано в описании, всё сработало — открылась новая вкладка с текстом «Hello, World!»…

НО потом мне объяснили, что такие вещи нужно запускать прям из идеи, а вот тут у меня начались проблемы
  • ,

Hibernate, Spring, Servlet

Просматривая вакансии на Java-разработчика, заметил такую вещь: в большинстве объявлений требуется знание Hibernate, Spring, Spring MVC, Servlet. Можете ли порекомендовать какие-нибудь книги или материалы по этим технологиям для начала обучения?