powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите разобраться с MVC
50 сообщений из 50, показаны все 2 страниц
помогите разобраться с MVC
    #38546086
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте уважаемые форумчане!
помогите разобраться с MVC. я только начал изучать JAVA тем более web и никак не могу разобраться с MVC
написал простой пример только все в одном т.е. на JSP который обращается в БД и оттуда вытаскивает id и name пользователя и потом все записывает в HTML select
выложу сам код:
Код: 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.
<!DOCTYPE html>
<%@ page contentType = "text/html; charset = UTF-8"%>
<%@ page import = "java.sql.Connection"%>
<%@ page import = "java.sql.DriverManager"%>
<%@ page import = "java.sql.PreparedStatement"%>
<%@ page import = "java.sql.ResultSet"%>
<%@ page import = "java.util.ArrayList"%>
<%@ page import = "java.util.List"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    </head>
    <body>
        <%        
        Connection conn = null;
        ResultSet rs = null;
        PreparedStatement ps = null;
        String sql = "select id, sn from users";
        try {
            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1522:orcl", "test", "test");
            out.println(conn.getMetaData().getDatabaseProductVersion());
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
        %>
         
        <form action="baza" method="get">
            <p>
                <select size="1" name="slct">
                    <%while (rs.next()) {%>
                    <option value = <%=rs.getString("id")%>>
                        <%= rs.getString("sn")%>
                        <%}%>
                    </option>
                </select>
            </p>
            <p>
                <input type="submit" name="submit"/>
            </p>
        </form>
         
        <%
        } catch (Exception e) {
            // TODO: Add catch code
            e.printStackTrace();
        } finally {
            try {
                conn.close();
                rs.close();
                ps.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
        }%>
    </body>
</html>



как вот это все сделать на MVC я никак не понимаю.... :(
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546100
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546238
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174 http://www.datadisk.co.uk/html_docs/jsp/jsp_mvc_tutorial.htm
спасибо полезная статья, но можете сделать из моего примера MVC если Вам не трудно?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546290
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
сделай наоборот, сначала демки по ссылкам и в сети
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546293
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
я пытаюсь разобраться на них но все равно рано или поздно придется самому кодит вот по этому такие вопросы...
на сколько я понял что
должен создать некий сервлет который обращается к БД и считать данные... и конечно создаю некий arraylist и записываю полученные данные на него правильно думаю?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546295
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

ну дальше с jsp считаю этот лист... так?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546319
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Музаффар,
советую разобраться сначала на основе примера, а потом уже добавлять бд
если пример не понятен, то возможно нужно брать примеры еще проще
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546323
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,
Вы про какого примера говорите?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546359
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я говорю про этова примера 15505325
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546501
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

хорошо попробую понять...
но кто нибудь может из выше изложенного кода сделать MVC? это очень нужно... пожалуйста
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546563
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарrema174,

хорошо попробую понять...
но кто нибудь может из выше изложенного кода сделать MVC? это очень нужно... пожалуйста
Конечно можно сделать и MVC - ловите...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546731
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovКонечно можно сделать и MVC - ловите...

спасибо друг!!! Вы очень помогли...
можете прокомментировать некоторые моменты?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38546755
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex KuznetsovКонечно можно сделать и MVC - ловите...

спасибо друг!!! Вы очень помогли...
можете прокомментировать некоторые моменты?
Не за что, пользуйтесь.

Какие именно моменты прокомментировать?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547690
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovКакие именно моменты прокомментировать?
вот этот часть кода не совсем понятен...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public List getUsersFromMemory() {
        List users = null;
        UserInfo ui = null;
        users = new ArrayList();
        for(int i = 1;i<=10;i++){
            ui = new UserInfo(""+i,"User "+i);
            users.add(ui);
        }
        return users;
    }

    public UserInfo getUserInfo(String selId) {
        UserInfo ui = new UserInfo();
        ui.setId(selId);
        ui.setSn("User "+selId + " created with POST...");
        return ui;
    }
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547699
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,

если можно весь UsersModel.java
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547728
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex Kuznetsov,

если можно весь UsersModel.java
Ну, что-же, давайте разберёмся:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
package com.mvcsample.models;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
...

Объявления подключаемых классов из других библиотек.

Код: java
1.
2.
3.
4.
5.
6.
...
public class UsersModel {

    public UsersModel() {
    }
...

Конструктор по умолчанию

Код: 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.
...
    public List getUsersFromDB() { 
        List users = null;
        Connection conn = null;
        ResultSet rs = null;
        PreparedStatement ps = null;
        UserInfo ui = null;

        String sql = "select id, sn from users";

        users = new ArrayList(); // Создаём список

        try {
            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1522:orcl", "test", "test"); // Создаём объект соединения с БД
            ps = conn.prepareStatement(sql); // "Подготавливаем" обращение к базе данных
            rs = ps.executeQuery(); // Собственно говоря, само обращение к БД
            while (rs.next()) { // Пока есть данные в результирующем наборе
                ui = new UserInfo( // Создать новый объект, содержащий информацию из одной строки результирующего набора
                        rs.getString("id"),
                        rs.getString("sn"));
                users.add(ui);// Добавить в список
            }
        } catch (SQLException e) { // В случае ошибки  - произвести её логирование
            Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, e);
        } finally { // Освобождение ресурсов
            // Производим в обратном порядке
            if (rs != null) {// Закрываем результирующий набор
                try {
                    rs.close();
                } catch (SQLException ex) {
                    Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, ex);
                }
                rs = null;
            }
            if(ps!=null){// Закрываем запрос
                try {
                    ps.close();
                } catch (SQLException ex) {
                    Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, ex);
                }
                ps = null;
            }
            if(conn !=null){// Закрываем соединение
                try {
                    conn.close();
                } catch (SQLException ex) {
                    Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, ex);
                }
                conn = null;
            }
        }
        return users; // Возвращаем список
    }

Получение списка, содержащего объекты UserInfo путём выборки информации из базы данных и "отображения" строки результирующего набора данных в виде объекта Java. Т.е. здесь используется ORM ( Object Relational Mapping ). Как видите, здесь я использовал Ваш код, и вместе с тем немного его доработал чтобы в последующем передать информацию из модели в представление. Так как слои в MVC разделены, то мы должны каким-либо образом организовать обмен информацией между ними - вот для этого нам и нужен список объектов. В данном случае UsersModel - это модель для "бизнес обработки" данных, которая может в себя включать и получение информации от сервера БД. На самом деле модель может содержать самые различные методы обработки данных, которые зависят от поставленных перед ней задач.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
    public List getUsersFromMemory() {
        List users = null;
        UserInfo ui = null;
        users = new ArrayList();
        for(int i = 1;i<=10;i++){
            ui = new UserInfo(""+i,"User "+i);
            users.add(ui);
        }
        return users;
    }
...

Ну это просто для примера, потому что у меня под рукой нет ораклового сервера дял отладки Вашей выборки, да и не хотелось с базой возиться. По сути этот метод также создаёт список объектов, который затем может быть использован для передачи его в представление, либо в другую модель... т.е. это тестовый метод позволяющий проверить работу модели с использованием псевдо реальных данных.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
    public UserInfo getUserInfo(String selId) {
        UserInfo ui = new UserInfo();
        ui.setId(selId);
        ui.setSn("User "+selId + " created with POST...");
        return ui;
    }
    
}

Метод, для иллюстрации обращения к модели из POST запроса.

Ещё какие-либо вопросы?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547765
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,
ответили на 5+ :)
но у меня возникла одна проблема :((
использую JDeveloper и Weblogic Server вес ваш код портировал на jdev и он теперь ругается типа воот такой Exception в сервлете

Error 500--Internal Server Error

java.lang.NullPointerException
at jsp_servlet.__usersview._jspService(__usersview.java:93)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

это типа нет объекта? или не находит его или куда он обращается там ниче нету... ну ещё одна загадка... %(
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547767
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
    public List getUsersFromMemory() {
        List users = null;
        UserInfo ui = null;
        users = new ArrayList();
        for(int i = 1;i<=10;i++){
            ui = new UserInfo(""+i,"User "+i);
            users.add(ui);
        }
        return users;
    }
...

Ну это просто для примера, потому что у меня под рукой нет ораклового сервера дял отладки Вашей выборки, да и не хотелось с базой возиться. По сути этот метод также создаёт список объектов, который затем может быть использован для передачи его в представление, либо в другую модель... т.е. это тестовый метод позволяющий проверить работу модели с использованием псевдо реальных данных.

значить его можно и убрать?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547774
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

А Вы точно абсолютно весь код портировали?
Похоже что нет...
Потому что всё начало идёт от сервлета UsersController - он должен первым вызываться.
Смотрите внимательно файл web.xml

Кстати, можете посмотреть исходники сгенерированного сервлета для jsp
файл __usersview.java, строка 93 - это место срабатывания исключения, скорее всего список не создан.
Я не стал делать обработку ошибок в JSP, т.к. просто иллюстрировал то, что Вы спросили.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547776
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарзначить его можно и убрать? Как хотите. Я его оставил для того, чтобы Вы могли понять принцип взаимодействия компонентов в MVC шаблоне на как можно более простом примере. Пройдите отладчиком все вызовы, поймите что к чему и только потом двигайтесь дальше.

PS. С WebLogic Server я не работаю и не работал...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547780
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,

как бы ошибку нашел беда была в web.xml разобрался теперь попробую со всеми разобраться если что и если появиться вопросы могу обращаться к Вам?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547783
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex Kuznetsov,

как бы ошибку нашел беда была в web.xml разобрался теперь попробую со всеми разобраться если что и если появиться вопросы могу обращаться к Вам?Рад, что нашли ошибку.
Конечно можете обращаться - на то он и форум...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547986
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovКонечно можете обращаться - на то он и форум...

на счет форума я согласен с Вами но не все люди и будут отвечать как Вы к сожалению... :(
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38547989
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,
а ещё Вы написали вот такую строку это как я понял закрытие потоков...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
 
           if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, ex);
                }
                rs = null;



а я как бы всегда писал немножко иначе а точнее
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
            try {
                conn.close();
                rs.close();
                ps.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }


в чем плох мой вариант?
P.S. и извините за такие глупые вопросы...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548007
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex Kuznetsov,
а ещё Вы написали вот такую строку это как я понял закрытие потоков...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
 
           if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    Logger.getLogger(UsersModel.class.getName()).log(Level.SEVERE, null, ex);
                }
                rs = null;



а я как бы всегда писал немножко иначе а точнее
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
            try {
                conn.close();
                rs.close();
                ps.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }


в чем плох мой вариант?
P.S. и извините за такие глупые вопросы...
Вопросы не глупые, а очень даже правильные.
Давайте разберёмся.

1. Вы не соблюдали порядок освобождения ресурсов. Предполагается, что порядок освобождения ресурсов должен быть обратным по отношению к их получению. Вы же ResultSet получили самым последним, так почему пытаетесь закрыть его вторым?

2. Все три ресурса закрываются в одном блоке try/catch. А что будет, если к примеру происходит исключение при закрытии соединения? Правильно, остальные ресурсы не будут закрыты и освобождены - вот вам и утечка памяти.

3. Отсутствует перехват специфичного для вызываемого метода исключения - плохой стиль программирования...

4. Нет проверки значения объекта на null - опять путь к исключению.

5. Нет присвоения значение null не нужным более объектам - не понятно когда и как сработает сборщик мусора - утечки памяти.

В моём коде будет, в случае необходимости, происходить перехват соответствующих исключений, наряду с обязательным освобождением ресурсов в блоке finaly. Перед каждым вызовом закрытия ресурса проверяется ссылка на объект, т.е. существует он или нет. Далее не нужная более ссылка принимает значение null, т.е. я явно указываю, что память занимаемая ранее объектом больше не нужна и может быть возвращена системе и повторно использована.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548008
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю автору сначала получить исходную задачу в виде описания или ТЗ (технического задания), пусть даже это будет одна строчка вроде "получить из БД список товаров и отобразить на страничке в браузере". Потом изучить MVC по примеру. Потом реализовать исходную задачу в MVC.

Пытаться с бухты-барахты лопатить код странички "всё в одном" - это как "разбираться в чужом коде", хотя код, вроде бы, свой.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548034
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Предлагаю автору сначала получить исходную задачу в виде описания или ТЗ (технического задания), пусть даже это будет одна строчка вроде "получить из БД список товаров и отобразить на страничке в браузере". Потом изучить MVC по примеру. Потом реализовать исходную задачу в MVC.

Пытаться с бухты-барахты лопатить код странички "всё в одном" - это как "разбираться в чужом коде", хотя код, вроде бы, свой.

Вы читали шапку? там написана "JSP который обращается к БД и оттуда вытаскивает id и name пользователя и потом все записывает в HTML select" это как бы и ТЗ или же задача.
автор того кода являюсь сам как бы там мне все понятно и ясно :)
P.S. мне нужно было вывести в HTML select записи из БД в JPS странице и на основе MVC вот и вся задача...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548040
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,
спасибо пойду дальше разберусь
а кстати на сколько я понял но ещё не успел попробовать что ваш тот тестовый метод который формирует список, скорей всего вот тут я должен извлекать данные из БД и записать в ArrayList а дальше как бы уже есть... я правильно говорю?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548085
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар...
а кстати на сколько я понял но ещё не успел попробовать что ваш тот тестовый метод который формирует список, скорей всего вот тут я должен извлекать данные из БД и записать в ArrayList а дальше как бы уже есть... я правильно говорю? Не совсем правильно поняли - я же не зря в модели UsersModel создал метод public List getUsersFromDB() - именно в нём и происходит обращение к базе, и заполнение списка пользователей. Просто в контроллере замените метод
Код: plaintext
getUsersFromMemory()
на
Код: plaintext
getUsersFromDB()
...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548176
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovНе совсем правильно поняли - я же не зря в модели UsersModel создал метод public List getUsersFromDB() - именно в нём и происходит обращение к базе, и заполнение списка пользователей. Просто в контроллере замените метод
Код: plaintext
getUsersFromMemory()
на
Код: plaintext
getUsersFromDB()
...

ещё раз извините...
P.S. новичком быть трудно... :)
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548262
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар... новичком быть трудно... :)
Это нормально, все через это проходят...
Просто параллельно учитесь читать текст программ,
названия методов и переменных в нормальных программах всегда несут в себе смысловую нагрузку (ну или по крайней мере должны ).
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548269
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

Если вы учитесь, то учитесь на актуальной версии Java.
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
try-with-resources
закрывает ваши ресурсы за вас.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38548325
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМузаффар,

Если вы учитесь, то учитесь на актуальной версии Java.
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
try-with-resources
закрывает ваши ресурсы за вас.Согласен, тем не менее, основы того, что выполняется и как тоже нужно понимать...

PS. Музаффар, кстати, обратите внимание на небольшую сноску относительно JDBC:
Код: plaintext
The resource java.sql.Statement used in this example  is part of the JDBC 4.1 and later API .
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38549211
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМузаффар,

Если вы учитесь, то учитесь на актуальной версии Java.
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
try-with-resources
закрывает ваши ресурсы за вас.

хорошо спасибо.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38549259
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovPS. Музаффар, кстати, обратите внимание на небольшую сноску относительно JDBC:
Код: plaintext
The resource java.sql.Statement used in this example  is part of the JDBC 4.1 and later API .

хорошо
ещё один вопрос может ли работать один открытий поток ResultSet или скажем Statement одновременно с двумя или более запросами?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38549343
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex KuznetsovPS. Музаффар, кстати, обратите внимание на небольшую сноску относительно JDBC:
Код: plaintext
The resource java.sql.Statement used in this example  is part of the JDBC 4.1 and later API .

хорошо
ещё один вопрос может ли работать один открытий поток ResultSet или скажем Statement одновременно с двумя или более запросами?Вопрос не совсем понятен.
Поясните примером, что Вы имеете в виду?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38549353
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар, прежде чем отвечать на предыдущий вопрос, прочтите описание lava.sql.Statement
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38550812
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovМузаффар, прежде чем отвечать на предыдущий вопрос, прочтите описание lava.sql.Statement
спасибо огромное Вы мне очень помогли!!!
ещё один вопрос если возникнут непонятные вопросы, могу ли я написать в вашу почту?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38551364
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар...спасибо огромное Вы мне очень помогли!!!
ещё один вопрос если возникнут непонятные вопросы, могу ли я написать в вашу почту?Конечно можно... постараюсь выкроить время для ответа...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38552433
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex KuznetsovКонечно можно... постараюсь выкроить время для ответа...
спасибо. по больше бы таких... ;)
указанный Вами e-mail рабочий?
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38552545
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex KuznetsovКонечно можно... постараюсь выкроить время для ответа...
спасибо. по больше бы таких... ;)
указанный Вами e-mail рабочий?работает - постоянно...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38553016
Музаффарспасибо. по больше бы таких... ;)

Таких людей и соотв подробных обстоятельных ответов мало не потому, что все козлы.
А потому, что например тема MVC разобрана в инете на столько подробно и с кучей самых разных вариантов, что большинство просто не хочет тратить свое время на разжевывание в 100500-й раз одного и того же.
На форумах вообще не любят, когда по просто изжеванной теме приходит новичек и просит решить именно его задачу, как будто 100500 раз до этого ничего подобного не разбирали и не делали...
Это вам просто на будущее.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38553031
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищущий Знания,

Я не совсем согласен с Вашей точкой зрения относительно моего участия в данной теме, т.к. увидел, что человек имеет желание разобраться, движется в этом направлении и задаёт правильно вопросы. На ответы реагирует адекватно. Поэтому и готов помочь и помогаю в меру своих возможностей.

А так да, разжёвывать лентяям одно и то-же очень не охота, особенно когда они даже не утруждают себя, перед тем как спросить, поискать что-либо самостоятельно.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38554026
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищущий ЗнанияТаких людей и соотв подробных обстоятельных ответов мало не потому, что все козлы.
А потому, что например тема MVC разобрана в инете на столько подробно и с кучей самых разных вариантов, что большинство просто не хочет тратить свое время на разжевывание в 100500-й раз одного и того же.
На форумах вообще не любят, когда по просто изжеванной теме приходит новичек и просит решить именно его задачу, как будто 100500 раз до этого ничего подобного не разбирали и не делали...
Это вам просто на будущее.

я как бы перед тем задавать тут вопрос в интернете искал... и сейчас читаю книгу Basham B., Sierra K., Bates B . - Head First Servlets and JSP (2nd Edition) очень хорошая книга. но из книг мало что возьмешь если не пишешь, да можно по примерам писать и то ниче не даст к сожалению... вот поставил задачку и начал разбирать и вот Вам появляется вопросы и тут Вы ищите копаете, но по некоторым моментам опять же неразбериха... потом придется писать сюда надеждой что ЗНАЮЩИЕ ЛЮДИ хоть в чем то помогли...

P.S. хоть 1000000 раз был этот вопрос но из-за некоторых нюансов пришлось задавать но после меня опять кто то задаст вопрос с таким же характером...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38554095
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как раз в этой книге есть и про mvc
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38554264
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174как раз в этой книге есть и про mvc
Вами указанная ссылка тоже из этой книги если я не ошибаюсь?...
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38554304
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
похоже. в книге пример с пивом, а тут с кофе :)
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38554801
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174похоже. в книге пример с пивом, а тут с кофе :)
возможно ещё не дошел до MVC...)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
помогите разобраться с MVC
    #38983468
Alexis220382
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго здравия господа форумчане!
Что бы не плодить однотипные темы пишу здесь.

Что касается списков вопросов нет, все идет и получается, но как только столкнулся с текстовым полем веб-приложения текст в виде цифры которого надо превратить в Integer.......вот тут выскочила проблема.

Есть во вьюшке форма со списком select и полученным через сервлет атрибутом
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<form action="begin.jsp">
                                <h2 align="left">
                                    <select name="combobox">
                                        <%for (Product next : (List<Product>) request.getAttribute("productList")) {
                                                out.println("<option value=" + next.getId() + ">"
                                                        + next.getDescription()
                                                        + "</option>");
                                            }%>
                                    </select>
                                    <input type="submit" value="OK">
                                </h2>
                            </form>


begin.jsp - это просто транзит, который все что к нему не приходит отправляет в сервлет.

в сервлете сей атрибут установлен
Код: java
1.
2.
3.
4.
5.
request.setAttribute("productList", productDAO.getProduct());
dispatcher = request.getRequestDispatcher("index.jsp");
if (dispatcher != null) {
    dispatcher.forward(request, response);
}


Вот эта конструкция работает как надо, НО!!!
как только я устанавливаю второй необходимый атрибут
Код: java
1.
2.
3.
4.
5.
6.
request.setAttribute("productList", productDAO.getProduct());
request.setAttribute("showProduct", productDAO.getProductById(Integer.parseInt(request.getParameter("combobox"))));
dispatcher = request.getRequestDispatcher("index.jsp");
if (dispatcher != null) {
    dispatcher.forward(request, response);
}


вся программа идет крахом.
Суть проблемы в том, что при запуске программы ошибка, а printStackTrace(); бьет java.lang.NumberFormatException: null
Я понимаю, что комбобокс из jsp сервлет на момент запуска не видит и он равен не целому числу, а null.
Вот теперь сам вопрос ............Как дать начальное значение вот этому параметру Integer.parseInt(request.getParameter("combobox"))?????
Когда связь идет сервлет - ДАО - сервлет - вьюшка, все нормально...........Но как только пытаюсь сервлет(со взятыми из вьюшки параметрами) - ДАО - сервлет - вьюшка.....получается, что взятые из вьюшки параметры отсутствуют и бьет ошибку java.lang.NumberFormatException: null
Толи я потерялся, толи я заучился, но ступор поймал на этом не детский.
А тот пример, который поднимали в постах повыше работает без проблем.
Заранее спасибо.
...
Рейтинг: 0 / 0
помогите разобраться с MVC
    #38983475
Alexis220382
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, вопрос решен.
Решен проверкой на null.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
request.setAttribute("productList", productDAO.getProduct());
if(request.getParameter("combobox") != null){
request.setAttribute("showProduct", productDAO.getProductById(
      Integer.parseInt(request.getParameter("combobox"))));
}
dispatcher = request.getRequestDispatcher("index.jsp");
if (dispatcher != null) {
     dispatcher.forward(request, response);
}
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите разобраться с MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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