logo

Spring web application tutorial (java blogs aggregator)

How to create a web application (Java Blogs Aggregator) from scratch. From nothing to an application up and running on a custom domain.

video Spring web app tutorial 0: Java Blog Aggregator overview (00:02:31)
In this tutorial I will create a Java Blog Aggregator
video Spring web app tutorial 1: Hello World Maven Java EE 6 (00:05:14)
How to create a Hello World Maven Java EE 6 web application in Eclipse and how to use Jetty plugin (Jetty is a web container like Apache Tomcat).
video Spring web app tutorial 2: Setting GitHub & Eclipse (00:01:38)
How to create a GitHub repository and share your project to GitHub in Eclipse. How to commit and push changes to GitHub repository.
video Spring web app tutorial 3: Spring Web MVC hello world (00:09:00)
Spring Web MVC basics explained, using Dispatcher Servlet and web.xml, how to scan Spring annotations and basic example of @Controller and @RequestMapping annotations.
video Spring web app tutorial 4: Apache Tiles (00:11:10)
Apache Tiles & Framework Spring integration, Apache Tiles basics, how to use template, tiles definitions and attributes.
video Spring web app tutorial 5: Twitter Bootstrap (00:06:10)
How to use Twitter Bootstrap to make our application pretty :-) I will use Twitter Bootstrap and JQuery from CDN (Content Delivery Network). Our web application will have responsive layout (useful for mobile devices).
video Spring web app tutorial 6: Servlet and JSP API (00:01:36)
How to resolve error: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path? If you use Maven, add to pom.xml Servlet and JSP API with scope provided.
video Spring web app tutorial 7: Spring root context (00:03:05)
How to use Spring root context using ContextLoaderListener and configuration file applicationContext.xml. How to effectively use context:component-scan with context:exclude-filter.
video Spring web app tutorial 8: persistence (00:12:01)
How to integrate Hibernate with Spring and Spring Data JPA using LocalContainerEntityManagerFactoryBean? I will use test HSQL test database (later will be used PostgreSQL).
video Spring web app tutorial 9: JPA entities (00:12:22)
How to create Java entities with relationships (OneToMany, ManyToMany, ManyToOne). How to validate relationship using Eclipse JPA Diagram Editor.
video Spring web app tutorial 10: Spring Data JPA basics (00:11:13)
How to create and use Spring Data JPA repositories. Also how to create a test database.
video Spring web app tutorial 11: MVC (Model View Controller) (00:10:24)
How to use Spring Web MVC (Model View Controller) with Apache Tiles. How to use JSTL (Java Standard Tag Library) - c:forEach. Styling table using Twitter Bootstrap.
video Spring web app tutorial 12: Apache Tiles dynamic menu (00:03:14)
How to create a dynamic menu using Apache Tiles and Twitter Bootstrap, how to use tilesx:useAttribute and how to use Expression Language ternary operator.
video Spring web app tutorial 13: Path Variable (00:05:12)
How to use Path Variable in Spring Web MVC.
video Spring web app tutorial 14: JSP Include Directive (00:01:38)
How to use JSP Include Directive to load JSP taglibs using single line of code.
video Spring web app tutorial 15: Hibernate Lazy Initialization Exception (00:06:23)
How to resolve LazyInitializationException using OpenEntityManagerInViewFilter / OpenSessionInViewFilter.
video Spring web app tutorial 16: Hibernate Transaction (00:05:04)
How to use Spring Transactional annotation to load entities in service layer instead of using Open Entity Manager In View Filter.
video Spring web app tutorial 17: Spring Data JPA Paging and sorting (00:02:29)
How to use Spring Data JPA for paging, sorting and top-n processing? This will generate SQL "SELECT ... ORDER BY ... LIMIT ...".
video Spring web app tutorial 18: JSP Form binding using Model Attribute (00:11:57)
How to bind JSP form to Java object using ModelAttribute annotation. The form will have responsive layout using Twitter Bootstrap. Receiving HTTP POST in Spring Web MVC.
video Spring web app tutorial 19: Spring Security basics (00:05:33)
Spring Security basics, how to secure Spring web application URLs using Spring Security Filter. Spring Security XML configuration file.
video Spring web app tutorial 20: Spring Security login page (00:05:23)
How to change default login page in Spring security. Creating JSP file with Twitter Bootstrap.
video Spring web app tutorial 21: Spring Security Logout (00:01:28)
How to set custom logout URL in a Spring Security application.
video Spring web app tutorial 22: Spring Security Expressions (00:01:29)
How to use Expression-Based Access Control in Spring Security. Example of hasRole expression.
video Spring web app tutorial 23: Spring Security and JSP (00:03:12)
How to use Spring Security JSP taglib and tag security:authorize with isAuthenticated and hasRole expressions.
video Spring web app tutorial 24: Spring Security and database (00:03:23)
How to read roles and users using JDBC User Service. Authorities by username query and users by username query.
video Spring web app tutorial 25: Spring Security BCrypt (00:01:48)
How to encode password using BCrypt (best practice, contains salt and is best protection against brute-force attacks). Using BCryptPasswordEncoder.
video Spring web app tutorial 26: registration form complete (00:04:44)
Complete registration form. Now we will be able to create a user with encrypted password (using bcrypt) and role ROLE_USER, which will be able to login using Spring Security.
video Spring web app tutorial 27: Spring Web MVC redirect (00:02:41)
How to implement Post/Redirect/Get design pattern using Spring Web MVC. Best practice for form submit.
video Spring web app tutorial 28: User account (00:04:29)
How to create a page with user account. How to retrieve currently logged in user name (using Principal object) in Spring Web MVC. Security is done using Spring security.
video Spring web app tutorial 29: Twitter Bootstrap modal (00:08:22)
How to use Twitter Bootstrap modal dialog? Example of a modal dialog with form, which will create a new blog.
video Spring web app tutorial 30: Twitter Bootstrap tabs (00:04:31)
Using Twitter Bootstrap tabs with JQuery.
video Spring web app tutorial 31: JPA / Hibernate cascade (00:09:37)
How to cascade operations in JPA / Hibernate? Presented on cascade type remove. This will solve ConstraintViolationException.
video Spring web app tutorial 32: Twitter Bootstrap dynamic modal (00:06:27)
How to create a dynamic modal dialog using Twitter Bootstrap, which will be used in a list. I will use JQuery to dynamically set link value inside modal window.
video Spring web app tutorial 33: Spring Security PreAuthorize (00:07:48)
How to enable and use expressions with annotations in Spring Security. Specifically I will show you how to use PreAuthorize annotation.
video Spring web app tutorial 34: utf-8 (00:01:59)
How to force UTF-8 so that forms work on Apache Tomcat. Using CharacterEncodingFilter from Spring framework.
video Spring web app tutorial 35: Cross Site Scripting - XSS (00:03:22)
Example of Cross Site Scripting (XSS) and how to solve this problem using c out tag from JSTL.
video Spring web app tutorial 36: Hibernate Validator (00:09:45)
How to validate input using Hibernate Validator (Bean Validation)? How to validate email, URL etc.
video Spring web app tutorial 37: Refactoring (00:10:40)
Because our application grows more and more, some refactoring was needed. In this video I split single Spring MVC controller into multiple controllers.
video Spring web app tutorial 38: JQuery Validation Plugin (00:10:46)
How to validate form on the client side using JQuery Validation Plugin (JavaScript).
video Spring web app tutorial 39: Hibernate unique column (00:02:25)
How to set column unique using Hibernate (JPA). This will cause ConstraintViolationException trying to insert non-unique username.
video Spring web app tutorial 40: Custom Validation Annotation (00:07:24)
How to create custom validation annotation with Hibernate Validator (Beans Validation) and Framework Spring. How to create a unique username validator.
video Spring web app tutorial 41: JQuery Validation Plugin Remote (00:07:07)
How to use custom validation where business rules are defined on the server with JQuery Validation Plugin. Also how to customize messages used in JQuery Validation Plugin.
video Spring web app tutorial 42: Generating JAXB classes (00:03:01)
How to generate JAXB classes in Eclipse. Generating JAXB classes from RSS XSD (XML Schema).
video Spring web app tutorial 43: Unmarshalling XML file (00:08:09)
How to unmarshall XML file using JAXB. Unmarshalling RSS XML file.
video Spring web app tutorial 44: JUnit Test Case (00:09:42)
How to create JUnit Test Case, add JUnit libraries to classpath with Maven and write tests.
video Spring web app tutorial 45: Save items (00:06:04)
Saving items from RSS XML file to database.
video Spring web app tutorial 46: CLOB (00:04:15)
How to set set column to CLOB (Character Large OBject) with Hibernate (JPA) using StringClobType.
video Spring web app tutorial 47: Scheduling (00:03:27)
Scheduling using Spring framework with annotation @Scheduled.
video Spring web app tutorial 48: Java blog aggregator homepage (00:05:58)
Creating Java blog aggregator homepage with items from database ordered by published date in descending order.
video Spring web app tutorial 49: maven package (00:00:47)
How to create WAR file in Eclipse using Maven package.
video Spring web app tutorial 50: Heroku (00:05:55)
How to upload your WAR file to Heroku and have your web. application up and running on your custom domain.
video Spring web app tutorial 51: Spring Profiles and PostgreSQL DB (00:11:41)
How to use Spring Profiles to distinguish between development and production environment. How to use Heroku PostgreSQL database. This is the last video in "Java blog aggregator" series.
video Spring web app tutorial extras: BOM dependency (00:03:08)
How to use Maven Spring Framework BOM dependency?
video Spring web app tutorial extras: Redirect Attributes (00:03:46)
How to use Redirect Attributes in Spring Web MVC (which can contain Flash-scoped attributes).
video Spring web app tutorial extras: apache tiles causes server error (00:01:47)
Some people reported that in step 4 of Spring web application tutorial they weren’t able to integrate tiles, because of this error: Server error, caused by javax.servlet.ServletException: Could not resolve view with name 'index' in servlet with name 'dispatcher'.

Tags

rss

Free online Java web application examples

Want to develop whole web applications which use database, security and more? See my github account, where are lot's of example projects:
github

Search