Авторские права:
Все книги представлены исключительно в ознакомительных целях и должны быть удалены с вашего компьютера или любого иного носителя информации сразу после поверхностного ознакомления с содержанием. Копируя и сохраняя книги, Вы принимаете на себя всю ответственность, согласно действующему международному законодательству, а именно закону об авторском праве и смежными с ним законами. Публикация данных документов не преследует за собой никакой коммерческой выгоды, а является рекламой бумажного аналога.

JAVA

Если вы попали на мою страничку из поиска и не видите то, что искали, нажмите CTRL+F и выйдет окошко поиска, введя туда нужное слово вы найдете то, что искали. Удобнее всего данный поиск устроен в браузере Mozilla Firefox, окошечко будет в левом нижнем углу и не будет мешать, в остальных браузерах это окошко появляется посередине экрана.

Этот раздел создан для тех, кто занимается программированием на языке Java или только хочет начать изучение этого языка. Книги по Java я прочитала, конечно же, пока не все, но некоторые могу рекомендовать и откомментировать с точки зрения содержимого.

Примечания.

1. Некоторые книги в формате djvu – прога весом полметра, exe-файл, напоминает прогу для чтения книг, текст легко копируется и вставляется в word. Если Вы закрыли книгу djvu, то при следующем запуске проги она откроется на той же странице, на которой Вы остановились. В общем, респект djvu!!! хотя бывает глючит(((
2. Я указывала год выпуска оригинала книги, а не ее перевода на русский язык.
3. * означает отсутствие данной информации.

Сборник из 20 книг

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.В сборнике 20 книг, по разным тематикам In action: ajax, java server faces (jsf), spring, hibernate, swt/jface, tapestry, lucene, eclipse, junit, jstl, xdoclet, jess, jmx, struts, aspectj и т.д., год издания у всех книг разный. Какие книги входят можно посмотреть щелкнув на картинку для увеличения. Все книги на английском языке.* / pdf * / 112англ.
Статус, комент: Скачать 1 часть 2 часть Для распаковки нужно иметь 7 zip.

JAVA

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Статьи1. В дебрях JDBC драйверов. Как развертывать, использовать и измерять производительность JDBC драйверов 1, 2, 3, 4 типов. JDBC tutorial. Автор Нитин Нанда. 17 страниц, pdf, 196 кб. рус. яз.
2. Понятие конструктора. Чем отличается конструктор от метода. Beginner java. Автор Роберт Нильсен. 8 страниц, pdf, 139 кб, рус.яз.
3. Самораспаковывающиеся jar-файлы. Авторы Стив Джин, Джон Митчелл.6 страниц, pdf, 141 кб. рус. яз. и др. статьи. Скачать все статьи, всего 19 штук. 3,6 мб
2.Java Web Services: Up and Running. Martin Kalin2009 / pdf297 / 2,51англ.
Статус, комент: Скачать
3.A programmer's guide to Java SCJP certification : a comprehensive primer. Khalid A. Mughal, Rolf W. Rasmussen.—3rd ed.2009 / pdf1039 / 4,93англ.
Статус, комент: Скачать
4.Петр Карабин Язык программирования Java: создание интерактивных приложений для Internet2006 / pdf224 / 259 кбрус.
Статус, комент: Скан, прочитано, ничего особенного. Скачать
5.Секреты программирования для Internet на Java* / pdf389 / 2,86рус.
Статус, комент: Скан, просмотрена. Скачать
6.Concurrent Programming in Java™: Design Principles and Patterns, Second Edition. Doug Lea1999 / pdf432 / 2.15англ.
Статус, комент: Несмотря на год издания, полезная книжка по многопоточному программированию, по изучению основ, актуальности не теряет. Скачать
7.Java SOA Cookbook. Eben Hewitt2009 / pdf714 / 6,79англ.
Статус, комент: Скачать
8. Implementing SOA Using Java EE. B. V. Kumar, Prakash Narayan, Tony Ng2010 / pdf351 / 3,8 англ.
Статус, комент: Скачать
9.Java Message Service. Mark Richards, Richard Monson-Haefel, and David A. Chappell. Second Edition2009 / pdf305 / 4,32англ.
Статус, комент: В книге описывается версия 1.1 JMS. Скачать
10.Implementing SOA: Total Architecture in Practice. Paul C. Brown2008 / chm736 / 9,58 англ.
Статус, комент: Скачать
11.SCJP Exam for J2SE 5: A Concise and Comprehensive Study Guide for The Sun Certified Java Programmer Exam. Paul Sanghera, Ph.D2006 / pdf396 / 2,07англ.
Статус, комент: Скачать
12.Cay S. Horstmann, Gary Cornell. Core Java. Volume I Fundamentals. 8th Edition2007 / pdf825 / 8,96англ.
Статус, комент: Прочитала содержание, книга интерес не вызвала. Скачать
13.Герберт Шилдт - Полный справочник по Java SE6 7 изд.2007 – год изд. на рус. / djvu1034 / 27,4рус., пер. с англ.
Статус, комент: Шилдту на пенсию пора похоже, все одно и тож пишет))) а технологии ушли вперед... Скачать
14.Изучаем Java. 2-е издание. Кэти Сьерра, Берт Бейтс2005 / djvu717 / 137рус., пер. с англ.
Статус, комент: Скачать
15.И.Н. Блинов, В.С. Романчик. Java 2 Практическое руководство 2005 / pdf400 / 2,98 рус.
Статус, комент: В конце есть 2 небольших приложения про XML и Введение в технологию Struts. Все остальное ничем не примечательно:)
Скачать
16.Effective Java, Second Edition, Joshua Bloch2008 / pdf346 / 1,17англ.
Статус, комент: Скачать с
17.Java Concurrency in Practice. By Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea 2006 / chm384 / 1,15англ.
Статус, комент: Скачать с
18.Java Puzzlers: Traps, Pitfalls, and Corner Cases. By Joshua Bloch, Neal Gafter 2005 / chm304 / 1,22англ.
Статус, комент: Скачать с Еще здесь можно посмотреть
19.Core Java. Volume II–Advanced Features, Eighth Edition. Cay S. Horstmann, Gary Cornell 2008 / chm1056 / 19,9 англ.
Статус, комент: Скачать с
20.SCEA Sun Certified Enterprise Architect for Java EE Study Guide (Exam 310-051) Paul R. Allen, Joseph J. Bambara 2007 / pdf643 / 4,59англ.
Статус, комент: Скачать с
21.Брюс Эккель Философия Java 4-е издание2006 / djvu640 / 5,36рус., пер. с англ.
Статус, комент: С. 601 Скачать с А что можно сказать про книжку, которую переводили 3 года? Наверное лучше поздно, чем никогда:)
22.Кей С. Хорстманн, Гари Корнелл Java 2. Библиотека профессионала. Том 1. Основы Java 2: Volume 1 - Fundamentals. 7-е издание2005 / djvu896 / 10,6рус., пер. с англ.
Статус, комент: Скачать с
23.Кей С. Хорстманн, Гари Корнелл Java 2. Библиотека профессионала. Том 2. Тонкости программирования Java 2: Volume 2 - Advanced Features. 7-е издание2005 / djvu1168 / 13,4рус., пер. с англ.
Статус, комент: Скачать с
24.Beginning Java EE 6 Platform with GlassFish 3. From Novice to Professional. Antonio Goncalves2009 / pdf478 / 8,21англ.
Статус, комент: Скачать с
25.SCJP1.6 JAVA 6 CERTIFICATION Guide-310-065. Katherine Sierra, Bert Bates2008 / pdf928 / 6,85 англ.
Статус, комент: Отличная книжка по основам языка, а так же для подготовки к собеседованиям. Скачать с
26.Паттерны проектирования. Эрик Фримен, Элизабет Фримен2004 / djvu656 / 31,11 рус., пер. с англ.
Статус, комент: Отличная книжка! Скачать с
27.Лекции университета Stanford Я просмотрела вот этот курс "Programming Methodology", все конечно на английском языке, сначала непривычно, а потом привыкаешь, и даже все понимаешь, несмотря на то, что очень быстро лектор говорит. Можно лекции почитать в бумажном виде, но не понятно, т.к. в них нет кода. Конечно там есть про Swing, который уже устарел, но про java все актуально - 5.0. Все настолько подробно и разжевано, в российских вузах так не преподают:) Всем рекомендую:) Во 2 курсе очень много языка С++, мне не особо нравится, на java было бы супер, да и у лектора дикция мне не нравится. А еще я нашла видео лекции др. университета - Berkeley Тоже java, но они отличаются от лекций Стенфорда по содержанию. Я смотрю, а вдруг что-то новое узнаю:) А еще есть лекции Massachusetts Institute of Technology
Это туториал по JavaEE http://java.sun.com/javaee/5/docs/tutorial/doc/JavaEETutorial.pdf
Руководство по Web-сервисам http://ru.sun.com/pdf/j2ee/WST.pdf

Servlet and JSP - Java Server Pages

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Дэвид М.Гери JavaServerPages2001 / pdf448 / 50,9 рус., пер. с англ.
Статус, комент: Прочитана-пролистана. Скачать
2.Vivek Chopra, Sing Li, Rupert Jones, Jon Eaves, John T.Bell Beginning Java Server Pages2005 / pdf1297 / 37,69англ.
Статус, комент: есть коды. Читаю, стр. 152, 208 Скачать
3.Брюс У. Перри. Java сервлеты и JSP. Сборник рецептов2004 / djvu768 / 36,5рус., пер. с англ.
Статус, комент: Прочитаны нужные главы. Коды есть. Скачать
4.Pro JSP 2 Fourth Edition. Simon Brown, Sam Dalton, Daniel Jepp, David Johnson, Sing Li, and Matt Raible Edited by Kevin Mukhar2005 / pdf728 / 6,62англ.
Статус, комент: JSP and Servlet specifications—versions 2.1 and 2.5. В это издание включена новая глава JavaServer Faces. Читаю с 200.
Скачать вместе с кодами
5.Web Development with Java. Using Hibernate, JSPs and Servlets. Tim Downey2007 / pdf300 / 1,53англ.
Статус, комент: Читаю с 144. В книге используется среда разработки NetBeans. Хорошая книжка, имхо:) Скачать
6.Beginning JSP 2: From Novice to Professional. Peter den Haan, Lance Lavandowska, Sathya Narayana Panduranga and Krishnaraj Perrumal 2004 / chm480 / 4,09англ.
Статус, комент: Книга ничем не примечательна, для начинающих, для профессионалов там ничего нет. Отличие: есть глава Implementing the Model 2 Architecture and Using Struts. Скачать
7.Head First Servlets and JSP. Bert Bates, Kathy Sierra, Bryan Basham2004 / pdf757 / 12,8 англ.
Статус, комент: Как-то я читала начало этой книги в онлайне, если я не путаю с другой книгой. Хорошо написано, очень подробно, только совсем тупой не поймет, для новичков самое то, английский чуть-чуть конечно надо знать:) Обложки книги нет, сделала первую страничку, книга вся в таких картинках с объясняющими надписями. Скачать
8.Core Servlets and JavaServer Pages, Volume 2: Advanced Technologies, Second Edition. Marty Hall; Larry Brown; Yaakov Chaikin2007 / chm736 / 27,7 англ.
Статус, комент: Не читала, в содержании есть 3 главы по Struts Framework. Скачать
9.Beginning JSP, JSF, and Tomcat Web Development: From Novice to Professional. Giulio Zambon with Michael Sekler2007 / pdf448 / 4,66 англ.
Статус, комент: Скачать
10. http://pdf.coreservlets.com - на этом сайте в формате pdf доступным языком описываются сервлеты и jsp на английском языке. Хорошее знание английского языка не обязательно.

EJB - Enterprise JavaBeans

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Enterprise JavaBeans, 3.0 5th Ed - B. Burke, R. Monson-Haefel2006 / chm760 / 3,06англ.
Статус, комент: Скачать
2.Pro EJB 3: Java Persistence API. Mike Keith, Merrick Schincariol2006 / pdf452 / 6,36англ.
Статус, комент: стр. 54 Скачать
3.EJB 3 in Action. Debu Panda, Reza Rahman, Derek Lane2007 / pdf677 / 11,7англ.
Статус, комент: стр. 196 Скачать
4.EJB 3 Developer Guide (A Practical Guide for developers and architects to the Enterprise Java Beans Standard) Michael Sikora2008 / pdf255 / 2,1англ.
Статус, комент: Скачать
5.Enterprise JavaBeans 3.1. Andrew Lee Rubinger, Bill Burke2010 / pdf 738 / 3,91 англ.
Статус, комент: Скачать
6.Beginning EJB 3 Application Development: From Novice to Professional. Raghu R. Kodali and Jonathan Wetherbee with Peter Zadrozny2006 / pdf481 / 6,4англ.
Статус, комент: Скачать

JSF - Java Server Faces, Seam, RichFaces, Facelets, ICEfaces, Apache MyFaces

№ п/п Обложка Автор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Java Server Faces in Action. Kito D. Mann2005 / pdf1038 / 8,44англ.
Статус, комент: Скачать
2.Core Java Server faces / David Geary, Cay Horstmann.—2nd ed.2007 / pdf
2007 / chm
723 / 9,27 or 12,6англ.
Статус, комент: Прочитано. Одна и та же книга в двух разных форматах: Скачать pdf Скачать chm
3.Beginning JSF 2 APIs and JBoss Seam. Kent Ka Iok Tong2009 / pdf298 / 5,3англ.
Статус, комент: Эту книжку я бегло прочитала. Там есть глава про Seam, а так же про Ajax - небольшое описание фреймворка RichFaces. Мне понравилась глава про интернационализацию. По крайней мере в моем списке, это единственная книга, в которой описывается новая версия JSF, т.е. 2. Скачать
4.Practical RichFaces. Max Katz2008 / pdf245 / 2,47англ.
Статус, комент: Прочитано. Из двух, которые есть про RichFaces, эта лучшая. Скачать
5.Seam framework: experience the evolution of Java EE. Michael Juntao Yuan, Jacob Orshalick, Thomas Heute. 2nd ed.2009 / pdf473 / 8,03англ.
Статус, комент: Скачать
6.Seam in Action. Dan Allen2009 / pdf589 / 7,49англ.
Статус, комент: С. 44 Скачать
7.Practical JBoss Seam Projects. Jim Farley2007 / pdf229 / 2,33англ.
Статус, комент: С. 55 Скачать
8.JBoss RichFaces 3.3. Enhance your JSF web applications using powerful AJAX components. Demetrio Filocamo2009 / pdf299 / 2,56англ.
Статус, комент: Прочитано. Скачать
9. ICEfaces 1.8: Next Generation Enterprise Web Development. Build Web 2.0 Applications using Ajax Push, JSF, Facelets, Spring, and JPA. Rainer Eschen 2009 / pdf272 / 2,56англ.
Статус, комент: Скачать
10.Facelets Essentials: Guide to Java Server Faces View Definition Framework. Bruno Aranda, Zubin Wadia 2008 / pdf83 / 1англ.
Статус, комент: Читаю стр.60 Скачать
11.The Definitive Guide to Apache MyFaces and Facelets. Zubin Wadia, Martin Marinschek, Hazem Saleh, and Dennis Byrne2008 / pdf319 / 1,7англ.
Статус, комент: Скачать
12.Apache MyFaces Trinidad 1.2. A Practical Guide. Develop JSF web applications with Trinidad and Seam. David Thomas 2009 / pdf275 / 1,7англ.
Статус, комент: Скачать
13.JSF 1.2 Components. Develop advanced Ajax-enabled JSF applications. Ian Hlavats 2009 / pdf381 / 6,49англ.
Статус, комент: Это книга не про JSF. В книге описываются фреймворки для JSF: Apache Tomahawk, Trinidad, IceFaces, JBoss Seam, RichFaces, и глава про JSF 2.0. Скачать
14.Core JavaServer faces. David Geary, Cay Horstmann.—3rd ed.2010 / pdf636 / 9,3англ.
Статус, комент: Скачать
15. JavaServer Faces 2.0: The Complete Reference. Ed Burns, Chris Schalk with Neil Griffin2010 / pdf722 / 4,88англ.
Статус, комент: Скачать
16. JSF 2.0 Cookbook. Over 100 simple but incredibly effective recipes for taking control of your JSF applications. Anghel Leonard2010 / pdf382 / 3,04англ.
Статус, комент: Скачать
17.Essential JSF, Facelets & JBoss Seam. Kent Ka Iok Tong2008 / pdf279 / 4,47англ.
Статус, комент: This book covers JSF 1.2 (reference implementation), Facelets 1.2, JBoss Seam 2.0, JBoss RichFaces 3.1, JBoss IDE Tools 2.0, Eclipse Europa for Java EE. Скачать

Portal, Portlet

№ п/п Обложка Автор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Practical Liferay Java-based Portal Applications Development. Poornachandra Sarang, Ph.D.2009 / pdf354 / 9,42англ.
Статус, комент: Скачать
2.Liferay Portal 5.2 Systems Development. Build Java-based custom intranet systems on top of Liferay portal. Jonas X. Yuan2009 / pdf528 / 6,99англ.
Статус, комент: Скачать
3.JBoss Portal Server Development. Create dynamic, feature-rich, and robust enterprise portal applications. Ramanujam Rao2009 / pdf257 / 8,87англ.
Статус, комент: Скачать
4.Liferay Portal Enterprise Intranets. A practical guide to building a complete corporate intranet with Liferay. Jonas X. Yuan2008 / pdf386 / 7,42англ.
Статус, комент: Скачать
5.Liferay Portal 6 Enterprise Intranets. Build and maintain impressive corporate intranets with Liferay. Jonas X. Yuan 2010 / pdf 663 / 7,97англ.
Статус, комент: Скачать

Hibernate

№ п/п Обложка Автор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Christian Bauer, Gavin King - Hibernate In Action2005 / pdf431 / 11,9англ.
Статус, комент: Скачать
2.нет обложкиСайт Hibernate на русском языке* / ** / 2,56рус.
Статус, комент: Форум, статьи и т.д. о Hibernate. Скачать
3.Christian Bauer, Gavin King Java Persistence with Hibernate. Revised edition of Hibernate In Action2007 / pdf880 / 6,69англ.
Статус, комент: Новое издание книги "Hibernate In Action", лучше начинать изучение Hibernate сразу с этой. Так же к этой книге есть отдельно коды. Читаю с 105. Скачать
4.Beginning Hibernate From Novice to Professional. Dave Minter, Jeff Linwood2006 / pdf359 / 7,95англ.
Статус, комент: Читаю с. 24. Скачать с кодами
5.Hibernate Quickly. Patrick Peak, Nick Heudecker2006 / pdf 425 / 2,74англ.
Статус, комент: Скачать
6.Hibernate Recipes: A Problem-Solution Approach. Srinivas Guruzu, Gary Mak2010 / pdf 285 / 2,5англ.
Статус, комент: include Hibernate 3.5 Скачать

Spring

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Craig Walls. Spring in action. Third edition2011 / pdf400 / 4,81англ.
Статус, комент: Версия Spring 3.0 Скачать
2.Spring in Action, Second Edition, Craig Walls with Ryan Breidenbach2007 / pdf730 / 7,39англ.
Статус, комент: Читаю стр. 285, прочитано 441-450 Скачать
3.AspectJ in Action. Second Edition. Enterprise AOP with Spring Applications. Ramnivas Laddad2009 / pdf519 / 3,4 англ.
Статус, комент: Читаю стр. 48. Скачать
4.Spring Persistence with Hibernate. Ahmad Seddighi2009 / pdf441 / 4,49 англ.
Статус, комент: Читаю стр. 370. Скачать с кодами
5.Pro Spring 3. Clarence Ho, Rob Harrop2012 / epub944 / 16,01англ.
Статус, комент: Скачать
6.Pro Spring 2.5. Jan Machacek, Aleksa Vukotic, Anirvan Chakraborty, and Jessica Ditt2008 / pdf890 / 7,32англ.
Статус, комент: Читаю стр 186, 369. В книге есть глава о Spring Web Flow, Spring and AJAX, JMX with Spring, Unit Testing. Скачать
7.Expert Spring MVC and Web Flow. Seth Ladd, Darren Davison, Steven Devijver, and Colin Yates2006 / pdf404 / 4,43англ.
Статус, комент: Читаю с.96 Скачать
8.Spring Data. Modern Data Access for Enterprise Java. Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, Michael Hunger2012 / pdf288 / 10,96англ.
Статус, комент: Скачать
9.Spring Recipes. A Problem-Solution Approach. Second Edition. Gary Mak, Josh Long, Daniel Rubio2010 / pdf1059 / 6,86 англ.
Статус, комент: Скачать
10.Spring 2.5 Aspect-Oriented Programming. Create dynamic, feature-rich, and robust enterprise applications using the Spring framework. Massimiliano Dessi2009 / pdf312 / 5,54 англ.
Статус, комент: Чтоб читать эту книгу нужно иметь представление о Spring, а желательно знать его:) Скачать
11.Spring Integration in Action. Mark Fisher, Jonas Partner, Marius Bogoevici, Iwein Fuld2012 / pdf335 / 15 англ.
Статус, комент: Скачать
12.Spring Security 3.1. Secure your web applications from hackers with this step-by-step guide. Robert Winch, Peter Mularien2012 / pdf429 / 5,93 англ.
Статус, комент: Скачать
13. Spring Web Flow 2 Web Development. Master Spring's well-designed web frameworks to develop powerful web applications. Sven Lüppken, Markus Stäuble2009 / pdf254 / 2,49 англ.
Статус, комент: Авторы немцы, интересно что они понаписали:) Скачать

Struts

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Ian Roughley Starting Struts22006 / pdf122 / 1,11англ.
Статус, комент: Скачать
2.Jakarta Struts Cookbook. Bill Siggelkow2005 / chm526 / 2,31англ.
Статус, комент: Скачать
3.Jakarta Struts For Dummies. Mike Robinson and Ellen Finkelstein2004 / pdf392 / 3,13англ.
Статус, комент: Скачать
4.Struts2 in action. Donald Brown, Chad Michael Davis. Meap - unedited draft2007 / pdf176 / 1,54англ.
Статус, комент: Скачать
5.Practical Apache Struts2 Web 2.0 Projects. Ian Roughley2007 / pdf338 / 5,24англ.
Статус, комент: Скачать

UML

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Фаулер М. Скотт К. UML Основы 2000 / djvu192 / 962 кбрус., пер. с англ.
Статус, комент: Прочитана. Скачать
2.нет обложкиUML. Руководство пользователя. Г.Буч, Дж.Рамбо, А.Джекобсон* / djvu257 / 4,11рус., пер. с англ.
Статус, комент: Скачать

Servers: JBoss

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.JBoss AS 5 Development. Develop, deploy, and secure Java applications on this robust, open source application server. Francesco Marchioni 2009 / pdf 397 / 5,11англ.
Статус, комент: Скачать
2.JBoss in Action. Javid Jamae, Peter Johnson2009 / pdf464 / 6,94англ.
Статус, комент: Скачать

Eclipse

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.нет обложкиС.А. Казарин, А.П. Клишин Среда разработки Java-приложений Eclipse 2008 / pdf77 / 1,25рус.
Статус, комент: Прочитана. В начале описывается как устанавливать и пользоваться средой разработки Java-приложений Eclipse, потом идут простенькие и понятные примеры Java-программ с объяснениями. Скачать
а где-то здесь http://habrahabr.ru есть видео как пользоваться Eclipse, весит почти 190 мб.
2.Berthold Daum Professional Eclipse 3 for Java Developers2004 / pdf602 / 4,24 англ.
Статус, комент: Книга о том как пользоваться Эклипсом, жалко только что на англ. Скачать
3.Eclipse for DUMMIES, Barry Burd2005 / pdf346 / 6,3англ.
Статус, комент: Скачать

HTML, CSS, JavaScript, Ext JS

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Андрей Калиновский. Ваша домашняя страничка в Интернете. Homepage, или Просто хомяк2005 / pdf225 / 27,7рус.
Статус, комент: Прочитано, не самая лучшая книжка по html, только для тех кто уже знаком с html. Скачать
2.нет обложкиУчебник HTML* / chm* / 129 кбрус.
Статус, комент: Прочитано, удобная книжка. Скачать
3.нет обложкиDHTML и CSS для INTERNET. Дж.К. Тиге. 3-е издание2004 / djvu520 / 5,77рус.
Статус, комент: Читаю с.90. Скачать
4.CSS. Каскадные таблицы стилей. Подробное руководство. 3-е издание. Эрик Мейер2006 / djvu576 / 6,47 рус., пер. с англ.
Статус, комент: Скачать
5.Learning Ext JS. Build dynamic, desktop-style user interfaces for your data-driven web applications. Shea Frederick, Colin Ramsay, Steve 'Cutter' Blades2008 / pdf299 / 4,57 англ.
Статус, комент: Скачать
6.Ext JS in Action. Jesus Garcia. MEAP Edition Manning Early Access Program2009 / pdf255 / 8,17 англ.
Статус, комент: 4 раздела, 10 глава последняя Скачать
7.Learning jQuery 1.3. Jonathan Chaffer, Karl Swedberg2009 / pdf421 / 6,16 англ.
Статус, комент: Скачать

Другое

№ п/п ОбложкаАвтор и название книги Год выпуска / формат Cтраниц / размер, мбЯзык
1.Чарльз Петцольд - К.О.Д.2000 / pdf512 / 2,48рус., пер. с англ.
Статус, комент: Прочитана. Скачать
2.Линн Бейли. Изучаем SQL2012 / pdf592 / 15,4рус., пер. с англ.
Статус, комент: Хорошая книжка по SQL, для тех кто совсем не знает, и полезна для систематизации знаний, для тех кто знает SQL не глубоко. Скачать
3. JasperReports 3.5 for Java Developers. David R. Heffelfinger 2009 / pdf353 / 11,4англ.
Статус, комент: Скачать
4.В.В. Мухортов, В.Ю. Рылов - Объектно-Ориентированное Программирование, Анализ и Дизайн2002 / pdf108 / 812 кбрус.
Статус, комент: Основные понятия UML оч хорошо написаны, но не полностью UML. В целом, книга особого интереса не представляет.
Скачать
5. Г. Лакман Макдауэлл. Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию. Gayle Laakmann McDowell2008 / pdf416 / 101рус., пер. с англ.
Статус, комент: Скачать
6. Java Power Tools. John Ferguson Smart2008 / chm910 / 24,3англ.
Статус, комент: Скачать
7. JUnit in Action. Second edition. Petar Tahchiev, Felipe Leme, Vincent Massol, Gary Gregory2010 / pdf467 / 8,36англ.
Статус, комент: Скачать
8. JasperReports 3.6 Development Cookbook. Bilal Siddiqui2010 / pdf383 / 14,4англ.
Статус, комент: Вместе с кодами. Скачать
9. Lucene in Action. Second Edition. Michael McCandless, Erik Hatcher, Otis Gospodnetic2010 / pdf488 / 11,9англ.
Статус, комент: Covers Apache Lucene 3.0. Скачать
наверх

Другие разделы:

Tomcat: Как посмотреть war файл в tomcat.

Для этого необходимо установить JVM (java virtual machine), если она еще не установлена, при установке ничего не надо менять (только директорию, если хотите установить в другом месте), жмем везде ОК. Далее скачиваем tomcat, устанавливаем, если JVM была предварительно установлена, tomcat при установке автоматически пишет его директорию, если директорию вдруг указывает неправильно естественно меняем на правильную, в общем везде жмем ОК. Не помню где именно, tomcat предлагает ввести пароль, пользователь admin, пароль придумайте сами, но лучше запомнить:))) Если забыли, его можно будет впоследствии посмотреть здесь: C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf \tomcat-users. Если на рабочем столе нет ярлыка, значит запускаем tomcat из пуска – программы – Apache Tomcat 6.0 (это у меня установлена такая версия) – Monitor tomcat. В правом нижнем углу появится трей, правой кнопкой мыши – Start Service, если tomcat успешно запустился трей станет зелененьким. Далее открываем браузер, набираем в адресной строке http://localhost:8080/manager/html - порт 8080 у всех, если при установке вы его не меняли. Вот здесь Вам и понадобится имя пользователя (в нашем случае admin) и пароль. На открывшейся страничке ищем WAR file to deploy - Select WAR file to upload – обзор (выбираем war файл) – жмем Deploy. В разделе Applications появится название вашего war файла. Теперь можно запускать файлик. На этом все.

06.10.2008
наверх

Как написать сервлет, который будет соединяться с базой данный через JDBC и выводить данные из таблицы на консоль. Как правильно настроить DataSource.

Проект создан с помощью: Apache tomcat v6.0, MySQL 5, Eclipse Platform Version: 3.3.2. Коннектор не забудьте - mysql-connector-java-5.0.8-bin.jar. У меня он лежит здесь: C:\Program Files\Java\jre1.6.0_05\lib\ext. Ах да, и саму джаву не забудьте: jdk1.6.0_05. Предполагается что все программы уже установлены.

Шаг №1. Создать базу данных с названием «1» в MySQL 5, затем таблицу tab2.Таблица выглядит так:
numbername
1Lena
2Irina


Шаг №2. В среде разработки Eclipse Platform Version: 3.3.2 создаем проект: file-new- project-dynamic web project- project name “3”-ok. На проекте правой кнопкой мышки – new - package pak4. На папке pak4 правой кнопкой мышки – new – class “Serv5”.

Serv5.java
 package pak4; import javax.servlet.*; import javax.servlet.http.*; import javax.sql.DataSource; import javax.naming.*; import java.io.*; import java.sql.*; /** * http://www.poister-kazan.narod.ru/java.html * DataSource */ public class Serv5 extends HttpServlet implements javax.servlet.Servlet { public Serv5() { super(); } DataSource pool; public void init() throws ServletException { Context env = null; try { env = (Context) new InitialContext().lookup("java:/comp/env"); pool = (DataSource) env.lookup("6"); if (pool == null) throw new ServletException("'6' is an unknown DataSource"); } catch (NamingException ne) { throw new ServletException(ne.getMessage()); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sql = "select * from tab2 "; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = pool.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { String colVal = rs.getString("number"); String colVal2 = rs.getString("name"); System.out.println(colVal + "| " + colVal2); } } catch (Exception e) { throw new ServletException(e.getMessage()); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException sqle) { } } } }
Если в сервлете красные линии возможно нет нужной библиотеки: На проекте (“3”) жмем правой кнопкой мышки – properties – java build path – libraries – add library – server runtime – apache tomcat v6.0 – ok. А вообще эту библиотеку можно сразу при создании проекта установить.

Шаг №3. Нужно открыть следующий файл в нашем проекте: WebContent – WEB-INF – web.xml


итого данный web.xml будет выглядеть так:

Сохраним изменения, нажав на соответствующую пиктограмму.

Шаг №4.Открываем файл – server.xml: Project explorer – Servers – Tomcat v6.0 server at localhost-config – server.xml (код приводится частично, там много комментариев в начале).


Шаг №5. Запускаем проект: правой кнопкой мыши на проекте ("3") run as - run on server.Должно выйти как рисунке:



PS. Цифры использованы в данном проекте исключительно в целях наглядности, так называть не надо, давайте человеческие названия в соответствии Java naming conventions
Архив проекта можно скачать с 3 data sourse.rar

29.10.2008
наверх

Как отправить коллекцию из сервлета на страницу JSP (использование цикла for each)


От вышеприведенного примера в таком виде мало толка, поэтому отправим коллекцию на страницу jsp, не выводя результаты на консоль. Необходимы 2 библиотеки, которые можно свободно скачать в интернете: jstl.jar and standard.jar

Шаг №1. DBServlet.java.
 package paket; import javax.servlet.*; import javax.servlet.http.*; import javax.sql.DataSource; import javax.naming.*; import java.io.*; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * http://www.poister-kazan.narod.ru/java.html * To send a collection in JSP */ public class DBServlet extends HttpServlet implements javax.servlet.Servlet { public DBServlet() { super(); } DataSource pool; public void init() throws ServletException { Context env = null; try { env = (Context) new InitialContext().lookup("java:/comp/env"); pool = (DataSource) env.lookup("6"); if (pool == null) throw new ServletException("'6' is an unknown DataSource"); } catch (NamingException ne) { throw new ServletException(ne.getMessage()); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sql = "select * from tab2 "; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = pool.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); List "Bean1" someList = new ArrayList"Bean1"(); while (rs.next()) { Bean1 bean = new Bean1(); bean.setSomeString(rs.getString("name")); bean.setSomeLong(rs.getString("age")); someList.add(bean); } request.setAttribute("someList", someList); RequestDispatcher rd = request.getRequestDispatcher("ind1.jsp"); rd.forward(request, response); } catch (Exception e) { throw new ServletException(e.getMessage()); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException sqle) { } } } } в этой строке List "Bean1" someList = new ArrayList"Bean1"(); вместо кавычек надо писать угловые скобки. 

Шаг №2. Bean1.java
 package paket; /** * http://www.poister-kazan.narod.ru/java.html */ public class Bean1 { private String someString = null; private String someLong = null; public Bean1() { } public String getSomeString() { return someString; } public void setSomeString(String someString) { this.someString = someString; } public String getSomeLong() { return someLong; } public void setSomeLong(String someLong) { this.someLong = someLong; } } 


Шаг №3. ind1.jsp



Внимание: в старых книжках JSTL (JSP Standard Tag Library) объявляют так: taglib uri="http://java.sun.com/jstl/core" prefix="c" (спецификация 2.3), а надо вот так: taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" (спецификация 2.4), иначе будет вот такая ошибка "According to TLD or attribute directive in tag file, attribute items does not accept any expressions"

Архив проекта можно скачать с TestDB jsp.rar (проект может немного отличаться названиями и т.д., но суть та же)

20.11.2008
наверх

А теперь переделаем предыдущий проект с использованием Hibernate - XML

Библиотеки нужные для Hibernate:
 antlr.jar asm.jar asm-attrs.jar c3p0.jar cglib.jar commons-collections.jar commons-logging.jar dom4j.jar hibernate3.jar hsqldb.jar jta.jar 
Структура проекта будет такая, рисунок конечно у меня не очень получился, но что есть уж:)

Шаг №1. Date1.java
 package pak4; 
/**
 * http://www.poister-kazan.narod.ru/java.html 
*/ 
public class Date1 { 
private Long id; 
private String name; 
private int age; 

public Date1() { 
}

public void setId(Long id) { 
this.id = id; 
}

 public Long getId() { 
return id; 
}
 
public String getName() { 
return name; 
} 

public void setName(String name) { 
this.name = name; 
} 

public int getAge() { 
return age; 
} 

public void setAge(int age) { 
this.age = age; 
} 
} 

Шаг №2. ДАО - Data access object. DateInterf.java and Date1Implem.java
 package pak4;
import java.sql.SQLException; 
import java.util.Collection; 
/** 
* http://www.poister-kazan.narod.ru/java.html 
*/ 
public interface DateInterf { 
public Collection getAllNames() throws SQLException; 
} 
package pak4; 
import java.sql.SQLException; 
import java.util.*; 
import org.hibernate.Session; 
import org.hibernate.Query; 
import pak4.Date1; 
import pak4.DateInterf; 
import pak4.HibernateUtil; 
/** 
* http://www.poister-kazan.narod.ru/java.html 
*/ 
public class Date1Implem implements DateInterf { 
public Collection getAllNames() throws SQLException { 
Session session = null; 
List names = new ArrayList"Date1"(); 
try { 
session = HibernateUtil.getSessionFactory().openSession(); 
names = session.createCriteria(Date1.class).list(); 
} catch (Exception e) { 
throw new Exception(e.getMessage()); 
} finally { 
if (session != null && session.isOpen()) {
 session.close(); 
} 
} 
return names; 
} 
} 
List names = new ArrayList"Date1"(); - угловые скобки вместо кавычек использовать. 

Шаг №3. Factory.java
 package pak4; import pak4.Date1Implem; import pak4.DateInterf; import pak4.Factory; /** * http://www.poister-kazan.narod.ru/java.html */ public class Factory { private static DateInterf dateInterf = null; private static Factory instance = null; public static synchronized Factory getInstance() { if (instance == null) { instance = new Factory(); } return instance; } public DateInterf getDateInterf() { if (dateInterf == null) { dateInterf = new Date1Implem(); } return dateInterf; } } 

Шаг №4. Этот класс взят с официального сайта Hidernate. Для всех проектов он будет одинаков (xml), если с помощью аннотаций, то чуть-чуть другой класс, пример с аннотациями будет дальше.

HibernateUtil.java
 package pak4; import org.hibernate.cfg.Configuration; import org.hibernate.SessionFactory; /** * http://www.poister-kazan.narod.ru/java.html */ public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { sessionFactory = new Configuration().configure() .buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } } 

Шаг №5. Создаем mapping, xml файл. Файл назовем Date1.hbm.xml, в Eclipse нужно выбрать xml и просто в название добавить hbm.
property name - название столбца взято из таблицы и поля также называются, и тип данных.

Шаг №6. По умолчанию конфигурационный файл называют hibernate.cfg.xml, если вы назвали по-другому, то в метод configure() нужно передать название как аргумент. Данный файл нужно положить вне папок с классами, иначе будет ошибка: hibernate.cfg.xml is not found, внимательно смотрите рисунок как выглядит структура проекта.

datasourse полностью писать туда не надо, мы его уже настроили, просто пишем название. Show_sql со значением true будет выводить на консоль hibernate sql, для новичков полезно:) Далее пишем диалект для той базы, которую используем. Это минимальные настройки, которые необходимы, чтоб запустить наш проект.

Список диалектов для баз:
 DB2/390 - DB2390Dialect DB2/400 - DB2400Dialect DB2 - DB2Dialect Derby - DerbyDialect Firebird - FirebirdDialect FrontBase - FrontBaseDialect HSQLDB - HSQLDialect Informix - InformixDialect Ingres - IngresDialect InterBase - InterbaseDialect JDataStore - JDataStoreDialect Mimer SQL - MimerSQLDialect Mckoi - MckoiDialect MySQL 5 - MySQL5Dialect MySQL (меньше 5.x) - MySQLDialect MySQL with InnoDB tables - MySQLInnoDBDialect MySQL with MyISAM tables - MySQLMyISAMDialect Oracle9i - Oracle9Dialect Oracle9i (DataDirect drivers) - DataDirectOracle9Dialect Oracle (меньше 9.x) - OracleDialect PointBase - PointbaseDialect PostgreSQL - PostgreSQLDialect Progress - ProgressDialect RDMS for Unisys OS2200 - RDMSOS2200Dialect SAP DB - SAPDBDialect SQL Server - SQLServerDialect Sybase - SybaseDialect Sybase 11 - Sybase11Dialect Sybase Anywhere - SybaseAnywhereDialect Times Ten 5.1 - TimesTenDialect 

Шаг №7. Сервлет - Serv5.java
 package pak4; import javax.servlet.*; import javax.servlet.http.*; import pak4.Date1; import pak4.Factory; import java.io.*; import java.util.*; /** * http://www.poister-kazan.narod.ru/java.html */ public class Serv5 extends HttpServlet implements javax.servlet.Servlet { public Serv5() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Collection names = Factory.getInstance().getDateInterf() .getAllNames(); request.setAttribute("names", names); RequestDispatcher rd = request.getRequestDispatcher("Index1.jsp"); rd.forward(request, response); } catch (Exception e) { throw new ServletException(e.getMessage()); } } } 
Ну все на этом:) Заметьте у нас в сервлете исчез полностью блок, сами найдите, посмотрев предыдущие проекты. JSP странички не привожу, мы их уже писали. Архив проекта можно скачать 3 hibernate jsp.rar

10.12.2008
наверх

Refactoring

А теперь перейдем к весьма важной части - refactoring. Переименуем все классы и переменные, чтоб красиво все было. На названии класса щелкаем, выбираем refactor - rename (пишу на память, могу ошибаться) и пишем новое имя, соответственно все зависимости тож поменяются, но на самом деле не все, ну либо я не умею:) Привожу измененные классы.

Структура проекта:



Шаг №1. Date.java
 package store; /** * http://www.poister-kazan.narod.ru/java.html */ public class Date { private Long id; private String name; private int age; public Date() { } public void setId(Long id) { this.id = id; } public Long getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 

Шаг №2. DAO - DateDAO.java and DateDAOImpl.java
 package store; /** * http://www.poister-kazan.narod.ru/java.html */ import java.sql.SQLException; import java.util.Collection; public interface DateDAO { public Collection getAllDates() throws SQLException; } package store; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.hibernate.Session; import store.Date; import store.DateDAO; import util.HibernateUtil; /** * http://www.poister-kazan.narod.ru/java.html */ public class DateDAOImpl implements DateDAO { public Collection getAllDates() throws SQLException { Session session = null; List dates = new ArrayList"Date"(); try { session = HibernateUtil.getSessionFactory().openSession(); dates = session.createCriteria(Date.class).list(); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { if (session != null && session.isOpen()) { session.close(); } } return dates; } } List dates = new ArrayList"Date"(); - использовать угловые скобки вместо кавычек. 

Шаг №3. Factory.java
 package store; import store.DateDAO; import store.DateDAOImpl; import store.Factory; /** * http://www.poister-kazan.narod.ru/java.html */ public class Factory { private static DateDAO dateDAO = null; private static Factory instance = null; public static synchronized Factory getInstance() { if (instance == null) { instance = new Factory(); } return instance; } public DateDAO getDateDAO() { if (dateDAO == null) { dateDAO = new DateDAOImpl(); } return dateDAO; } } 

Шаг №4. HibernateUtil.java
 package util; import org.hibernate.cfg.Configuration; import org.hibernate.SessionFactory; /** * http://www.poister-kazan.narod.ru/java.html */ public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { sessionFactory = new Configuration().configure() .buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } } 

Шаг №5. Date.hbm.xml


Шаг №6. hibernate.cfg.xml


Шаг №7. web.xml


Шаг №8. Servlet.java
 package store; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.Collection; import store.Factory; /** * http://www.poister-kazan.narod.ru/java.html */ public class Servlet extends HttpServlet implements javax.servlet.Servlet { public Servlet() { super(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Collection allDates = Factory.getInstance().getDateDAO() .getAllDates(); request.setAttribute("allDates", allDates); RequestDispatcher rd = request.getRequestDispatcher("results.jspx"); rd.forward(request, response); } catch (Exception e) { throw new ServletException(e.getMessage()); } } } 

Шаг №9. Теперь приведем наши странички jsp в соответствии с XML, т.е. расширение будет jspx, про XML подробнее Вам расскажет гугл, я же просто привожу код:)

index.jspx


results.jspx


На этом все, и не забудьте проверить файл server.xml, вдруг там старые данные. Архив проекта можно скачать WebStore.zip

12.12.2008
наверх


Проект Hibernate с помощью аннотаций - annotation


Структура проекта:


Шаг №1. Dates.java
 package annotation; import java.sql.Date; import javax.persistence.*; /** * http://www.poister-kazan.narod.ru/java.html */ @Entity @Table(name = "tab2") public class Dates { @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "typep") private String typep; @Column(name = "subtype") private String subtype; @Column(name = "summa") private double summa; @Column(name = "comments") private String comments; @Column(name = "date_time") private Date date_time; public Dates() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTypep() { return typep; } public void setTypep(String typep) { this.typep = typep; } public String getSubtype() { return subtype; } public void setSubtype(String subtype) { this.subtype = subtype; } public double getSumma() { return summa; } public void setSumma(double summa) { this.summa = summa; } public String getComments() { return comments; } public void setComments(String comments) { this.comments = comments; } public Date getDate_time() { return date_time; } public void setDate_time(Date date_time) { this.date_time = date_time; } } 

Шаг №2. DateDAO.java and DateDAOImpl.java
 package annotation; import java.sql.SQLException; import java.util.Collection; /** * http://www.poister-kazan.narod.ru/java.html */ public interface DateDAO { public Collection getAllDates() throws SQLException; } DateDAOImpl.java package annotation; import java.sql.SQLException; import java.util.*; import org.hibernate.Session; import util.HibernateUtil; import annotation.Dates; import annotation.DateDAO; public class DateDAOImpl implements DateDAO { // The method gets all dates public Collection getAllDates() throws SQLException { Session session = null; List dates = new ArrayList"Dates"(); try { session = HibernateUtil.getSessionFactory().openSession(); dates = session.createCriteria(Dates.class).list(); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { if (session != null && session.isOpen()) { session.close(); } } return dates; } } 

Шаг №3. Factory.java
 package annotation; import annotation.DateDAO; /** * http://www.poister-kazan.narod.ru/java.html */ public class Factory { private static DateDAO dateDAO = null; private static Factory instance = null; public static synchronized Factory getInstance() { if (instance == null) { instance = new Factory(); } return instance; } public DateDAO getDateDAO() { if (dateDAO == null) { dateDAO = new DateDAOImpl(); } return dateDAO; } } 

Шаг №4. HibernateUtil.java
 package util; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.SessionFactory; /** * http://www.poister-kazan.narod.ru/java.html */ public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { sessionFactory = new AnnotationConfiguration().configure() .buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } } Отличие от примера с xml в строчке sessionFactory =

Шаг №5. hibernate.cfg.xml


Шаг №6. Servlet.java
 package annotation; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.Collection; import annotation.Factory; /** * http://www.poister-kazan.narod.ru/java.html */ public class Servlet extends HttpServlet implements javax.servlet.Servlet { public Servlet() { super(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Collection allDates = Factory.getInstance().getDateDAO() .getAllDates(); request.setAttribute("allDates", allDates); RequestDispatcher rd = request .getRequestDispatcher("allDates.jspx"); rd.forward(request, response); } catch (Exception e) { throw new ServletException(e.getMessage()); } } } 
На этом все. Страницы jspx не изменились и я их не привожу. Архив проекта скачать
18.12.2008
наверх


Как перенести приложение Hibernate с Tomcat-а 6.0 на JBoss 5.1 (продолжение предыдущих статей)


В рамках сервера Tomcat нам стало тесно, и теперь перейдем на другой сервер - JBoss:) Начнем с установки JBoss (все написанное относится к OS Windows):

1. Предварительно у вас должна быть установлена JVM. Переменная окружения: JAVA_HOME и ее значение: C:\Program Files\Java\jdk1.6.0_14
2. Скачиваем zip-архив, распаковываем его в любую папку, в пути этой папки не должны содержаться пробелы, т.е. стандартная папка C:\Program Files для установки программ в данном случае не подходит, лучше так: C:\jboss.
3. Устанавливаем переменную окружения: JBOSS_HOME и ее значение: C:\jboss
4. Далее в этой папке C:\jboss\bin находим файл run.bat и запускаем его двумя кликами мыши.
5. Если все сделано правильно, то много-много букавок вам напишет JBoss и в конце фраза, что стартовал в течении такого-то времени. Пока командная строка открыта, сервер запущен, сервер будет оставлен, если закрыть это окошечко. JBoss можно сделать в виде сервиса, кому интересно это написано в книге JBoss in action (см. раздел книги - ejb)
6. Переходим в eclipse, в наш проект, и добавляем в папку WEB-INF файл jboss-web.xml со следующим содержанием:



7. Теперь нам нужно создать DataSource. В папке: C:\jboss\server\default\deploy создаем файл с названием mysql-ds.xml или копируем отсюда: C:\jboss\docs\examples\jca и просто редактируем этот файлик.


8. В данном случае наш сервер стартовал с дефолтными настройками, т.е. по адресу: http://localhost:8080, все проекты надо ложить сюда: C:\jboss\server\default\deploy, прежде чем положить наш новый проект сделаем заново из него war файл, т.к. у нас новый файл добавился. Ну вот теперь приложение должно работать:)
9. Ваше приложение работает только локально, т.е. удаленный доступ отсутствует, для того чтоб был доступ извне нужно стартовать с такой настройкой: C:\jboss\bin\run.bat -b 0.0.0.0
На этом все.
наверх

Spring: таблица jar-файлов с описанием - Spring JAR Files


JAR FileОписание
spring-aop.jarThis JAR contains all the classes you need to use Spring’s AOP features within your application. You also need to include this JAR in your application if you plan to use other features in Spring that use AOP, such as declarative transaction management
spring-beans.jarThis archive contains all of Spring’s dependency injection. It contains the bean factories and supporting classes. In most cases, you will need to add spring-context.jar, which contains code needed to build the application context
spring-context.jarThis JAR contains code needed to build the Spring application context; it packages the main ApplicationConext interface and its implementations together with code for instrumentation, JNDI, scheduling, themes, and validation
spring-context-support.jarThis package contains utility Spring code—this means caching, instrumentation, e-mail and scheduling support, and the very interesting scripting languages support
spring-core.jar This contains the core files of the Spring Framework: it deals with annotations, enumerations, task execution, resource loading, and other utilities and exceptions you may find useful even outside the context of the Spring Framework
spring-jdbc.jarThis package contains code for the JDBC support classes, namely the JdbcTemplate and JdbcDaoSupport classes
spring-jms.jarThis JAR contains code for JMS
spring-orm.jarThis archive contains the files needed for object-relational mapping (ORM) tools. Including this package on your classpath will give you Spring support for Hibernate 3, iBATIS, JDO, JPA, and TopLink
spring-test.jarThis package contains support code to write unit and integration tests using the Spring Framework. It supports the JUnit 3, JUnit 4, and TestNG testing frameworks. In addition, you can use classes from the org.springframework.mock package, which represent mock implementations of JNDI and web classes
spring-tx.jarThis one contains support for core data access exceptions and transaction technologies. These two areas are closely bound together, because the transactions generally work with some data access code
spring-web.jarThis JAR contains code for the Spring web application support (utilities, binders, multipart resolvers)
spring-webmvc-portlet.jarThis JAR contains code needed to build portlet-based (rather than servlet-based) web applications. If you have an application server that supports the Portlet API (JSR 168), you can use this package
spring-webmvc-struts.jarThis package contains code needed to use Spring with the Jakarta Struts Framework
spring-webmvc.jarThis package contains the Spring MVC code
наверх

Spring: таблица зависимостей


Dependency GroupJAR FileОписание
antant.jar, ant-junit.jar, ant-launcher.jarSpring uses Apache Ant as its build tool, ant-launcher.jar as well as for many tasks such as generating documentation and running tests. Ant is not used at all at runtime, so you do not need to include this JAR file in your distribution
aopallianceaopalliance.jarThe AOP Alliance (http://aopalliance.sourceforge.net/) is a combined, open source collaboration between many projects to provide a standard set of interfaces for AOP in Java. Spring’s AOP implementation is based on the standard AOP Alliance APIs. You only need this JAR file if you plan to use Spring’s AOP or AOP-based features
axis axis.jar, saaj.jar, wsdl4j.jarSpring uses the Apache Axis project to support the JAX-RPC capabilities in Spring remoting. You only need these files if you are using JAX-RPC remoting
cauchoburlap-2.1.7.jar, hessian-3.0.13.jarSpring remoting provides support for a wide variety of different protocols, including Caucho’s Burlap and Hessian. You only need the JARs in this group if you are using the corresponding protocols in your application
cglibcglib-full-2.0.2.jarCGLIB is used to generate dynamic proxy classes for use in both the core DI and AOP implementations. You almost always need to include CGLIB with your application, because it is used to implement a wide range of Spring’s functionality
coscos.jarCOS stands for com.oreilly.servlet, which is a collection of useful classes for working with servlets and web-based applications. Spring uses COS in two areas: for handling file uploads and sending e-mail. In both cases, COS is just an implementation choice, so you only need to include cos.jar if you choose to use COS over one of the other implementations
dom4j dom4j.jarYou must have dom4j when you are using Hibernate, so you need to include this JAR file if you plan to use Hibernate for ORM in your application
easymockeasymock.jar, easymockclassextension.jarEasyMock is used in the Spring test suite, so you only need to use this JAR for building and running the test suite; you do not need to distribute this with your application
freemakerfreemaker.jarSpring provides wrapper classes around the FreeMarker templating engine and also provides support for using FreeMarker templates as views for your web applications. This is required whenever you are using FreeMarker
hibernateehcache.jar, hibernate3.jar, odmg.jar These JAR files are required when you are using Spring’s Hibernate integration and support classes. If you are using a different ORM tool, such as iBATIS, you can leave these JARs out of your application. When you are using Hibernate, you must also include the CGLIB JAR file in your application
hsqldb hsqldb.jarThe hsqldb.jar file is used by the Spring sample applications
ibatis ibatis-common.jar, ibatis-sqlmap.jar, ibatis-sqlmap-2.jarThese files are required when you are using Spring’s iBATIS integration classes, but you can leave them out of your application if you are using JDBC or another ORM tool such as Hibernate or JDO
itextitext-1.3.1.jarSpring uses iText to provide PDF support in the web tier. Only include this JAR if your web applications need to generate PDF output
j2eeactivation.jar, connector-api.jar, ejb.jar, jaxrpc.jar, jdbc2_0-stdext.jar, jms.jar, jstl.jar, jta.jar, mail.jar, servlet.jar, xml-apis.jarAs you can see, there is a large array of different Java EE-related JAR files. You need the activation.jar and mail.jar files if you want to use the JavaMail implementation of Spring’s mail support. You need connector-api.jar to use the JCA connector for Hibernate, ejb.jar to use Spring’s EJB support, and jms.jar to use Spring’s JMS support. For web applications, you need servlet.jar, and you need jstl.jar if you want to use Spring’s JSTL support. The jaxrpc.jar file is required for JAX-RPC support in Spring remoting, and jta.jar is used for JTA transaction support. The remaining two jars, jdbc2_0-stdext.jar and xml-apis.jar, are needed for JDBC and XML configuration support, respectively—but only when you are using a version 1.3 JVM
jakartajakarta-commons commons-attributes-api.jar, commons-attributes-compiler.jar, commons-beanutils.jar, commons-collections.jar, commons-dbcp.jar, commons-digester.jar, commons-discovery.jar, commons-fileupload.jar, commons-lang.jar, commons-logging.jar, commons-pool.jar, commons-validator.jarMany of the components from the Jakarta Commons project are used by Spring. You need the commons-attribute-api.jar if you want to use source-level metadata in your application, plus you need the compiler JAR file to compile the attributes into your application. The beanutils, collections, digester, discovery, and validator JAR files are used by Struts, and Hibernate uses collections as well. dbcp is used by Spring’s JDBC support when you are using DBCP connection pools, and pooling is required by some of the sample applications fileupload is required if you want to use the corresponding Spring wrapper to handle file uploads in your web applications. Finally, logging is used throughout Spring, so you need to include it in every Spring-based application
jakarta-taglibsstandard.jarThis is the Jakarta JSTL implementation, and it is used by some of the Spring sample applications
jbossjboss-common-jdbc-wrapper.jarThis is required when you are using Spring’s JDBC classes in an application running on the JBoss application server
jdojdo.jarThis is required for Spring’s JDO support
jdomjdom.jarJDOM is required when you are using iBATIS 1.3 with Spring
jotmjotm.jar, xapool.jarThe jotm.jar file is required if you plan to use JOTM in conjunction with Spring’s transaction abstraction layer. You only need xapool.jar if you plan to use XAPool for connection pooling in your application
junitjunit.jarJUnit is not required at all at runtime; it is only used for building and running the test suite
log4j log4j-1.2.14.jarThis is required when you want to use Spring to configure log4j logging
poipoi-2.5.1.jarThis adds support for Microsoft Excel output to Spring’s MVC framework
quartzquartz.jarThis is used for Spring Quartz-based scheduling support
regexpjakarta-oro-2.0.7.jarThis is required when you are using regular expressions to specify point cuts in AOP
strutsstruts-1.1.jarThe Struts JAR is required whenever you want to use Struts in conjunction with Spring to build a web application
velocity velocity-1.4.jar, velocity-tools-generic-1.1.jarSpring provides wrapper classes around Velocity to make it DI enabled and to reduce the amount of code you need to write to use Velocity in your application. In addition to this, Spring provides classes to support the use of Velocity as the view provider in the web tier. If you are using any of these features, you need to include the Velocity JAR files in your distribution
xdocletxjavadoc-1.0.jarCommons Attributes uses this to parse your source code files and extract the attribute information. Include this JAR file if you are using Spring’s Commons Attributes support
наверх

Как использовать Spring и JSF вместе


Все классы будут находится в пакете test. Создадим класс-POJO
 package test; public class DVD { private String title; private Integer discs; 
далее геттеры и сеттеры
Интерфейс:
 public interface IDVDService { public String saveDVD(DVD dvd); } 
И его реализация:
 public class DVDService implements IDVDService { public String saveDVD(DVD dvd) { return "hello"; } } 
Контроллер:
 public class SaveDVDBean { private DVD dvd; private IDVDService service; и их геттеры и сеттеры public String save() { System.out.println(service.saveDVD(dvd)); return null; } 
Соответственно при работе нашего приложения на экране должно выводиться слово “hello”.
Теперь отредактируем файл web.xml

Добавим в папку WebContent- >WEB-INF файл faces-config.xml

И там же создадим файл applicationContext.xml

И страницу jsp создаем: spring.jspx

Готово, можно запускать
наверх

Interceptors - новая фишка в EJB 3.0, связанная с Aspect Oriented Programming (AOP)


Здесь будет описываться дефолтный Interceptor (перехватчик). Создайте файл ejb-jar.xml в следующей директории: ejbModule - META-INF - ejb-jar.xml

Далее создаем класс-перехватчик.
 public class Auditor { public Object audit (InvocationContext invocationContext) throws Exception { String name = invocationContext.getMethod().getName(); long startTime = System.nanoTime(); System.out.println ("Default interceptor. Starting method: " + name); try { return invocationContext.proceed(); } finally { long elapsedTime = System.nanoTime() - startTime; System.out.println("Finished method: " + name + " Method took " + elapsedTime + " nanoseconds to execute"); } } } 
Вы можете что угодно делать в этом классе до того как вызовется метод invocationContext.proceed(); Можно записывать логи в базу, файл и т.д. В данном случае, на консоль будет выводиться информация о том, какой метод был вызван, и сколько времени ушло на его обработку. В файле ejb-jar.xml ejb-name * /ejb-name (угловые скобки как всегда поедены) означает, что перехватчик по умолчанию применим ко всему EJB в текущем приложении. Так же можно сделать перехватчик только для класса: перед классом написать аннотацию @Interceptors(Auditor.class), в самом классе перед методом audit написать @AroundInvoke. Тогда перехватчик вызывается для методов этого класса. И 3 вариант: вызывать для конкретного метода, пишем аннотацию перед самим методом. Ну вперед, проверьте на деле новую фишку EJB 3.0!
наверх

Как использовать EJB 3.0 и JSF 1.2 вместе.


Начнем с EJB модуля.
 package lesson; import javax.persistence.*; @Entity public class Person implements java.io.Serializable { @Id @GeneratedValue private Integer id; private String name; далее геттеры и сеттеры package lesson; import javax.ejb.Local; @Local public interface HelloWorldLocal { public void createPerson (Person person); } package lesson; import javax.ejb.*; import javax.persistence.*; @Stateless public class HelloWorldBean implements HelloWorldLocal { @PersistenceContext(unitName = "persons_dates") private EntityManager manager; public void createPerson (Person person){ manager.persist(person); } }
Теперь WEB модуль
package servlets; import javax.ejb.*; import lesson.*; public class TestClient { @EJB private HelloWorldLocal hello; private Person person; и его геттеры и сеттеры public void result() { hello.createPerson(person); } }
Создадим файл faces-config.xml

И последний шаг: new.jsp

Все остальные файлы стандартные, поэтому не приводятся
наверх

Пример использования фреймворка Seam


В данном случае Seam используется для того чтоб «подружить» EJB 3.0 и JSF 1.2. Предустановленное ПО: JVM (1.6), JBoss (5.1), Eclipse (3.4.2), MySQL 5.1 – предполагается, что вы уже знаете как ими правильно пользоваться. Фреймворк Seam можно скачать с официального сайта, архив весит порядка 100 мб, но в данном примере использоваться будут только 4 библиотеки (так сказать необходимый минимум), которые будут в архиве проекта вместе с исходными кодами. Версия фреймворка 2.2.0.GA. Во всех подобных примерах предлагают воспользоваться плагином Seam в Eclipse, который генерит все нужные файлы, но меня такой путь не устраивает, а вдруг я хочу добавить фреймворк уже к существующему проекту, а вот здесь и ожидает засада, т.к. плагин делает много вещей, которые остаются за кадром, и нет понимания как оно все работает и где и что должно быть!

Создаем в Eclipse новый Enterprise Application Project, назовем его seam. В seam->EarContent будет лежать первая библиотека: jboss-seam.jar, остальные три: jboss-el, jsf-facelets, jboss-seam-ui (эта библиотека используется для валидации данных). В seam->EarContent->META-INF редактируем application.xml. В него нужно добавить следующие строчки:

В той же папке создаем файл jboss-app.xml:

Структура показана на рисунке.


В seamEJB -> Properties -> J2EE Module Dependencies отмечаем jboss-seam.jar

В seamEJB->ejbModule в папке lesson создаем класс Person:
 @Entity @Name("person") @Scope(ScopeType.SESSION) public class Person implements java.io.Serializable { @Id @GeneratedValue private Integer id; @NotNull @Length(min=5, max=15) //это и есть валидация данных private String name; далее геттеры и сеттеры. 
Интерфейс HelloWorldLocal стандартный, с одним методом, код не приводится поэтому. Реализация интерфейса:
 @Stateless @Name("register") //будьте внимательны, чтоб имена были уникальны. public class HelloWorldBean implements HelloWorldLocal { @In private Person person; @PersistenceContext(unitName = "persons_dates") private EntityManager manager; public String createPerson() { manager.persist(person); return "/registered.jsp"; } 
Так же в seamEJB->ejbModule создадим файл components.properties:
jndiPattern=seam/\#{ejbName}/local
embeddedEjb=false
и там же пустой файл seam.properties

В seamEJB->ejbModule-> META-INF исправляем файл ejb-jar.xml, этот файл пишется в том случае если используется ejb

Там же должен быть файл persistence.xml

В seamWeb->WebContent->WEB-INF создаем файл components.xml


В той же папке должен быть faces-config.xml, в нем следующие строчки:

И файл jboss-web.xml

Редактируем файл web.xml


Теперь веб-страницы: register.jsp

И страница registered.jsp

Проект готов, можно тестировать.

наверх

Facelets. Как писать пробелы для Facelets. А проблема в том, что он их поедает:)


Пример:
h:commandLink value="Link 1"
h:commandLink value="Link 2"
Получится следующее:
Link 1Link 2

Решение: 1. использовать EL expression, который вставляет пробел
h:commandLink value="Link 1"
#{' '}
h:commandLink value="Link 2"
Результат:
Link 1 Link 2

2. Связать пробел с одно-символьной переменной
factory name="_" value=" " scope="APPLICATION"
#{' '} == #{_}

На заметку: & n b s p; лучше не использовать для обозначения пробела. А мне Facelets вообще не позволяет писать такие символы:) Конечно угловые скобки не отображаются, но я думаю и так знаете, где их надо поставить:) Взято отсюда: http://www.redhat.com/f/pdf/jbw/dallen_940_best_kept_secrets.pdf
наверх

Eclipse: Комбинации клавиш. Сочетание клавиш. Назначение.


 Ctrl+N Создание нового объекта, при этом будет запущен список выбора мастеров Ctrl+M Свертывание, развертывание окон редакторов и представлений Ctrl+Shift+Пробел Подсказка в параметрах метода Ctrl+Shift+M Вставка Ctrl+F Простой поиск Ctrl+H Сложный поиск Ctrl+K Повторить последний поиск Ctrl+/ Комментировать одну строку кода, если выделить несколько строчек и нажать комбинацию выделенный фрагмент будет закомментирован. Ctrl+F6 Перебор редакторов. Следующий редактор Ctrl+F8 Перебор перспектив. Следующая перспектива Ctrl+F7 Перебор представлений. Следующее представление F12 Активировать редактор F3 Открывает объявление выделенного элемента Alt+- Показать системное меню Shift+Ctrl+F Форматирование кода Ctrl-Q Перейти к последнему окну (месту), где происходило редактирование, удобно после навигации по коду для возвращения назад в точку редактирования. Ctrl+Alt+H Открыть иерархию вызовов. Открывает окно с деревом вызовов метода, на котором стоял курсор. Удобно при анализе вызовов метода, поскольку становятся видны все места, с которых осуществляется его вызов. Ctrl-Shift-G Найти все ссылки в коде. Показывает все пакеты, классы и члены, где используется выбранный тип. Alt-Shift-R (в редакторе) Переименовать 
30.10.2008

Статья Горячие клавиши в Eclipse http://www.pleso.net/ru/publications/2008/03/24/eclipse-hotkeys/
Установка плагинов в Eclipse http://greycoder.blogspot.com/2008/01/eclipse.html
MyEclipse Hibernate Introduction Tutorial - здесь видео как пользоваться hibernate tools (выглядит все приблизительно, не один в один) http://www.myeclipseide.com/documentation/quickstarts/hibernateintroduction/

наверх

Полезные ссылки:


JAVA

Что нового появилось в Java SE 6 http://forum.vingrad.ru/articles/topic-191562.html


Собеседование по JAVA, вопросы, задачки, ответы

Ответы на вопросы для собеседования по Java SE (Часть 1) http://dr-magic.blogspot.com/2009/01/java-se-1.html

Мысли вслух и глупые программистские вопросы http://caphome.com/tag/java/


JAVA: Даты, работа с датами

Статья об инструментах для обработки дат http://www.ibm.com/developerworks/ru/edu/j-intermed/section7.html

Работа с датами в Java http://forum.vingrad.ru/articles/topic-157980.html

Работа с классом java.util.Date Статья здесь


JAVA: Регулярные выражения

Regexp-ы для java точь в точь как для php http://javatutor.net/articles/java-regexp-like-php

Регулярные выражения (Regular Expressions) в Java (regexp) http://javaportal.ru/java/articles/regexp.html


JAVA: Java Transaction API (JTA)

Доступ к внешним системам и механизм глобальных, транзакций на платформе J2EE http://forum.vingrad.ru/forum/topic-177144/anchor-entry1368040/0.html


JAVA: Java Message Service (JMS)

Введение в Java Message Service http://www.ibm.com/developerworks/ru/edu/j-jms/


Enterprise JavaBeans (EJB)

Отличный пример по EJB 3 http://www.quizful.net/post/ejb-eclipse-example

Пример EJB, работает точно:)) http://www.jairrillo.com/blog/2008/04/25/example-of-ejb3-session-bean-using-eclipse-europa-and-jboss/

Статья для начинающих - EJB http://www.ibm.com/developerworks/ru/edu/j-scea/section5.html

Начало работы с приложениями для Java EE http://www.netbeans.org/kb/60/javaee/ejb30_ru.html

Про то как создать и развернуть на сервере приложений JBoss простой message driven bean используя аннотации спецификации EJB 3 http://www.engine4business.ru/eclipse-jboss-mdb-ejb3-servlet-article-page1.html

Часть 11: EJB3 http://wiki.linuxformat.ru/index.php/LXF99:Java_EE_EJB3

Eclipse, БД Derby, JBoss для создания примера J2EE, содержащего JSP-страницы, сервлет и сессионный компонент http://www.ibm.com/developerworks/ru/library/os-ecl-wtp-i/

Статья про транзакции http://www.ibm.com/developerworks/ru/library/j-jtp0514/index.html

Миграция унаследованных приложений, использующих Hibernate, на OpenJPA и EJB 3.0 http://www.ibm.com/developerworks/ru/library/wes-0708_vines/index.html

Постоянство в Java SE и Java EE на базе EJB 3.0 Persistence (слайды) http://sun.dev.3wstyle.ru/pdf/std/PersistenceEJB3.0_Mikhail_Moscow.pdf


J2EE

Разработка Web-приложений с помощью Eclipse Europa : Часть 1. Java EE для Eclipse (2 и 3 части для языков PHP и Ruby) http://www.ibm.com/developerworks/ru/edu/os-dw-os-eclipse-europa1.html


JSP

Перевод руководства по JavaServer Pages JSP 1.2 http://www.opennet.ru/docs/RUS/jsp1_2/jsp1_2-web.html.gz#JSP2_html_JSP_2_1_1

Статья о том как писать странички JSP с помощью JSTL Статья здесь


JSF, Facelets, RichFaces

Введение в JavaServer Faces 1.2: Часть 1. Создание простых приложений http://www.ibm.com/developerworks/ru/edu/j-jsf1/index.html

Отличная статья как создавать проекты в eclipse и пример (рабочий) http://balusc.blogspot.com/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html

Inside Facelets Part 1: An Introduction http://www.jsfcentral.com/articles/facelets_1.html

Facelets fits JSF like a glove http://www.ibm.com/developerworks/java/library/j-facelets/

JSF 2.0 UI Component http://forum.vingrad.ru/forum/s/d0f6876b41a4bb31658933039aa52c05/topic-270634/anchor-entry1950574/0.html

Пример jsf http://slonopotamus.org/jsf-ru/quickstart/hello_world

JSF Request Lifecycle (рус.) http://slonopotamus.org/jsf-ru/faq/request_lifecycle

What’s New in JSF 2? http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/

JSF Core Tags http://www.horstmann.com/corejsf/jsf-tags.html

Dynamic JSF forms http://confluence.highsource.org/display/~lexi/Programmatic+usage+of+Facelets

JSF Component Library Integration http://www.jroller.com/wesleyhales/entry/jsf_component_library_integration_and

Multi select in RichFaces trees http://technology.amis.nl/blog/4710/multi-select-in-richfaces-trees

Интегрирование JSF-приложения со средой Spring https://www.ibm.com/developerworks/ru/edu/os-ag-jsf5/section4.html

Пример JSF+RichFaces Checkbox http://www.coderanch.com/t/449576/JSF/java/Check-box-column-trouble


JDBC

Все о JDBC http://www.jdbc.teploduv.net


SQL and MySQL

Основы SQL http://samsonov.bn.by/lib/sql/index.html

Объяснение SQL объединений JOIN / INNER / OUTER http://www.skillz.ru/dev/php/article-Obyasnenie_SQL_obedinenii_JOIN_INNER_OUTER.html

MySQL + кодировки - хорошая статья про русские кодировки http://www.lissyara.su/?id=1655

Проблема с кодировкой при занесении данных в базу MySQL http://www.brim.ru/faq/java/encoding.html#1

Java: Русские буквы и не только... http://java.brim.ru/article/index.jsp?id=2

Суперэффективные мускулы http://www.xakep.ru/magazine/xs/063/060/1.asp

Удаленный доступ к базе MySQL http://forum.ru-board.com/topic.cgi?forum=8&topic=25939


Oracle

Всё об Oracle http://baks.gaz.ru


JBoss

Установка JBoss http://www.jboss.ru/translate/jboss24/ch01s06.html

JBoss Installation Guide http://wiki.jvantage.com/index.php/JBoss_Installation_Guide


Hibernate

Документация по Hibernate http://www.hibernate.org/hib_docs/reference/en/html/

Complete Hibernate 3.0 Tutorial - с примерами на англ.яз. http://www.roseindia.net/hibernate/index.shtml

Статья "Основы hibernate" - с помощью файла xml http://habrahabr.ru/blogs/java/29694/#habracut

Статьи про hibernate http://man4j.blogspot.com/search/label/Hibernate

Статья: Не повторяйте DAO! Создание обобщенного типизированного DAO с Hibernate и Spring AOP http://www.ibm.com/developerworks/ru/library/j-genericdao/

Hibernate Example http://l2improve.wikidot.com/hibernate-example

Hibernate: каскадные обновления, инверсия отношений и прочая и прочая http://javatutor.net/articles/hibernate-cascade-update-inverse-etc

Пример приложения с использованием Hibernate и Spring http://www.ibm.com/developerworks/ru/edu/dm0604balani/index.html

ORM и подводные камни реализации equals и hashCode статья здесь


Spring

Простое приложение на Spring http://artamonov.ru/2006/03/15/prostoe-prilozhenie-na-spring

Пример. Spring http://forum.vingrad.ru/articles/topic-210395.html

Приложение на Spring с нуля http://pro-dev.ru/?p=10

Обработка форм в Spring http://pro-dev.ru/?p=27

Разработка веб-приложений на Spring http://yasinetskiy.com/2008/01/21/spring-web-applications-development-part1/

Концепция Inversion of Control и основы Spring http://javatutor.net/articles/spring-basic-and-inversion-of-control

Не очень краткое введение в Spring Framework http://samolisov.blogspot.com/2009/01/spring-framework.html

Тестируем Spring-приложение с помощью JUnit http://samolisov.blogspot.com/2008/07/spring-junit.html

Spring IoC Annotation-based configuration на примере JSF , часть 1 http://flashxl.habrahabr.ru/blog/48439/

Spring IoC Annotation-based configuration, часть 2 http://habrahabr.ru/blogs/java/48606/#habracut

Spring Framework – первые шаги http://www.lifein.com.ua/java/77

Spring security http://nkoksharov.blogspot.com/search/label/spring%20security

What's New in Spring 2.5 http://www.infoq.com/articles/spring-2.5-part-1

Большое руководство по Spring на английском языке http://static.springframework.org/docs/Spring-MVC-step-by-step/

Блог: статьи по спрингу http://nkoksharov.blogspot.com


AJAX

Перетаскивание. Перетаскивание с помощью ICEfaces - рус. http://www.williamspublishing.com/PDF/978-5-8459-1327-2/part.pdf

JSF AJAX Component Library Feature Matrix - сравнительная таблица по фреймворкам, предоставляющим Ajax http://www.jsfmatrix.net

Trinidad in Action - Part 1: An introduction (возможно эту ссылку надо перенести в другой раздел) http://www.jsfcentral.com/articles/trinidad_1.html

Вебинар IceFaces "Что нового в JSF 2.0" (EN) рассказывают в начале про чат. http://www.icesoft.com/webinar/archive/whats-new-jsf2.html

Ajax4jsf Developer Guide https://ajax4jsf.dev.java.net/nonav/documentation/ajax-documentation/developerGuide.html


Ant

Create the WAR file from Eclipse Project and deploy it to tomcat http://arkblog.wordpress.com/2008/01/08/creating-a-deployable-war-file-from-eclipse-project/

Настройка и использование Apache Ant для разработки Java приложений http://www.simplecoding.org/nastrojka-i-ispolzovanie-apache-ant.html

про Ant можно прочитать здесь http://www.ibm.com/developerworks/ru/edu/j-apant/

Статья Ant за 10 шагов http://forum.vingrad.ru/articles/topic-158800.html


Тестирование - JUnit

Введение в JUnit http://www.kv.by/index2009441108.htm

Переходим на JUnit 4 http://www.ibm.com/developerworks/ru/edu/j-junit4/?S_TACT=105AGX02&S_CMP=TUT

Тестирование с точки зрения разработчика (статья Часть 10) http://java-course.ru/


Сертификаты

Sun Certification: SCJP http://kharkovconcurrencygroup.blogspot.com/2009/11/sun-certification-scjp.html


Log4j

Статья Логгирование с помощью Log4j http://forum.vingrad.ru/articles/topic-215351/kw-log-%D0%BB%D0%BE%D0%B3%D0%B8.html

Гибкое журналирование с помощью log4j http://javatutor.net/articles/journalizing-with-log4j


UML

Хорошо написано про UML http://www.ibm.com/developerworks/ru/edu/j-scea/section2.html


XML

Видео лекции университета Berkeley про XML http://freevideolectures.com/ComputerScience/xml_foundations.php

Руководство по Web-сервисам http://ru.sun.com/pdf/j2ee/WST.pdf


HTML, CSS

On-line справочник по xhtml, html, css, ssi http://htmlbook.ru

CSS Validation Service http://jigsaw.w3.org/css-validator/#validate_by_uri

Markup Validation Service. Check the markup (HTML, XHTML, …) of Web documents http://validator.w3.org


Библиотеки

Здесь различные библиотеки и многое другое http://www.java2s.com/Code/Jar/CatalogJar.htm


Antlr

Документация по Antlr - En http://jnb.ociweb.com/jnb/jnbJun2008.html

Примеры по использованию antlr - официальный сайт - En http://www.antlr.org/wiki/display/ANTLR3/Expression+evaluator

Пример, нерабочий (у меня не сработал), устарел наверное - En http://tech.puredanger.com/2007/01/13/implementing-a-scripting-language-with-antlr-part-1-lexer/

Пример на русском, тож не сработал:) http://club.shelek.ru/viewart.php?id=39

Установка необходимых plug-ins для работы с библиотекой antlr в IDE Eclipse http://unicorn.cmc.msu.ru/6sem/eclipse.shtml и еще одна ссылка http://forum.auditory.ru/viewtopic.php?f=88&t=5909&st=0&sk=t&sd=a&sid=af30c87f02681b64aaa515df1474992a


Linux

Linux - Ubuntu 8.10, 9.04 для начинающих http://fmmorpg.ru/forumtopic_1614_.html


Форумы

Форум по Java, Servlet, JSP и т.д. На сайте выбрать Big Moose Saloon http://javaranch.com


Подкасты по программированию

Подкасты об ООП, паттернах и т.д. (для начинающих - java) http://taop.rpod.ru/?

Радио Бермудский Треугольник. Ведущий Будам, Даник и Леник. Очень интересные подкасты об IT и просто про жизнь http://btradio.wordpress.com


Тесты

Здесь можно пройти бесплатные тесты на англ.языке на знание Java и т.д. http://brainbench.com там я провалила тест на J2EE, вышло 2 балла, а надо минимум 2,75:))) это было давно, да пересдать руки не доходят:)

Тесты java и не только, у меня пока желтый пояс:) http://www.javablackbelt.com/Home.wwa

а здесь на рус.языке http://www.quizful.net

Подготовка к Sun Certified Java Programmer(SCJP) exam http://rsdn.ru/article/java/scjp_article.xml


Блоги программистов

Блог программиста http://www.skipy.ru

Блог программиста http://ekrs.blogspot.com/

Переводы статей о программировании и др. http://www.maxkir.com


Разное

Инструменты инфраструктурной поддержки для Agile проекта на Java http://habrahabr.ru/company/creativemedia/blog/58459/




Рейтинг@Mail.ru
Hosted by uCoz