Я создаю простое веб-приложение с регистрационной формой, и я использовал Hibernate. Но у меня такая ошибка:
это код: AddUser.java
import java.io.IOException;
import javax.imageio.spi.ServiceRegistry;
import javax.security.auth.login.Configuration;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
@WebServlet("/CreateUser.do")
public class AddUser extends HttpServlet {
private static final long serialVersionUID = 1L;
public AddUser() {
super();
// TODO Auto-generated constructor stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Configuration config = new Configuration().configure("hibernate.cfg.xml");
ServiceRegistry servReg = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();
SessionFactory factory = config.buildSessionFactory(servReg);
Session session = factory.openSession();
session.beginTransaction();
User u = new User(request.getParameter("firstname"), request.getParameter("lastname"), request.getParameter("login"), request.getParameter("password"));
session.save(u);
session.getTransaction().commit();
session.close();
RequestDispatcher view = request.getRequestDispatcher("useradd.jsp");
view.forward(request, response);
}
}
Это ошибка: ОШИБКА Как я могу решить эту проблему? Спасибо!
@ LuisMuñoz
Я также добавляю ошибку, если кто-то хочет увидеть это напрямую.
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Servlet execution threw an exception
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.Error: Unresolved compilation problems:
Cannot instantiate the type Configuration
The method configure() is undefined for the type Configuration
The method getProperties() is undefined for the type Configuration
The method buildSessionFactory(ServiceRegistry) is undefined for the type Configuration
AddUser.doPost(AddUser.java:32)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.
Моя страница Eclipse: ЗАТМЕНИЕ
По возможности лучше размещать обычный текст вместо изображений. Ошибка компиляции! Вид базовой Java-проблемы.
@ LuisMuñoz Я добавляю ошибку напрямую! Спасибо за совет.
Вы проверили библиотеки hibernate в пути к классам и их зависимости?
@MariaSekar Спасибо за ответ. Вы сказали lib в Eclipse?
Возможно, я не импортировал библиотеку для конфигурации, но я не знаю, как это сделать
Поместите свои зависимости в папку web-inf / lib.
Я помещаю изображение в последний пост про окно Eclipse. Теперь я помещаю файл hibernate.cfg.xml в Java Resource / src





Из-за ошибки похоже, что для объекта конфигурации нет метода configure. Проверьте javadocs https://docs.oracle.com/javase/9/docs/api/index.html?javax/security/auth/login/Configuration.html
Эта ошибка связана с конфигурацией гибернации, а не с этой.
Спасибо за ответ. Я понимаю, что не установил конфигурацию, но не понимаю, как это сделать. Я прочитал, что мне следует использовать общедоступную статическую конфигурацию getConfiguration (), но я не понимаю, куда ее поместить.
Я не могу решить ...