Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580

Подключение Oracle+maven+spring+Hibernate+jsp

03.03.2016, 10:03. Показов 4876. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, друзья помогите разобраться пожалуйста в web-разработке я новичок, и есть много не понятных моментов, которые я для себя пока еще не раскрыл, суть проблемы такова:
Нужно подключиться к БД Oracle для обработки информации и её вывода в таблицы и т.д, но загвоздка в том что я не совсем понимаю какой фреймворк использовать - spring или Hibernate, не совсем понятно как делать взаимодействия, уроков по данной теме мало, сделал пока как новичок всё в jsp файле:
HTML5
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
 
 <%@page import="java.sql.*"%>
<%@page import="oracle.jdbc.driver.*" %>
<%@page import="oracle.sql.*;" %>
    <h1 class="page-header">Dashboard</h1>               
           <div class="table-responsive">
     <table class="table table-striped">
              <thead>
                  <tr>
                    <th>Firstname</th>
                    <th>Lastname</th>
                    <th>Email</th>
                  </tr>
                </thead>
                <tbody>            
<%
    // String s=request.getParameter("s");
// String s= request.setAttribute("se", s);
    Statement st;
    ResultSet rs;
    Connection conn = null;
    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@10.21.8.100:1521:xe", "tester", "test");
        
        st=conn.createStatement();
        String q="Select * from pereval order by 1";
        System.out.println("Select");
        rs=st.executeQuery(q);
        System.out.println("Execute");
        while(rs.next())
        { %>
                <tr>
                    <td><%=rs.getString(1) %></td>
                    <td><%=rs.getString(2) %></td>
                    <td><%=rs.getString(6)%></td>
                  </tr>
                 
             <%         
        } 
        %>
          <tr>
                    <td>Mary</td>
                    <td>Moe</td>
                    <td>mary@example.com</td>
                  </tr>
                  <tr>
                    <td>July</td>
                    <td>Dooley</td>
                    <td>july@example.com</td>
                  </tr>
                </tbody>
            </table>
         </div>
        </div>
      </div>       
              <%
        out.println("connected....!!");
 
    }
 
    catch(Exception e)
    {
        out.println("Exception : " + e.getMessage() + "");
    }
 
 
%>
Но меня такое решение не устраивает, хочу перенести в класс, но не до конца понял как вызвать класс в сервлете и передать на страницу.
В поисках решений, наткнулся на то что, одни используют соединение через spring другие через Hibernate, так что же используют для работы с БД ? как это должно выглядеть ? Если у вас есть немного времени или возможности покажите наглядный пример, очень хочу научиться и понять.Помогите пожалуйста, уже не знаю где искать ответы.Всем большое спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2016, 10:03
Ответы с готовыми решениями:

Уроки Spring + jsp + БД (hibernate)
Добрый день, учу фреймворк Spring и JavaEE в целом. прочитал много уроков и видео посмотрел. В основном про Сервлеты и JSP. Да как...

Как отобразить нужную запись из БД по id на странице JSP? (Spring MVC + Hibernate)
Уже созданы все сервисы, дао, модели и .т.д всё работает, помогите разобраться, как мне передать параметры с JSP страницы и обработать в...

Oracle + spring-data + hibernate - создание записи и автоматическая генерация id
Нужно создать запись в таблице, но проблема в том, что таблица не имеет sequence , и в базе не хранятся счетчики созданных id в отдельной...

28
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
03.03.2016, 10:03
Цитата Сообщение от Dostik Посмотреть сообщение
какой фреймворк использовать - spring или netbeans
разве НетБинс фреймворк?

вообщем вот ссылки тынц и тынц может поможет...
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
03.03.2016, 21:36  [ТС]
Цитата Сообщение от asus Посмотреть сообщение
разве НетБинс фреймворк?
Выше ответил, видимо вы быстрее, извините за опечатку. Спасибо сейчас гляну

Добавлено через 10 часов 56 минут
Сделал пример с использованием Hibernate и сыпятся ошибки не пойму почему, помогите разобраться :
ConnectImpl.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
package com.devcolibri;
 
import java.io.Serializable;
 
public class ConnectImpl implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
    private Integer userId;
    private String firstName;
    private String lastName;
 
    public ConnectImpl(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
 
    public ConnectImpl() {
    }
 
    public String getLastName() {
        return lastName;
    }
 
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
    public String getFirstName() {
        return firstName;
    }
 
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
 
    public Integer getUserId() {
        return userId;
    }
 
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
}
Conect.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
package Connection;
 
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
 
public class Connect {
 
    private static final SessionFactory sessionFactory = buildSessionFactory();
    private static ServiceRegistry serviceRegistry;
 
    private static SessionFactory buildSessionFactory() {
        try {
            // Создает сессию с hibernate.cfg.xml
            Configuration configuration = new Configuration();
            configuration.configure();
            serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
 
            return configuration.buildSessionFactory(serviceRegistry);
        }
        catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
 
    public static void shutdown() {
        // Чистит кеш и закрывает соединение с БД
        getSessionFactory().close();
    }
 
}
user.hbm.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
    <class name="com.devcolibri.ConnectImpl" table="test" catalog="registration">
        <id name="userId" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="firstName" type="string">
            <column name="username" length="50" not-null="true" unique="true" />
        </property>
        <property name="lastName" type="string">
            <column name="lastname" length="50" not-null="true" unique="true" />
        </property>
    </class>
</hibernate-mapping>
hibernate.cfg.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">pass</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/registration</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
 
        <mapping resource="User.hbm.xml"></mapping>
    </session-factory>
</hibernate-configuration>
Добавлено через 3 минуты
А вот сами ошибки с лога
Кликните здесь для просмотра всего текста
SEVERE: Servlet.service() for servlet [index.MyServlet] in context with path [/index] threw exception
org.hibernate.exception.GenericJDBCExcep tion: Field 'id' doesn't have a default value
at org.hibernate.exception.internal.Standar dSQLExceptionConverter.convert(StandardS QLExceptionConverter.java:54)
at org.hibernate.engine.jdbc.spi.SqlExcepti onHelper.convert(SqlExceptionHelper.java :125)
at org.hibernate.engine.jdbc.spi.SqlExcepti onHelper.convert(SqlExceptionHelper.java :110)
at org.hibernate.engine.jdbc.internal.proxy .AbstractStatementProxyHandler.continueI nvocation(AbstractStatementProxyHandler. java:129)
at org.hibernate.engine.jdbc.internal.proxy .AbstractProxyHandler.invoke(AbstractPro xyHandler.java:81)
at com.sun.proxy.$Proxy5.executeUpdate(Unkn own Source)
at org.hibernate.id.IdentityGenerator$GetGe neratedKeysDelegate.executeAndExtract(Id entityGenerator.java:96)
at org.hibernate.id.insert.AbstractReturnin gDelegate.performInsert(AbstractReturnin gDelegate.java:58)
at org.hibernate.persister.entity.AbstractE ntityPersister.insert(AbstractEntityPers ister.java:2936)
at org.hibernate.persister.entity.AbstractE ntityPersister.insert(AbstractEntityPers ister.java:3447)
at org.hibernate.action.internal.EntityIden tityInsertAction.execute(EntityIdentityI nsertAction.java:81)
at org.hibernate.engine.spi.ActionQueue.exe cute(ActionQueue.java:362)
at org.hibernate.engine.spi.ActionQueue.add ResolvedEntityInsertAction(ActionQueue.j ava:203)
at org.hibernate.engine.spi.ActionQueue.add InsertAction(ActionQueue.java:183)
at org.hibernate.engine.spi.ActionQueue.add Action(ActionQueue.java:167)
at org.hibernate.event.internal.AbstractSav eEventListener.addInsertAction(AbstractS aveEventListener.java:321)
at org.hibernate.event.internal.AbstractSav eEventListener.performSaveOrReplicate(Ab stractSaveEventListener.java:286)
at org.hibernate.event.internal.AbstractSav eEventListener.performSave(AbstractSaveE ventListener.java:192)
at org.hibernate.event.internal.AbstractSav eEventListener.saveWithGeneratedId(Abstr actSaveEventListener.java:125)
at org.hibernate.event.internal.DefaultSave OrUpdateEventListener.saveWithGeneratedO rRequestedId(DefaultSaveOrUpdateEventLis tener.java:204)
at org.hibernate.event.internal.DefaultSave EventListener.saveWithGeneratedOrRequest edId(DefaultSaveEventListener.java:55)
at org.hibernate.event.internal.DefaultSave OrUpdateEventListener.entityIsTransient( DefaultSaveOrUpdateEventListener.java:18 9)
at org.hibernate.event.internal.DefaultSave EventListener.performSaveOrUpdate(Defaul tSaveEventListener.java:49)
at org.hibernate.event.internal.DefaultSave OrUpdateEventListener.onSaveOrUpdate(Def aultSaveOrUpdateEventListener.java:90)
at org.hibernate.internal.SessionImpl.fireS ave(SessionImpl.java:756)
at org.hibernate.internal.SessionImpl.save( SessionImpl.java:748)
at org.hibernate.internal.SessionImpl.save( SessionImpl.java:744)
at index.MyServlet.doGet(MyServlet.java:49)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilt erChain.internalDoFilter(ApplicationFilt erChain.java:303)
at org.apache.catalina.core.ApplicationFilt erChain.doFilter(ApplicationFilterChain. java:208)
at org.apache.catalina.core.StandardWrapper Valve.invoke(StandardWrapperValve.java:2 20)
at org.apache.catalina.core.StandardContext Valve.invoke(StandardContextValve.java:1 22)
at org.apache.catalina.authenticator.Authen ticatorBase.invoke(AuthenticatorBase.jav a:501)
at org.apache.catalina.core.StandardHostVal ve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportVa lve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValv e.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineV alve.invoke(StandardEngineValve.java:116 )
at org.apache.catalina.connector.CoyoteAdap ter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11P rocessor.process(AbstractHttp11Processor .java:1041)
at org.apache.coyote.AbstractProtocol$Abstr actConnectionHandler.process(AbstractPro tocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$S ocketProcessor.run(JIoEndpoint.java:313)
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: Field 'id' doesn't have a default value
at com.mysql.jdbc.SQLError.createSQLExcepti on(SQLError.java:1078)
at com.mysql.jdbc.MysqlIO.checkErrorPacket( MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket( MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.sendCommand(Mysql IO.java:2503)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(My sqlIO.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(Co nnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.execute Internal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.execute Update(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.execute Update(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.execute Update(PreparedStatement.java:2359)
at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43)
at java.lang.reflect.Method.invoke(Method.j ava:606)
at org.hibernate.engine.jdbc.internal.proxy .AbstractStatementProxyHandler.continueI nvocation(AbstractStatementProxyHandler. java:122)
... 42 more

Я подразумеваю что ошибка из за ID в таблице ?
в базе создано 3 столбца id, username, lastname

Добавлено через 13 минут
Задав значение по умолчанию получил другую ошибку:
The database returned no natively generated identity value

Добавлено через 18 минут
Проблему решил, были проблемы с самой таблицей.
Помогите теперь как отобразить эти самые данные ?
Большое спасибо за помощь
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
04.03.2016, 07:09
Dostik, еси честно я вообще не работал ни с Хибером ни со Спрингом но поисковики в помощь... вот и вот . во втором вроде все расписана...
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
04.03.2016, 08:11  [ТС]
asus, Спасибо вам большое за помощь, просто я уже тонны мусора прочитал, и везде пишут разное, поэтому я решил создать тут тему и попросить помощи у знающих людей, которые направят в нужном направлении. Огромное вам спасибо
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
04.03.2016, 08:16
Dostik, а что сразу захватились за мэйвен-спринг-хибером?
могли бы для начало просто сервлеты-jsp и jdbc... все таки основа...

кстати рад был помочь
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
05.03.2016, 19:38  [ТС]
Цитата Сообщение от asus Посмотреть сообщение
могли бы для начало просто сервлеты-jsp и jdbc... все таки основа..
Не особо хочется потом все переделывать. Я думаю что лучше изучать то что актуально ?
Да в сфере web - программировании я новичок, я desktop - программист и не только, на предприятии в связи с некими изменениями пришлось изучать web - программирование и пока не жалею. Единственное что в этой сфере я не селен приходиться все учить, и работы не мало, и вопросов не меньше, но я думаю с вашей помощью и помощью поисковиков все будет хорошо.
Знаю что спринг вообще хорошая тема для регистрации и разгруппировки пользователей. А мне нужно для определенных пользователей отображать информацию, а для других наоборот закрывать.
А описывать это через сервлет слишком много зависимостей и проверок, думаю это не гуманно, как вы считаете ?
Цитата Сообщение от asus Посмотреть сообщение
кстати рад был помочь
Рад был вашей помощи и отзывчивости, ведь когда начинаешь изучать новые технологии не знаешь куда копать ? к кому обратится и т.д. Еще раз большое спасибо вам за помощь.
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
05.03.2016, 20:01
Цитата Сообщение от Dostik Посмотреть сообщение
Да в сфере web - программировании я новичок, я desktop - программист и не только
я тоже новичок как и Вы... а вот на счет десктоп я вообще... почти ничего ненаю но есть заказы счас делаю но слишком уж сложно и слишком много вопросов или мне так кажется... а вот с вебом все намного проще или мне так кажется...

Цитата Сообщение от Dostik Посмотреть сообщение
А описывать это через сервлет слишком много зависимостей и проверок, думаю это не гуманно, как вы считаете ?
да, но еси честно я тоже хотел изучить этот Спринг... но счас в основном изучаю EJB...
вот ещё про фреймворков интересная статья может не относится но все же для кругозора конечно


Цитата Сообщение от Dostik Посмотреть сообщение
Еще раз большое спасибо вам за помощь.
да не за что, я толком не помогал
1
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
05.03.2016, 23:01
Бытует мнение что ejb отмирает. Насчет статьи, читал ее раньше, но зачем придумывать велосипед если фреймворки поддерживают достаточно простой в использовании и полноценный в возможностях функционал? Имхо.
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
07.03.2016, 05:13
Цитата Сообщение от Любопытный Посмотреть сообщение
Бытует мнение что ejb отмирает
думаю что Оракл ко. не даст это... хотя все может быть...

Цитата Сообщение от Любопытный Посмотреть сообщение
достаточно простой в использовании и полноценный в возможностях функционал
тут уже гуру должны что то сказать которые пощупали все это , но думаю по требованию надо выбирать технологию...

Добавлено через 23 часа 29 минут
Dostik, тоже полезно но пока сам не смотрел вот
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
09.03.2016, 15:08  [ТС]
Всем доброго времени суток продолжая разбираться с работой Hibernate, повторяется вопрос с выводом информации с БД, т.е примеры на которые я натыкался выводят записи по ключу:
Java
1
2
3
4
5
6
7
User_all user = new User_all();
        System.out.println("Maven + Hibernate + MySQL");
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
          user = (User_all) session.get(User_all.class, 1);
          System.out.println("Test Login  " + user.getFirstName());
          session.getTransaction().commit();
Если заменять как пишут таким путем :
Java
1
   List result = (List) session.createCriteria(User_all.class).list();
Получаю ошибку :
java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.hibernate.mapping.List
Далее натыкался на пример, точно не помню но что-то типо:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Statement st;
    ResultSet rs;
    Connection conn = null;
   
    try
    {
        
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@10.21.8.100:1521:zxp", "tester", "b5cpwxs2v9");
        
        st=conn.createStatement();
        String q="Select * from pereval order by 1";
        System.out.println("Select");
        rs=st.executeQuery(q);
        System.out.println("Execute");
        while(rs.next())
        {}
И это учитывая то что и Hibernate создает сессию.
Как мне получить таблицу целиком и вывести её ? помогите пожалуйста
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
09.03.2016, 15:38
Цитата Сообщение от Dostik Посмотреть сообщение
java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.hibernate.mapping.List
вы не к тому листу пытаетесь кастить
0
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
09.03.2016, 15:57  [ТС]
KEKCoGEN, Как реализовать правильно ?
дело в том что в примере какой я нашел, описано так:
Java
1
2
3
4
5
Пример чтения списка:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result = session.createCriteria(SimpleClass.class).list();
session.getTransaction().commit();
я сделал аналогично только класс свой подставил, или так не правильно ? как правильно ?
Где можно посмотреть ? где можно почитать ? как этот лист потом выводить ?
Спасибо большое за помощь и ответ
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
09.03.2016, 15:58
Dostik, у вас же в ошибке написанно какой должен быть лист. К нему и приводите.
0
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
09.03.2016, 15:59  [ТС]
Вот сам класс
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class SimpleClass {
    private Long id;
    private String text;
    
    public SimpleClass(){}
 
    public Long getId() {
        return id;
    }
 
    public void setId(Long id) {
        this.id = id;
    }
 
    public String getText() {
        return text;
    }
 
    public void setText(String text) {
        this.text = text;
    }
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
09.03.2016, 16:00
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.hibernate.mapping.List
вот ошибка. Вы используете org.hibernate.mapping.List. Замените на java.util.ArrayList
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
09.03.2016, 16:22  [ТС]
Да действительно, вы правы, большое вам спасибо, не освоился я еще, прошу простите меня за такие глупые вопросы.
Как теперь вывести содержимое в JSP страничку ? в этом месте я тоже запутался с forech и т.д что писать ? как выводить ? не совсем понял
и пытаюсь вывести в консоль выводит Null
Java
1
System.out.println (result);
Спасибо вам большое еще раз
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
09.03.2016, 18:36
Лучший ответ Сообщение было отмечено Dostik как решение

Решение

Dostik, на счет нулл не знаю... но вывод можно примерно вот так:
сервлете:
Java
1
2
3
4
5
List<YourClass> result = ....;
 
request.setAttribute("result", result);
 
request.getRequestDispetcher("result.jsp").forward(request, response);
и в jsp можете воспользоваться с jstl тэгами:
HTML5
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
<!--скажем если у Вас некая таблица-->
<table border="1">
            <tr>
                <th>ID</th>
                <th>Фамилия</th>
                <th>Имя</th>
                <th>Отчество</th>
                <th>Номер кабинета</th>
                <th>Номер телефона</th>
            </tr>
             
            <c:forEach items="#{requestScope.result}" var="r">
                <tr>
                    <td>
                        ${r.idAbonent}
                    </td>
                    <td>
                        ${r.firstName}
                    </td>
                    <td>
                        ${r.lastName}
                    </td>
                    <td>
                        ${r.surName}
                    </td>
                    <td>
                        ${r.kabinet}
                    </td>
                    <td>
                        ${r.telefon}
                    </td>
                </tr>
            </c:forEach>
        </table>

вот хорошие инфы про jstl http://www.tutorialspoint.com/... ibrary.htm
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
09.03.2016, 19:31  [ТС]
asus, Большое вам спасибо за помощь, но у меня сразу возникли некие вопросы, извините если они глупы вопросы собственно вот в чем:
Цитата Сообщение от asus Посмотреть сообщение
List<YourClass> result = ....;
Что я должен написать вместо точек после равно ? это : session.createCriteria(SimpleClass.class ).list(); ??
Этот метод выводит все данные хранящиеся в базе ? или только одно значение ? нужно оборачивать в цикл или за это отвечает forech ? и еще интересно если нужно отображать за определенный промежуток времени, или по каким-то критериям, как быть ? подходит ли этот метод для меня ? потому как у меня есть таблицы с большим объемом данных, который нужно сортировать по дате, либо поиск по определенным данным в бд например по какому-то числу. Извините за наглость, вы как опытный может знаете как правильно это делается ? Большое спасибо
Затем :
Цитата Сообщение от asus Посмотреть сообщение
request.getRequestDispetcher("result.jsp ").forward(request, response);
Обязательно ли это выполнение ? или можно работать и без этой строки ?
Цитата Сообщение от asus Посмотреть сообщение
var="r"
Что значит ? и за что отвечает ?
Еще раз большое вам спасибо за помощь.

Добавлено через 53 секунды
Цитата Сообщение от Dostik Посмотреть сообщение
var="r"
Что значит ? и за что отвечает ?
вроде разобрался для чего
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
09.03.2016, 19:51
опять таки повторяюсь, со Спрингом не работал, а на счет опыта может быть у меня меньше чем у Вас

Цитата Сообщение от Dostik Посмотреть сообщение
Что я должен написать вместо точек после равно ? это : session.createCriteria(SimpleClass.class ).list(); ??
да, если это строка возвращает лист данных из таблицы (кажется она и возвращает )

Цитата Сообщение от Dostik Посмотреть сообщение
Этот метод выводит все данные хранящиеся в базе ?
это не совсем метод, это просто переменное и возвращает некий список

Цитата Сообщение от Dostik Посмотреть сообщение
или только одно значение ?
для одной у Вас вроде должен был SingleResult();

Цитата Сообщение от Dostik Посмотреть сообщение
нужно оборачивать в цикл или за это отвечает forech ?
неа

Цитата Сообщение от Dostik Посмотреть сообщение
и еще интересно если нужно отображать за определенный промежуток времени, или по каким-то критериям, как быть ?
для этого существуют параметризованные запросы

Цитата Сообщение от Dostik Посмотреть сообщение
подходит ли этот метод для меня
наверное да, это Вам решать

Цитата Сообщение от Dostik Посмотреть сообщение
потому как у меня есть таблицы с большим объемом данных, который нужно сортировать по дате, либо поиск по определенным данным в бд например по какому-то числу.
ну и что?

Цитата Сообщение от Dostik Посмотреть сообщение
Сообщение от asus
request.getRequestDispetcher("result.jsp ").forward(request, response);
Обязательно ли это выполнение ? или можно работать и без этой строки ?
https://docs.oracle.com/javaee... tcher.html
и вот гуглОтвет


З.Ы. и все же могу ошибиться
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2016, 19:51
Помогаю со студенческими работами здесь

Перевод проекта из Spring Maven в обычный Spring MVC
Здравствуйте. Подскажите, реально ли взять готовый проект, например -...

Spring + Hibernate подключение к postgresql 11
Не могу подключиться к бд. Через pgAdmin подключение проходит нормально. ] &lt;?xml version=&quot;1.0&quot;...

Не работает Hibernate в Maven
Ребят, помогите! Такая ошибка: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V at...

Зависимости Hibernate для проекта Maven
Здравствуйте! Может кто-нибудь дать скрипт для подтягивания зависимостей (Hibernate и SQL-connector) в проекте Maven? Нашёл в...

Spring MVC + Maven
Версии IDE меняются каждый месяц и неактуальные инструкции по разворачиванию приложения засоряют выдачу поисковиков. Я новичок в Java EE....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru