• Мая 26, 2019, 11:06:42 pm
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар о выборе IT профессии и руководство для новичков: http://bit.ly/2HG2vFp

Автор Тема: Java Pro 14.05.2019 Vsevolod  (Прочитано 151 раз)

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
Java Pro 14.05.2019 Vsevolod
« : Мая 15, 2019, 12:41:57 pm »
Java EE#1
Добрый день.
Не могу запустить в IDEA приложение на Tomcat. Просто не загорается кнопка Run(как бы тупо это не звучало).
Делаю все по инструкции(файлы все скопировал верно), ошибок в коде нет, Tomcat подключил(пробовал 9,8 и 7 версию), артефакт создал - никакого эффекта.
Версия Java 10.0.2. Пробовал на двух ПК.
Гугл не помог, ну или я не правильно искал.
К сожалению, не могу сюда скрины залить.
Может есть какой-то подводный камень? Спасибо

Vsevolod

  • CEO
  • Administrator
  • Пользователи
  • *****
  • Сообщений: 1869
    • Просмотр профиля
    • Курсы программирования
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #1 : Мая 15, 2019, 04:09:18 pm »
Java EE#1
Добрый день.
Не могу запустить в IDEA приложение на Tomcat. Просто не загорается кнопка Run(как бы тупо это не звучало).
Делаю все по инструкции(файлы все скопировал верно), ошибок в коде нет, Tomcat подключил(пробовал 9,8 и 7 версию), артефакт создал - никакого эффекта.
Версия Java 10.0.2. Пробовал на двух ПК.
Гугл не помог, ну или я не правильно искал.
К сожалению, не могу сюда скрины залить.
Может есть какой-то подводный камень? Спасибо


Скорее всего в Run -> Edit configurations создавали конфигурацию не нажатием кнопки + и она не сохранилась
Prog.kiev.ua - курсы Java/Android/QA/Front-End. (044) 232-65-48, (093) 256-51-48, (095) 0-777-300, (096) 0-555-111

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #2 : Мая 15, 2019, 04:30:53 pm »
Вы правы) Спасибо

Larszz

  • Пользователи
  • *
  • Сообщений: 26
  • Илларион
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #3 : Мая 17, 2019, 03:19:35 pm »
https://github.com/Larsszz/JavaEE - задача с анкетой
на html страничке две формы, первая с сохранением результата по имени и фамилии, вторая - простая, с общим счетчиком.

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #4 : Мая 18, 2019, 11:36:08 pm »
Larszz
Имена переменных с большой буквы. Куда катиться мир :(
Такой код явно не удачен:
static AtomicInteger ANSWER_1_YES = new AtomicInteger(0);
static AtomicInteger ANSWER_1_NO = new AtomicInteger(0);
static AtomicInteger ANSWER_2_YES = new AtomicInteger(0);
static AtomicInteger ANSWER_2_NO = new AtomicInteger(0);

Длинна метода превышает 30 строк.
Такой метод неудачен:

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
И хотя код работоспособен в плане оформления тут есть еще над чем поработать.

Larszz

  • Пользователи
  • *
  • Сообщений: 26
  • Илларион
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #5 : Мая 20, 2019, 12:05:21 pm »
По поводу имени переменных - согласен, глупая ошибка, забыл отрефакторить их, так как в первоначальном решении они были константами)
По поводу оформления - полностью переделал класс с длинным методом https://github.com/Larsszz/JavaEE/blob/master/src/LoginServlet.java

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #6 : Мая 20, 2019, 02:20:15 pm »
Larszz

Ну так конечно повеселее будет

Пикало Александр

  • Пользователи
  • *
  • Сообщений: 26
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #7 : Мая 20, 2019, 10:30:54 pm »

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #8 : Мая 21, 2019, 12:55:13 am »
Пикало Александр

Решение верное

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #9 : Мая 21, 2019, 04:56:05 pm »

Vlad_Mayko

  • Пользователи
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #10 : Мая 21, 2019, 10:36:42 pm »

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #11 : Мая 22, 2019, 04:23:33 pm »

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #12 : Мая 24, 2019, 12:49:11 pm »
Лагунов Евгений
Решение верное

Vlad_Mayko
Решение верное

Larszz

  • Пользователи
  • *
  • Сообщений: 26
  • Илларион
    • Просмотр профиля
    • E-mail

Лагунов Евгений

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
Re: Java Pro 14.05.2019 Vsevolod
« Ответ #14 : Мая 24, 2019, 03:47:37 pm »
Есть вопрос по рефлексии.
Не могу вытащить значение поля(Стрингового) с помощью объекта класса Class

Class cls1 = TextContainer.class;
        Field[] fields= cls1.getDeclaredFields();
        for(Field field: fields) {
            try {
                System.out.println(field.get(cls1));
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
(у класса TextContainer есть стринговое поле).
Получаю Exception in thread "main" java.lang.IllegalArgumentException: Can not set java.lang.String field TextContainer.text to java.lang.Class
В чем причина?
P.S. То что field.get(cls1) вернет объект и нужно приводить к строке я понимаю. Это просто пример.