Форум программистов, компьютерный форум, киберфорум
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. Показов 4826. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru