• Spring. Для чего нужен cервис-слой?

    @IDVsbruck
    Это общие слова и терминология человека, понимающего досконально или почти досконально структуру и принципы взаимодействия внутри контейнера Спринг. Да и логика очень часто несложная в сервисах — получить данные и иногда трансформировать их для отдачи контроллем. Понятно, встречаются и сложные сервисы, но в подавляющем большинстве это просто получение данных из базы по критериям.

    Пользуясь не один год этим фреймворком, тоже часто грешил тем, что выкидывал сервис-слой, делегируя его функционал слою DAO (только как правильно заметил один гуру с одного ресурса, в терминологии Спринга называть этот слой правильно не DAO, а репозиторий — Repository). Было просто и удобно, тем более, что при небольших проектах фактически код в дао и сервисе повторяются. А различия заключаются в том, что @ Repository — наш DAO — это бин-синглтон, и при доступе к нему несколькими потоками, что для MVC — нормальная вещь, может произойти доступ к одним данным из разных потоков. Видимость же @ Service определена видимостью вызывающего @ Controller. Возможно, с определением и терминологией наблюдаются у меня некоторые напряги, да и тонкую настройку компонентов наверняка можно сделать, но общий принцип и назначение переданы.
    Ответ написан
    2 комментария
  • Как правильно остановить рекурсию?

    @YemSalat
    хранить текущее состояние где-то выше по скоупу. Перед рекурсивным вызовом проверять его, и если что - выходить из рекурсии.
    Ответ написан
    1 комментарий
  • Как правильно сделать авторизацию пользователя на servlet+jsp?

    @Evgeny_13
    1. Написать сервлет, который будет проверять на эдентичность userName и password, например из базы, и писать роль.
    2. Написать фильтр, который будет получать роль авторизировавшегося пользователя и запрещать переход на какие-либо страницы, делать какие-либо действия.
    3. Сделать jsp-страницу, которая будет использовать сервлет и отправлять данные!

    P.S. Не забудь зарегистрировать сервлет и фильтр в web.xml.

    1. b18b5f93b4eb4a0e988cd1e1190c139b.png
    2. a9a8d900d25348edbb04a6670f7dfbd2.png
    3. 2207cda414044a729399b22bef125fe1.png
    Ответ написан
    Комментировать
  • Как учиться новому после рабочего дня?

    zTrue
    @zTrue
    Джуниору учиться в первую очередь нужно, решая ежедневные реальные рабочие задачи. Но чтобы это было эффективно, нужно:
    1) найти интересную работу (для кого как, мне, например, интересны стартапы и состоявшиеся интернет проекты, ни в коем случает не студии и не аутсорс)
    2) найти работу с сильной командой (где уровень других сотрудников выше хотя бы в чем-то), особенно это касается непосредственного технического руководителя (они будут быстро учить, даже если сами об этом не подозревают).
    Дома обучаться круто и здорово (отличное дополнение к обучению без отрыва от производства), но тяжело уехать далеко только на домашнем обучении.
    Ответ написан
    2 комментария