powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate idea, Main работает, web-app не работает
10 сообщений из 10, страница 1 из 1
hibernate idea, Main работает, web-app не работает
    #39293591
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Начал осваивать hibernate, все было хорошо, и тут столкнулся с непонятной проблемой.

Имеется веб проект созданный в idea, на этапе создания было добавлен фреймворк hibernate и maven, сервером выбран GlassFish.
Сначала сделалась определенная часть для веба, авторизация, несколько сервлетов, красивости.. Все примитивно но по ссылочкам ходит, чего еще желать )
Далее было много прочитано и просмотрено на youtube информации о hibernate, выбран наиболее подходящий пример под задачу, создана БД MySQL, добавлены таблицы, по видео настроен hibernate.cfg.xml, который был положен в папку src\main\resources\
Создан HibernateUtil, Factory, интерфейс для DAO, и его имплементация для моей единственной MySQL.. Был создан для тестирования Main класс, где создавались обьекты, добавлялись в БД, брались оттуда, и все работало, я даже почувствовал себя программистом.. Сделал еще несколько сущностей, сделал связи один ко многим, и все работало.. Да впрочем и сейчас работает, если запускать через Main, но при попытке запустить это через веб, часть которая с hibernate перестает работать, для теста я делаю простой ajax запрос, и в сервлете в doPost выполняю самый простой тестовый метод, и получаю кучу ошибок. Просидев весь день, и читая разные форумы, я подозреваю, что либо у меня не правильная структура проекта (так, как создать war файл я тоже не могу, мавен начинает громко ругаться, что у меня вообще нет никаких библиотек), но вопрос больше - что делать.
Каюсь, совместно с hibernate я решил освоить и idea, до этого постоянно писал в eclipse, и возможно я просто не понимаю элементарщины, прошу сильно не ругаться, а указать куда копать, а я уж постараюсь..

Скрин структуры проекта:


Ниже код и ошибки..

hibernate.cfg.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE hibernate-configuration SYSTEM
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/crm?useUnicode=true&amp;characterEncoding=utf8</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password" />

        <!-- осторожно, удаляет таблицы и создает снова, согласно аннотациям -->
        <!-- <property name="hibernate.hbm2ddl.auto">create</property> -->


        <mapping class="modules.books.dto.Book" />
        <mapping class="modules.books.dto.Author" />
        <mapping class="modules.books.dto.BookAuthors" />
        <mapping class="modules.persons.dto.Person" />

    </session-factory>
</hibernate-configuration>



Factory
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
public class Factory {
    public static Factory instance = new Factory();
    public BookDao bookDao;
    public AuthorDao authorDao;
    public BookAuthorsDao bookAuthorsDao;
    public PersonDao personDao;

    private Factory(){ }

    public static Factory getInstance() {
        return Factory.instance;
    }
    //TODO переписать под паттерн двойной блокировки
    public BookDao getBookDao(){
        if(bookDao == null){
            bookDao = new BookDao_MySQL();
        }
        return bookDao;
    }

    public AuthorDao getAuthorDao(){
        if(authorDao == null){
            authorDao = new AuthorDao_MySQL();
        }
        return authorDao;
    }

    public BookAuthorsDao getBookAuthorDao(){
        if(bookAuthorsDao == null){
            bookAuthorsDao = new BookAuthorsDao_MySQL();
        }
        return bookAuthorsDao;
    }

    public PersonDao getPersonDao(){
        if(personDao == null){
            personDao = new PersonDao_MySQL();
        }
        return personDao;
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class HibernateUtil {
    private static SessionFactory sessionFactory;

    public HibernateUtil() {
    }

    static{
        try {
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable e){
            throw new ExceptionInInitializerError(e);
        }
    }

    public static SessionFactory getSessionFactory (){

        return sessionFactory;
    }
}



собственно не работающий кусок
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@WebServlet("/addBook.do")
public class AddBook extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("WEB-INF/views/addBook.jsp").forward(request, response);
    }

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        req.setCharacterEncoding("UTF-8");

//        book.setSubtitle(req.getParameter("pSubTitle"));

        try {
            Factory factory = Factory.getInstance();
            BookDao bookDao = factory.getBookDao();
            Book book = new Book();
            book.setTitle("test");
            bookDao.addBook(book);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        resp.getWriter().write("Book Added");
    }
}



на всякий случай Book.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
@Proxy(lazy = false)

@Entity
@Table(name = "book")
public class Book {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

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

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

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

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

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

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

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

    @Column(name = "price")
    private float price;

    public int getId() {
        return id;
    }

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

    public String getTitle() {

        return title;
    }

    public void setTitle(String title) {

        this.title = title;
    }
//дальше остальные геттеры и сеттеры



и реализация CRUD в BookDao_MySQL
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
public class BookDao_MySQL implements BookDao {
    public void addBook(Book book) throws SQLException {
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.save(book);
            session.getTransaction().commit();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if((session != null) && (session.isOpen()))
                session.close();
        }
    }

    public Book getBook(int id) throws SQLException {
        Book res = null;
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            res = (Book) session.get(Book.class, id);
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if((session != null) && (session.isOpen()))
                session.close();
        }
        return res;
    }

    public void updateBook(Book book) throws SQLException {
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.update(book);
            session.getTransaction().commit();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if((session != null) && (session.isOpen()))
                session.close();
        }
    }

    public void delBook(Book book) throws SQLException {
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.delete(book);
            session.getTransaction().commit();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if((session != null) && (session.isOpen()))
                session.close();
        }
    }

    public List<Book> getBooks() throws SQLException {
        List<Book> books = null;
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            books = session.createCriteria(Book.class).list();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if((session != null) && (session.isOpen()))
                session.close();
        }
        return books;
    }
}



чуть не забыл, и ругань idea
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
[2016-08-17T22:02:00.714+0300] [glassfish 4.1] [WARNING] [] [org.glassfish.grizzly.config.Utils] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-1471460520295] [timeMillis: 1471460520714] [levelValue: 900] [[
  Instance could not be initialized. Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-1, realClassName=org.glassfish.grizzly.http2.Http2AddOn]]

[2016-08-17T22:02:00.760+0300] [glassfish 4.1] [WARNING] [] [org.glassfish.grizzly.config.Utils] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-1471460520295] [timeMillis: 1471460520760] [levelValue: 900] [[
  Instance could not be initialized. Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-2, realClassName=org.glassfish.grizzly.http2.Http2AddOn]]

[2016-08-17T22:02:00.765+0300] [glassfish 4.1] [WARNING] [] [org.glassfish.grizzly.config.Utils] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-1471460520295] [timeMillis: 1471460520765] [levelValue: 900] [[
  Instance could not be initialized. Class=interface org.glassfish.grizzly.http.server.AddOn, name=admin-listener, realClassName=org.glassfish.grizzly.http2.Http2AddOn]]

[2016-08-17T22:02:11.212+0300] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=32 _ThreadName=http-listener-1(3)] [timeMillis: 1471460531212] [levelValue: 900] [[
  StandardWrapperValve[modules.books.servlets.AddBook]: Servlet.service() for servlet modules.books.servlets.AddBook threw exception
java.lang.ExceptionInInitializerError
	at modules.util.HibernateUtil.<clinit>(HibernateUtil.java:19)
	at modules.books.dao.impl.BookDao_MySQL.addBook(BookDao_MySQL.java:18)
	at modules.books.servlets.AddBook.doPost(AddBook.java:35)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver could not be loaded
	at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:111)
	at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223)
	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89)
	at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
	at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1797)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1755)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
	at modules.util.HibernateUtil.<clinit>(HibernateUtil.java:17)
	... 32 more
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [com.mysql.jdbc.Driver]
	at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:149)
	at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
	... 44 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver
	at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:296)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:146)
	... 45 more
]]
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39293608
natanabrahamjr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberum,

читай внимательно три последних caused by :) он драйвера жыдобаса не видит. а почему - хз. может в либы не добавил. или если мавен - в мавен депенденси не засунул депенденси.
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39293612
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
natanabrahamjr,

Думал над этим, я его мавеном подгружаю, и если запускать Main, все отлично работает
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Main 
{
	public static void main(String[] args)
	{
	    try {
               Factory factory = Factory.getInstance();
               BookDao bookDao = factory.getBookDao();
               Book book = new Book();
               book.setTitle("test");
               bookDao.addBook(book);
           } catch (SQLException e) {
               e.printStackTrace();
           }

        }
}



А вот в Веб приложении нет. У меня есть подозрение, что оно не подгружает при компиляции мавенские библиотеки, так, как только mysql-connector-java, и junit, то все остальное работает, можно как то заставить, что бы GlassFish кушал библиотеки мавена?

Как я писал выше, если мавеном попробовать скомпилировать проект, то вообще, оно не видит даже jdk, так же прекращает видеть все остальные библиотеки, например hibernate.. Как видно на скрину, у меня почему-то два расположения библиотек получилось, как будто один проект на 2 части поделен, мавена и самой idea..
А JDBC драйвер я копировал куда только мог, на скрину видно, что он в обеих папках с библиотеками..
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39293616
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
natanabrahamjr,

Спасибо за помощь, нашел..


На всякий случай - file - project structure - library - там можно посмотреть, какие будут использоваться библиотеки а какие нет, у меня jdbc почему-то не использовался..
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39293656
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberumnatanabrahamjr,

Спасибо за помощь, нашел..

На всякий случай - file - project structure - library - там можно посмотреть, какие будут использоваться библиотеки а какие нет, у меня jdbc почему-то не использовался..

Честно говоря не понятно зачем тут вообще maven.
Идея репозитария maven в том, что не надо самому качать библиотеки и размещать их в специальную папку (/library).
По идее ч/з dependencies в pom.xml можно управлять зависимостями подключать нужные библиотеки.
Если Idea натравить на репозиторий maven то в большинстве случаев Idea сама предложить добавить зависимости. Например произведя поиск по имени класса.

Intellij Idea хорошая IDE, но она по началу меня раздражала своей "умностью".
Потом привык и теперь мне в Eclipse не очень комфортно. :-)
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39348578
rosetta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня аналогичная ошибка. Через main hibernate работает, а через web не хочет. Вот ошибка. В структуре проекта все библиотеки подключала раз по 10. Уже в WEB-Inf их кидала, не помогает.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:579)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:461)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

javax.servlet.ServletException: Servlet execution threw an exception
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:742)
	org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:712)
	org.apache.jsp.redirect_jsp._jspService(redirect_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.NoClassDefFoundError: Could not initialize class util.HibernateUtil
	dao.impl.EntityDaoImpl.getEntitys(EntityDaoImpl.java:64)
	servlets.Redirect.doGet(Redirect.java:25)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:742)
	org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:712)
	org.apache.jsp.redirect_jsp._jspService(redirect_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.38 logs.



Структура проекта в приложенном файле.

Вот класс HibernateUtil
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;


public class HibernateUtil {
    private static SessionFactory sessionFactory;

    private HibernateUtil(){}

    static {
        try {
            sessionFactory = new Configuration() /// отваливается на этой строчке кода
                    .addInputStream(HibernateUtil.class.getResourceAsStream("/hibernate.cfg.xml"))
                    .configure().buildSessionFactory();
        }catch (Throwable e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    public static SessionFactory getSessionFactory(){
        return sessionFactory;
    }




Подскажите, пожалуйста, что еще можно сделать? В голове каша, разобраться не получается(((
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39348606
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rosettaУже в WEB-Inf их кидала, не помогает.
Код: plaintext
1.
2.
...
java.lang.NoClassDefFoundError:
 Could not initialize class util.HibernateUtil
"Глобальные" вещи (например - библиотеки логирования и доступа к БД) должны быть доступны и серверу и приложению. WEB-INF/lib изолировано в контексте приложения.

Поэтому делите своё приложение на три части:
1. То, что должно быть в общем загрузчике классов (common-classloader: ${catalina.base}/lib);
2. То, что должно быть в контексте приложения;
3. То, что может быть или там или там.
Всё, что входит в п.1 - собирается в отдельные пакеты (jar-файлы и отдельные классы) и обслуживается администратором, отвечающим за отдельный (в терминологии tomcat) хост, работающий в конкретном ${catalina.base}.
Всё, что входит в п.2 собирается в war-файл вашего приложения.
Для всего, что входит в п.3 местоположение (отдельные пакеты или war-файл) выбирается по вашему усмотрению.
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39348628
rosetta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Спасибо за информацию. Все получилось)))


Еще очень помогла статья
http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39349279
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтение документации не помогает только тогда, когда не поможет и чтение газет
...
Рейтинг: 0 / 0
hibernate idea, Main работает, web-app не работает
    #39353036
rosetta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Извините, что вопрос не по теме.

Вы не могли бы подсказать, в Хибере в выборке из БД при использовании Criteria условие
Код: java
1.
criteria.add(Restrictions.like("number", "'%" + Number + "%'"))



не срабатывает, а

Код: java
1.
Restrictions.sqlRestriction("number like '%" + Number + "%'"



возвращает результат.

Аналогично и для Restrictions.le , between и т.д.

Что может быть не так?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate idea, Main работает, web-app не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]