Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSP — с чего начать? 
V
    Опции темы
diablero
Дата 11.7.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Да, я убрал работу с транзакциями
Код

package ru.selfexpression;

import javax.persistence.PersistenceUnit;
import javax.persistence.EntityManager;

public class PostManager implements Manager{
    @PersistenceUnit(unitName="Infinite") private EntityManager entityManager;
    public void init() {
         entityManager = Infinite.getEntityManager();
    }
    public Post getPost(int id) {
        return entityManager.find(Post.class, id);
    }
    public void destroy() {
        entityManager.clear();
    }
}

Код

package ru.selfexpression;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceUnit;
import javax.persistence.Query;
import java.util.ArrayList;    
public class UserManager implements Manager{    
    @PersistenceUnit(unitName="Infinite") private EntityManager entityManager;    
    public void init() {    
           entityManager = Infinite.getEntityManager();
    }    
    public User login(String name, String password) throws Exception {
        Query query = entityManager.createNamedQuery("loginUser");    
        query.setParameter("name", name);    
        query.setParameter("password", password);    
        return (User) query.getSingleResult();    
    }    
    public User getUser(int id) {                
        return entityManager.find(User.class, id);    
    }    
    public ArrayList<User> getUsers() {    
        Query query = entityManager.createNamedQuery("getAllUsers");    
        return (ArrayList<User>) query.getResultList();    
    }    
    public void destroy() {    
        entityManager.clear();    
    }    
}

Цитата(Stampede @  11.7.2007,  21:33 Найти цитируемый пост)
Тут идея вот в чем. Мы неспроста завели интерфейс Manager. Это такая удобная конструкция, про которую известно, что ее можно создать, инициализировать, и в конце работы прихлопнуть.

Это понятно, но чтобы проинициализировать в менеджере entityManager, нам нужно либо передать ссылку на объект через конструктор, какой-то метод, либо унаследовать от Infinite, либо сделать  статиком entityManager и геттер. Ведь так? 


Это сообщение отредактировал(а) diablero - 11.7.2007, 22:32


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Stampede
Дата 11.7.2007, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(diablero @  11.7.2007,  13:22 Найти цитируемый пост)
Это понятно, но чтобы проинициализировать в менеджере entityManager, нам нужно либо передать ссылку на объект через конструктор, какой-то метод, либо унаследовать от Infinite. Ведь так? 


Дак а мы же специально для этого сделали Infinite синглтоном - именно для простоты лукапа. Чтобы в любом место проги написал Infinite.getInstance() - и фсе, доступайся к чему хочешь.

Более того, я ранее отмечал, что использовать синглтон чисто ради лукапа - это не совсем хорошая идея. Есть там кое-какие подводные грабли. Но для нас пока сойдет. А где-то ближе к концу проекта отдельно поговорим про грабли и альтернативные решения.

Как все доделаешь, выкладывай зип. Тесты только перепиши в ООП-ним виде, по типу как я показывал.


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
diablero
Дата 11.7.2007, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Готово.

Я вот только так и не понял фишку с логером, геттера мы для него не делаем. Он у нас объявлен как приватный. 
Сделать его пабликом?


Это сообщение отредактировал(а) diablero - 14.7.2007, 03:16

Присоединённый файл ( Кол-во скачиваний: 127 )
Присоединённый файл  Infinite1.0.2.3.zip 11,50 Kb


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Stampede
Дата 11.7.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(diablero @  11.7.2007,  14:33 Найти цитируемый пост)
Я вот только так и не понял фишку с логером, геттерамы для него не делаем. Он у нас объявлен как приватный. 
Сделать его пабликом?


Нет, просто в каждом классе, где понадобится логгер, прописываем свой собственный:

Код

private Logger logger = Logger.getLogger(YourClass.class);


Сырцы щас посмотрю.

Да, вот еще что. Я бы на твоем месте пошел и зерегил домен selfexpression.ru. От киберсквоттеров гадости можно ждать в любой момент.



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
diablero
Дата 11.7.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Подправил, архив изменил

Это сообщение отредактировал(а) diablero - 12.7.2007, 12:03


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
diablero
Дата 13.7.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Что делаем дальше?



--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Stampede
Дата 13.7.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Хорошо бы еще скрипт создания базы выложить. И вообще, положи его в проект, пусть и в зипах тоже будет.

Итак, вебный интерфейс. Расскажи как можно более подробно, что будет на сайте и какие ты предполагаешь для всего этого УРЛы.


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
diablero
Дата 14.7.2007, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Цитата(Stampede @  13.7.2007,  18:35 Найти цитируемый пост)
Расскажи как можно более подробно, что будет на сайте

Это же обсуждалось, или подробно, это до структуры страниц?

Цитата(Stampede @  13.7.2007,  18:35 Найти цитируемый пост)
и какие ты предполагаешь для всего этого УРЛы

Я эту часть предложения не понял


Это сообщение отредактировал(а) diablero - 14.7.2007, 02:47


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Stampede
Дата 14.7.2007, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(diablero @  13.7.2007,  17:40 Найти цитируемый пост)
Это же обсуждалось, или подробно, это до структуры страниц?


Знач смотри. У тебя будет несколько типов страниц: главная, раздел, статья, личная страница участнега, и т. д. Надо, чтобы у тебя было представление, что будет на каждой странице (это сейчас не важно), и по какому шаблону у них будет задаваться УРЛ.

ЗЫ. А ты чего там полуночничаешь? smile



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
diablero
Дата 14.7.2007, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Цитата(Stampede @  13.7.2007,  18:35 Найти цитируемый пост)
Хорошо бы еще скрипт создания базы выложить. И вообще, положи его в проект, пусть и в зипах тоже будет.

Добавил скрипт создания базы и положил в папку lib, readme файл, со списком необходимых библиотек.

Цитата(Stampede @  14.7.2007,  03:08 Найти цитируемый пост)
ЗЫ. А ты чего там полуночничаешь?

Такая у меня дурная работа, ушел в четверг, пришел в субботу. И чтобы дело не стояло на месте, читаю форум перед сномsmile



--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Stampede
Дата 14.7.2007, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(diablero @  13.7.2007,  18:21 Найти цитируемый пост)
И чтобы дело не стояло на месте, читаю форум перед сном


Во, вот это правильно - загружать подкорку перед сном. Пускай подсознание молотит, пока спишь smile


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
diablero
Дата 14.7.2007, 03:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Я сейчас структурно все опишу, завтра на свежую голову подкорректирую, и выложу вордовский файл.


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
diablero
Дата 14.7.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

Репутация: 2
Всего: 5



Формат страниц готов, для наглядности сделан в вордовском файле, на таблицах.
Жду критики и предложений...

УРЛ предлагаю формировать по полям id

Это сообщение отредактировал(а) diablero - 14.7.2007, 22:07

Присоединённый файл ( Кол-во скачиваний: 83 )
Присоединённый файл  page_format.zip 6,79 Kb


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
niasilil
Дата 16.7.2007, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

Репутация: нет
Всего: 9



Цитата(Stampede @ 22.6.2007,  09:32)
...
А вообще в борьбе внутреннего Шустрого Программиста и ОО Архитектора внутри себя, программист должен доминировать безоговорочно, и если что - не стесняясь бить архитектора по рукам, чтоб не терял чувства реальности smile
...

Удивительно. А как же принцип "program to an interface"? 
Так как офттопик, то открыл новую тему


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
Stampede
Дата 16.7.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(diablero @  14.7.2007,  09:34 Найти цитируемый пост)
УРЛ предлагаю формировать по полям id


Значит, ЧПУ* не хочешь?

ЧПУ (Человеко-понятный УРЛ) - концепт, ввведенный в широкий обиход известным флеймером всея Рунета, автором сайтного движка Register Дмитрием Смирновым aka Спектатор.


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.