ОШИБКА: параметр номер 1 не является параметром OUT при попытке войти в систему с учетными данными.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 ОШИБКА: параметр номер 1 не является параметром OUT при попытке войти в систему с учетными данными.

Сообщение Гость »


Я пытаюсь войти в приложение, которому я предоставил правильные учетные данные в базе данных Sql, но оно показывает: «Такой учетной записи не существует. Пожалуйста, введите действительные учетные данные». Таблица входа в sql имеет четыре параметра: id, роль, имя пользователя, пароль (который зашифрован). Идентификатор и имя пользователя имеют одинаковые значения. введите сюда описание изображения

Ошибка в консоли:

Спящий режим: выберите логин0_.имя пользователя в качестве имени пользователя1_2_, логин0_.id в качестве id2_2_, логин0_.пароль в качестве пароля3_2_, логин0_.роль в качестве роли4_2_ из входа в систему login0_, где логин0_.role=? и логин0_.имя_пользователя=? Спящий режим: {вызов пользователей_в_системе(?,?,?,?)} 13 октября 2023 г., 21:29:34 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ВНИМАНИЕ: ошибка SQL: 0, SQLState: S1009. 13 октября 2023 г., 21:29:34 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ОШИБКА: параметр номер 1 не является параметром OUT

LoginView.jsp

Вход пользователя Войти Пожалуйста, заполните эту форму, чтобы получить доступ к своей учетной записи!
Роль Врач Администратор Администратор Имя пользователя Пароль Отправить        Очистить
LoginController.java

пакет com.project.controller; импортировать javax.servlet.http.*; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.stereotype.Controller; импортировать org.springframework.web.bind.annotation.RequestMapping; импортировать org.springframework.web.bind.annotation.RequestMethod; импортировать org.springframework.web.bind.annotation.RequestParam; импортировать org.springframework.web.servlet.ModelAndView; импортировать com.project.dao.LoginDao; импортировать com.project.entity.Login; @Контроллер публичный класс LoginController { @Autowired ВойтиДао дао; @Autowired Рецепт пациентаДао дао1; @Autowired UsersInSystemDao dao2; @RequestMapping(value="/login.html", метод = RequestMethod.POST) общедоступное представление ModelAndView() { пытаться { ModelAndView mv = новая ModelAndView(); mv.setViewName("LoginView"); mv.addObject("статус", "истина"); вернуть мв; } поймать (Исключение е) { dao.logActivities("LoginController-view: "+e); ModelAndView mv = новая ModelAndView(); mv.setViewName("ошибка"); mv.addObject("ошибка",e); вернуть мв; } } @RequestMapping(value="/dashboard.html", метод = RequestMethod.POST) public ModelAndView validate(@RequestParam("role")String role, @RequestParam("username")String username, @RequestParam("password")String пароль, запрос HttpServletRequest ) { пытаться { //Код проверки dao.logActivities("in LoginController-validate:got="+role+" "+username+" "+password); Вход l1 = новый вход (ноль, роль, имя пользователя, пароль); Строка userId=dao.validate(l1); //вызов LoginDao dao.logActivities("возвращено в logincontroller-validate:got="+userId); если (!userId.equals(null)) { //настраиваем сеанс HttpSession session = request.getSession(); Вход l = новый вход (userId, l1.getRole(), l1.getUsername(), null); session.setAttribute("userInfo", l); dao.logActivities(session.getId()); for(Целое число i: dao2.getUsersInSystem()) { dao.logActivities(i.toString()); } //отображение панели управления ModelAndView mv = новая ModelAndView(); mv.setViewName("добро пожаловать"); mv.addObject("prescriptionsCount", dao1.prescriptionPrintCount()); //только для администратора mv.addObject("users_count", dao2.getUsersInSystem()); //только для администратора вернуть мв; } еще {выбросить новое исключение(); } } поймать (Исключение е) { dao.logActivities("LoginController-validate: "+e); ModelAndView mv = новая ModelAndView(); mv.setViewName("LoginView"); mv.addObject("статус", "ложь"); вернуть мв; } } } LoginDao.java

пакет com.project.dao; импортировать org.hibernate.Session; импортировать org.hibernate.SessionFactory; импортировать org.hibernate.query.Query; импортировать org.mindrot.jbcrypt.BCrypt; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.stereotype.Component; импортировать org.springframework.transaction.annotation.Transactional; импортировать com.project.entity.Login; @Компонент публичный класс LoginDao { @Autowired частная SessionFactory SF; //конфигурация гибернации в файле SpringMVC-servlet.xml @Autowired ЛогинDao infoLog; //управлять транзакцией самостоятельно @Транзакционный проверка публичной строки (логин l) { пытаться { infoLog.logActivities("in logindao-validate:got="+l); Сеанс сеанса = sf.getCurrentSession(); Запрос q1=session.createQuery("из входа в систему, где роль= :r И имя пользователя= :u"); q1.setParameter("r", l.getRole()); q1.setParameter("u", l.getUsername()); Вход temp= (Вход) q1.uniqueResult(); логическое значение validUser=BCrypt.checkpw(l.getPassword(),temp.getPassword()); infoLog.logActivities("in logindao-validate:found="+"i/p="+l.getPassword()+", db="+temp.getPassword()+", match="+validUser); если(!валидюсер) { выдать новое исключение («Пароль не соответствует»); } вернуть temp.getId(); } поймать (Исключение е) { infoLog.logActivities("в logindao-validate: "+e); вернуть ноль; } } public void logActivities(String s) { //System.out.println("@"+s); } } SpringMVC-servlet.xml
/WEB-INF/view/ .jsp org.hibernate.dialect.MySQL5InnoDBDialect true update
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»