С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099

[Spring MVC] Login Bean

06.03.2017, 21:24. Показов 1511. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одном из туториалов по Spring MVC авторы используют LoginBean со следующим содержанием:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.spring.controller;
 
public class LoginBean {
 
    private String userName;
    private String password;
 
    public String getUserName() {
        return userName;
    }
 
    public void setUserName(String userName) {
        this.userName = userName;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
}
Потом, соотвественно, используют его в обработчике формы
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    @RequestMapping(method = RequestMethod.POST)
    public String submit(Model model, @ModelAttribute("loginBean") LoginBean loginBean) {
        if (loginBean != null && loginBean.getUserName() != null & loginBean.getPassword() != null) {
            if (loginBean.getUserName().equals("chandra") && loginBean.getPassword().equals("chandra123")) {
                model.addAttribute("msg", "welcome" + loginBean.getUserName());
                return "success";
            } else {
                model.addAttribute("error", "Invalid Details");
                return "login";
            }
        } else {
            model.addAttribute("error", "Please enter Details");
            return "login";
        }
    }
}
Обязательно ли делать отдельный бин, если у меня уже есть модель User:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class User {
    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id;
 
    @Column(name = "email")
    private String email;
 
    @Column(name = "full_name")
    private String fullName;
 
    @Column(name = "username")
    private String username;
 
    @Column(name = "password")
    private String password;
 
    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
            inverseJoinColumns = @JoinColumn(name = "role_id"))
    private Set<Role> roles = new HashSet<>();
 
    ...
}
И еще, правильно ли я понимаю, отдельный бин используют чтобы не писать все параметры через @RequestParam?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2017, 21:24
Ответы с готовыми решениями:

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями Spring MVC проект собирается нормально и...

Перевод проекта из Spring Maven в обычный Spring MVC
Здравствуйте. Подскажите, реально ли взять готовый проект, например -...

задания по spring core и spring mvc для новичков
Какие задания можно предложить новичкам для выполнения после знакомства их с spring core и mvc ?

4
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
06.03.2017, 21:50
Лучший ответ Сообщение было отмечено Artmal как решение

Решение

Цитата Сообщение от Artmal Посмотреть сообщение
Обязательно ли делать отдельный бин, если у меня уже есть модель User
слать entity в во вьюху не самая удачная идея, для этого придуманы data transfer object (dto) это как раз и есть ваш логинбин, только назвали вы его иначе.

Пример с логин бином не самый удачный, т.к за авторизацию у вас будет отвечать spring security.
Более очевидно использование dto станет когда будете регистрировать пользователя. Например в сущности User у вас нет поля confirmPassword. + входящие данные в контролер хорошо бы провалидировать ну там, что имя пользователя, емайл подходящей длины, формата и т.д. для маппинга этих условий опять же dto хорошо подходит... https://www.mkyong.com/spring-... d-example/
1
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
07.03.2017, 11:52  [ТС]
Почитал про dto. Как я понял, это класс, который будет хранить только состояние объекта и не будет хранить никакого поведения(та же entity, только без hibernate'а).

Возник вопрос, а где хранить эти dto? В том туториале что я смотрел, Login Bean кидали прямо в пакет controller, правильно ли это?

Как правильно называть эти dto? Что-то вроде UserDTO?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
07.03.2017, 12:49
Artmal,
1
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
08.03.2017, 09:53  [ТС]
reisal78, не до конца понимаю эту схему. Почему dto входит в приложение, а предметная область(домен) - нет? Что в таком случае подразумевают под приложением?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2017, 09:53
Помогаю со студенческими работами здесь

Spring + Hibernate | Error creating bean with name 'sessionFactory'
Относительно недавно начал изучение Java. При создании веб-приложения при помощи Sprng'а и Hibirnate выскакивает ошибка, хотя делал по...

Spring и Map с String на типы других Bean's
Здравствуйте! В один момент у меня отвалилось кучи тестов, причём коммитов не было, просто бах и сотни тестов не проходят Копался я в...

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные программы. Использовал Netty, Apache...

Cannot resolve bean 'injectBean' .Spring - XML model validation
package com.spring.hierarchical; public class SimpleTarget { private String val; public String getVal() { ...

Как создать синг-тон bean в Spring или есть другие решения?
задача - создать компонент для Spring - который представляет из себя: - (статический?) метод распознания изображения (точнее теста и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru