Данные сеанса Spring Boot mix - PullRequest
       3

Данные сеанса Spring Boot mix

0 голосов
/ 28 октября 2019

У меня есть проект, основанный на Spring Boot и Java, с файлами WebController и jsp, которые подключаются к этому контроллеру для обмена данными. Я реализовал значение HTTPSession на этом контроллере и класс Java с именем «Login» для управления несколькими пользователями в приложении, которое развернуто на сервере с Tomcat 9.

Цель приложения состоит в том, чтобыэнергичное исследование, и проблема в том, что когда подключаются 2 разных пользователя, данные обоих сеансов смешиваются, и в конце оба пользователя заканчивают работу над одним и тем же исследованием и с одинаковыми данными.

Технология приложениязаключается в следующем: в Spring Controller у меня есть службы, которые подключаются к базе данных SQL, а в Интернете файлы jsp представляют собой формы в HTML для отправки данных на контроллер.

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

Я попытался синхронизировать методы контроллера Java и "@EnableASync""аннотация

Существует только один контроллер для представлений JSP,который имеет глобальные переменные службы для подключения к SQL и ViewModel, чтобы получить его в представлениях jsp

//Here, I get the user who do the login and store it in the HttpSession
@RequestMapping(value = "/", method = RequestMethod.POST)
    public synchronized String loginPost(HttpSession session, @RequestParam("email") String email,
            @RequestParam("login") String passwd) {
        Login login = loginService.buscarPorUsuario(email);
        session.setAttribute("usuario", login);
}

//A sample method in the controller, calls a jsp named "NuevoAutoconsumo"
@RequestMapping(value = "/Solar/NuevoAutoconsumo", method = RequestMethod.GET)
    public synchronized String NuevoEstudioSolAutoconsumo(HttpSession session, Model model) {
        return "/Solar/NuevoAutoconsumo";
    }


//In the controller, I have the following variables created:
//services for the Database
private final ConsumosManualesService consumosManualesService;
private final OfertaGeneradaService ofertasGeneradasService;
private final MaterialPresupuestoService materialesPresupuestoService;
//Global variable to store the data which is sent to the jsp views
private final EstudioSolarViewModel estudioViewModel;

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

Я думаю, что большая ошибка здесь в том, что данные смешиваются, когда файл jsp отправляет данные в контроллер Java, но я незнаю точно, и я не получаю никаких сообщений об ошибках на консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...