Comments 14
Честно говоря, за такие уроки надо руки отрывать имхо.
ORLY? Я понимаю (точнее, надеюсь) что для упрощения примера Вы решили выкинуть IoC, но сделали бы тогда хотя бы подобие ServiceLocator-а.
<mapping class=«edu.shumenko.entity.*»/> не?
В общем, принимая роль учителя всегда думайте о том, чтобы не навредить подаваемыми знаниями:)
ProductDAO.INSTANCE_PRODUCT
ORLY? Я понимаю (точнее, надеюсь) что для упрощения примера Вы решили выкинуть IoC, но сделали бы тогда хотя бы подобие ServiceLocator-а.
//каждый ваш Entity здесь нужно прописать, не пропишете — не будет работать.
ac.addAnnotatedClass(ProductEntity.class).addAnnotatedClass(BookEntity.class).addAnnotatedClass(CableEntity.class)
.addAnnotatedClass(CameraEntity.class).addAnnotatedClass(NotebookEntity.class).
addAnnotatedClass(CartEntity.class).addAnnotatedClass(CustomerEntity.class);
<mapping class=«edu.shumenko.entity.*»/> не?
В общем, принимая роль учителя всегда думайте о том, чтобы не навредить подаваемыми знаниями:)
+1
Про IoC я хотел начать говорить, когда дело дойдет до спринга. Там же коснуться конфигурирования с помощью XML.
0
Там и без IoC проблемы:
Почему в вашем интерфейсе создается инстанс потомка этого же интерфейса?
public interface ProductDAO {
ProductDAO INSTANCE_PRODUCT= new ProductDAOImpl();
List<Product> getProducts();
//и метод с которым мы будем работать
}
Почему в вашем интерфейсе создается инстанс потомка этого же интерфейса?
0
Ну у меня был один интерфейс от которого все наследовались
и я это потом использовал примерно так.
но в дальнейшем хотел описать как применять Factory.
public interface InterfaceDAO {
InterfaceDAO INSTANCE_PRODUCT= new ProductDAO();
InterfaceDAO INSTANCE_BOOK= new BookDAO();
InterfaceDAO INSTANCE_NOTEBOOK= new NotebookDAO();
InterfaceDAO INSTANCE_CABLE= new CableDAO();
InterfaceDAO INSTANCE_CAMERA= new CameraDAO();
List<IEntity> getProducts();
}
и я это потом использовал примерно так.
DAO.INSTANCE_PRODUCT.getProducts();
DAO.INSTANSE_NOTEBOOK.getProducts();
но в дальнейшем хотел описать как применять Factory.
0
Меня эти инстансы в интерфейсах некоторых эклипсовых библиотек, когда приходится с ними связываться, в тупик просто ставят постоянно. Это какой-то паттерн популярный в эклипсовом комьюнити или что? Больше я нигде вроде не встречал такого.
0
И все таки молодец! )) Если допишешь цикл, будешь молодцом вдвойне ))
+1
Ужасный index.jsp. Таких страниц быть не должно.
0
я просто показал как можно посмотреть результаты особо не заморачиваясь. И сделал там заметку, что так делать плохо. Выводится будет примерно так.
<table border="2" width="2" cellspacing="2" cellpadding="2" >
<thead>
<tr>
<th>№</th>
<th>Имя</th>
<th>Модель</th>
<th>Цена</th>
<th>Наличие</th>
<th>В корзину</th>
</tr>
</thead>
<tbody>
<c:forEach items="${notebook}" var="notebook">
<tr>
<td><c:out value="${notebook.getId()}"/></td>
<td><c:out value="${notebook.getNameNotebook()}"/></td>
<td><c:out value="${notebook.getModelNotebook()}"/></td>
<td><c:out value="${notebook.getPrice()}"/></td>
<td><c:out value="${notebook.viewAmountNotebook()}"/></td>
<td>
<form action="addToCartServlet" method="post" >
<input type="submit" name="" value="В корзину" />
<input type="hidden" name="infoItem" value="${notebook.getModelNotebook()}">
<input type="hidden" name="nameItem" value="${notebook.getNameNotebook()}">
<input type="hidden" name="priceItem" value="${notebook.getPrice()}">
<input type="hidden" name="target" value="/notebook">
</form>
</td>
</tr>
</c:forEach>
0
А зачем тогда вообще рассказывать как делать плохо? Расскажите лучше как нужно и правильно писать jsp.
Пример выше тоже не верный. Getter'ы и «скобочки» в коде JSTL не указываются. Так правильно ${notebook.id}.
Только что с JSTL познакомились?
Пример выше тоже не верный. Getter'ы и «скобочки» в коде JSTL не указываются. Так правильно ${notebook.id}.
Только что с JSTL познакомились?
0
Статья расчитана на людей, которые в первый раз видят Hibernate. Вы черезчур придираетесь к деталям. Задача этого поста была показать как создавать элементарные сущности и с помощью Hibernate поработать немножко с базой своей. Узнать что такое Criteria, и как делать CRUD операции.
То что я не пишу maping, а сделал добавление в HibernateUtil и использую аннотации — это дело вкуса каждого.
В любом случае, человек сможет взять это как основу, подразобраться, — и улучшить уже так, как считает нужным.
Просто хотелось помочь, чем мог как говориться. А в итоге лишь куча критики в мою сторону.
То что я не пишу maping, а сделал добавление в HibernateUtil и использую аннотации — это дело вкуса каждого.
В любом случае, человек сможет взять это как основу, подразобраться, — и улучшить уже так, как считает нужным.
Просто хотелось помочь, чем мог как говориться. А в итоге лишь куча критики в мою сторону.
0
UFO just landed and posted this here
subversion.assembla.com/svn/edu-shumenko-webshop/
сдесь лежит код проекта+еще один пример. Можете просмотреть и предложить какие либо изменения и подсказки. И помочь закончить цикл статей с учетом моих ошибок допущенных в первой.
сдесь лежит код проекта+еще один пример. Можете просмотреть и предложить какие либо изменения и подсказки. И помочь закончить цикл статей с учетом моих ошибок допущенных в первой.
0
Sign up to leave a comment.
Разработка веб приложения на основе Java EE+JSP+Hibernate+Maven+Spring MVC в NetBeans. Часть 1