2013-05-29 4 views
0

У меня есть проблема с Hibernate, чтобы сделать процесс входа в систему. Все коды совершенно правильны с точки зрения синтаксиса. NetBeans говорят мне, что у моего кода нет проблем. Однако, когда я запускаю веб-интерфейс, и я тестирую процесс входа в систему, он не реагирует, и адрес застрял на doLogin.Вход с JSP Hibernate

Все классы были правильно отображены. Это моя проблема: когда я пытаюсь получить данные, мой код застрял в строке.

на doLogin сервлета (я использую шаблон предоставленный NetBeans и просто заполнить мой код на попытки Вот вкратце:.

Connect con = new Connect(); //my code is stucked on this line. 
//I've done testing where's the cause of the stuck, and this line is the cause. 
List logger = con.getLogin(username, password); 

и сделать это ясно:

Connect.java

public class Connect { 
    Session sesi; 

     public Connect() { 
      sesi = HibernateUtil.getSessionFactory().openSession(); 
     } 



     public List getLogin(String username, String password){ 
      return sesi.createQuery("from MsUser WHERE username = '"+username+"' and password = '"+password+"'").list(); 
     } 

    } 

и так, что запрос HQL, вот класс MsUser:

public class MsUser { 

    public MsUser() { 
    } 

    private int userID; 
    private String username; 
    private String firstname; 
    private String lastname; 
    private String email; 
    private String password; 
    private String gender; 
    private String address; 
    private String phone; 
    private String photo; 

    public MsUser(int userID, String username, String firstname, String lastname, String email, String password, String gender, String address, String phone, String photo) { 
     this.userID = userID; 
     this.username = username; 
     this.firstname = firstname; 
     this.lastname = lastname; 
     this.email = email; 
     this.password = password; 
     this.gender = gender; 
     this.address = address; 
     this.phone = phone; 
     this.photo = photo; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getFirstname() { 
     return firstname; 
    } 

    public void setFirstname(String firstname) { 
     this.firstname = firstname; 
    } 

    public String getGender() { 
     return gender; 
    } 

    public void setGender(String gender) { 
     this.gender = gender; 
    } 

    public String getLastname() { 
     return lastname; 
    } 

    public void setLastname(String lastname) { 
     this.lastname = lastname; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public String getPhone() { 
     return phone; 
    } 

    public void setPhone(String phone) { 
     this.phone = phone; 
    } 

    public String getPhoto() { 
     return photo; 
    } 

    public void setPhoto(String photo) { 
     this.photo = photo; 
    } 

    public int getUserID() { 
     return userID; 
    } 

    public void setUserID(int userID) { 
     this.userID = userID; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 


} 

, пожалуйста, помогите. Но я подозреваю, что конструктор Connect является основной причиной. Любой может предложить или исправить или рассказать мне, что вызывает у меня это.

Приложение:

HibernateUtil.java 
/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package Controller; 

import org.hibernate.cfg.AnnotationConfiguration; 
import org.hibernate.SessionFactory; 

/** 
* Hibernate Utility class with a convenient method to get Session Factory 
* object. 
* 
* @author Ginanjar 
*/ 
public class HibernateUtil { 

    private static final SessionFactory sessionFactory; 

    static { 
     try { 
      // Create the SessionFactory from standard (hibernate.cfg.xml) 
      // config file. 
      sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); 
     } catch (Throwable ex) { 
      // Log the exception. 
      System.err.println("Initial SessionFactory creation failed." + ex); 
      throw new ExceptionInInitializerError(ex); 
     } 
    } 

    public static SessionFactory getSessionFactory() { 
     return sessionFactory; 
    } 
} 
+0

Ther нет оснований для кода застрять в том месте, вы сказали, проверить для любого точки останова в строке 'new Connect()' –

+0

ли у вас правильно настроена БД? – WeMakeSoftware

+0

Нет ошибки stacktrace? Не нужно блокировать ... –

ответ

0

Вы можете попробовать следующий код в файле HibernateUtil.java:

SessionFactory factory = new Configuration().configure().buildSessionFactory(); 
     session = factory.openSession(); 
     String query = "select reg.username,reg.password from MsUser as reg where reg.username='" + username + "' and reg.password='" + password + "'"; 
     Query DBquery = session.createQuery(query); 
     for (Iterator it = DBquery.iterate(); it.hasNext();) {   it.next(); 
      count++; 
     } 
     System.out.println("Total rows: " + count); 
     if (count == 1) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
Смежные вопросы