- Home
- Spring web application tutorial (java blogs aggregator)
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.
Spring web app tutorial 0: Java Blog Aggregator overview
(00:02:31)
In this tutorial I will create a Java Blog Aggregator
|
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).
|
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.
|
Spring web app tutorial 3: Spring Web MVC hello world
(00:09)
Spring Web MVC basics explained, using Dispatcher Servlet and web.xml, how to scan Spring annotations and basic example of @Controller and @RequestMapping annotations.
|
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.
|
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).
|
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.
|
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.
|
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).
|
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.
|
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.
|
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.
|
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.
|
Spring web app tutorial 13: Path Variable
(00:05:12)
How to use Path Variable in Spring Web MVC.
|
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.
|
Spring web app tutorial 15: Hibernate Lazy Initialization Exception
(00:06:23)
How to resolve LazyInitializationException using OpenEntityManagerInViewFilter / OpenSessionInViewFilter.
|
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.
|
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 ...".
|
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.
|
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.
|
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.
|
Spring web app tutorial 21: Spring Security Logout
(00:01:28)
How to set custom logout URL in a Spring Security application.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
Spring web app tutorial 30: Twitter Bootstrap tabs
(00:04:31)
Using Twitter Bootstrap tabs with JQuery.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
Spring web app tutorial 38: JQuery Validation Plugin
(00:10:46)
How to validate form on the client side using JQuery Validation Plugin (JavaScript).
|
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.
|
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.
|
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.
|
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).
|
Spring web app tutorial 43: Unmarshalling XML file
(00:08:09)
How to unmarshall XML file using JAXB. Unmarshalling RSS XML file.
|
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.
|
Spring web app tutorial 45: Save items
(00:06:04)
Saving items from RSS XML file to database.
|
Spring web app tutorial 46: CLOB
(00:04:15)
How to set set column to CLOB (Character Large OBject) with Hibernate (JPA) using StringClobType.
|
Spring web app tutorial 47: Scheduling
(00:03:27)
Scheduling using Spring framework with annotation @Scheduled.
|
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.
|
Spring web app tutorial 49: maven package
(00:00:47)
How to create WAR file in Eclipse using Maven package.
|
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.
|
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.
|
Spring web app tutorial extras: BOM dependency
(00:03:08)
How to use Maven Spring Framework BOM dependency?
|
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).
|
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'.
|