Hibernate и проблема с подключением к базе данных (данные не отображаются на странице JSP) - PullRequest
0 голосов
/ 14 апреля 2020

Hibernate и проблема с подключением к базе данных (данные не отображаются на странице JSP) Я хочу отобразить данные своей таблицы в "ShowDetails. jsp". Но он не отображается, я пытался через отображение Hibernate, но та же проблема, с которой я сталкиваюсь ..

Я новичок в Hibernate.

http://localhost: 8081 / jsp -hibernate-curd / ShowDetails. jsp

enter image description here

Исключение:

  java.lang.NoSuchFieldError: TRACE
  at org.jboss.logging.Log4jLogger.translate(Log4jLogger.java:64)
  at org.jboss.logging.Log4jLogger.isEnabled(Log4jLogger.java:39)
  at org.jboss.logging.Logger.isTraceEnabled(Logger.java:98)
  at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
  at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:87)
  at org.com.dao.UserDao.<clinit>(UserDao.java:19)
  at org.com.servlet.UserServlet.<init>(UserServlet.java:18)

Класс модели (UserBean. java)

package org.com.bean;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="userdata")
public class UserBean {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name="id")
private int id;

@Column(name="name")
private String userName;

@Column(name="password")
private String userPass;

@Column(name="email")
private String userEmail;

@Column(name="country")
private String userCountry;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getUserName() {
    return userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

public String getUserPass() {
    return userPass;
}

public void setUserPass(String userPass) {
    this.userPass = userPass;
}

public String getUserEmail() {
    return userEmail;
}

public void setUserEmail(String userEmail) {
    this.userEmail = userEmail;
}

public String getUserCountry() {
    return userCountry;
}

public void setUserCountry(String userCountry) {
    this.userCountry = userCountry;
}

}

UserDao.class

  package org.com.dao;

  import java.util.List;
  import org.com.bean.UserBean;
  import org.hibernate.HibernateException;
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.Transaction;
  import org.hibernate.cfg.AnnotationConfiguration;

  public class UserDao {
  private static SessionFactory sessionFactory;

  static {
    try {

        sessionFactory= new AnnotationConfiguration().configure().buildSessionFactory();

    }
    catch(Throwable e) 
    {
        System.out.println("Exception" + e);
        throw new ExceptionInInitializerError(e);
    }

    }

    public static SessionFactory getSessionFactory()
    {

    return sessionFactory;
    }

    @SuppressWarnings("unchecked")
    public List <UserBean> getAllUser()
    {

    System.out.println("This is userDao Class");

    Session session=null;
    Transaction tx= null;
    List<UserBean> listUserDetails = null;
    try {
        session= sessionFactory.openSession();
        tx=session.beginTransaction();

        listUserDetails = session.createQuery("from USERDATA").getResultList();
        tx.commit();

        }

    catch(HibernateException e) {

        if(tx!=null)
        {
            tx.rollback();
        }
        e.printStackTrace();
    }
    finally
    {
        session.close();
    }

    return listUserDetails;
    }

    }

Класс сервлета (UserServlet. java)

    package org.com.servlet;

   import java.io.IOException;
   import java.util.List;
   import javax.servlet.RequestDispatcher;
   import javax.servlet.ServletException;
   import javax.servlet.http.HttpServlet;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;
   import org.com.bean.UserBean;
   import org.com.dao.UserDao;

   public class UserServlet extends HttpServlet {

   private static final long serialVersionUID = 1L;
   private UserDao userdao = new UserDao();

   protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, 
   IOException
    {
        System.out.println("*****************************************");
        System.out.println("***********Servlet***************");
        System.out.println("****************************************");


        List <UserBean> listALLUserDetails = userdao.getAllUser();
        req.setAttribute("listALLUserDetails", listALLUserDetails);
        RequestDispatcher dispathcerServlet= req.getRequestDispatcher("/ShowDetails.jsp");
        dispathcerServlet.forward(req, res);


    }


      }

hibernate.cfg. xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
                            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

     <hibernate-configuration>
         <display-name>jsp-hibernate-curd</display-name>
         <session-factory>
           <property name="hbm2ddl.auto">update</property>
           <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
           <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
           <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
           <property name="connection.username">system</property>
           <property name="connection.password">admin</property>
           <property name="connection.pool_size">1</property>
           <property name="current_session_context_class">thread</property>
           <property name="show_sql">true</property>

            <mapping class="org.com.bean.UserBean" />
         </session-factory>
     </hibernate-configuration>

веб. xml

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

      <servlet>
         <servlet-name>UserServlet</servlet-name>
         <servlet-class>org.com.servlet.UserServlet</servlet-class>
      </servlet>

      <servlet-mapping>
           <servlet-name>UserServlet</servlet-name>
           <url-pattern>/user</url-pattern>
      </servlet-mapping>
    </web-app>

1 Ответ

0 голосов
/ 14 апреля 2020

Убедитесь, что вы не используете более одной версии log4j в пути к классам.

Уровень TRACE доступен в журнале log4j версии 1.2.12 или выше.

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