Java EE, Web Development: HTTP, Server,Servlet,HTML/CSS,JSP
- Description
- Curriculum
- FAQ
- Reviews
From this course, you can learn Web Development in Java.
There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:
– Coding examples
To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.
– Open source code
We hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.
You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn’t work with any testing framework in the past.
– Q&A support
The significant difference between the online and offline learning process is the instructor’s availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address the issue.
So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? 🙂 ), but you also get tutor support and answers to your questions along with this course.
– Relevant knowledge
After our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!
The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.
With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.
– Free mobile App without limits for our students
Knowing Java is one skill. Being able to pass interviews in the company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.
In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)
The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.
Also, only for our students – there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.
– High concentration of useful material in each lesson
Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.
This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.
Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in the scope of this lesson – the instructor will make an announcement when a specific topic will be covered.
Go and try it yourself! We will appreciate your feedback.
So don’t wait! Take a look at the lessons’ preview if you still have doubts!
Buy this course today, and you will get all updates for FREE!
For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!
Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best Java course ever!
See you at the lessons! 🙂
-
1Communication planVideo lesson
From this lecture you will learn:
• How to communicate during this course• Where to ask questions
• How to ask questions
• Communication channels
-
2Unlimited access to 'Learn IT' application for studentsVideo lesson
From this lecture you will learn:
• Where to find good tests to verify your knowledge
• How to get unlimited access to Learn IT application (only for my students from Udemy)
-
3Tips to Improve Your Course Taking ExperienceText lesson
-
4OSI Model, HTTP, TCP/IPVideo lesson
OSI Model overview
OSI Model goals
Why we need to know OSI model
OSI Model layers and characteristics
How OSI model works
Physical layer
Data-link layer
Network layer
Transport layer
Session layer
Presentation layer
Application layer
What is TCP & UDP
What is a port
What is TCP/IP
What are frames, network packets and segments
What are HTTP and HTTPS
HTTP VS TCP/IP
-
5Client-Server Architecture. URI, URN, URLVideo lesson
Client-server architecture
Advantages and disadvantages of client-server architecture
Role of HTTP in client-server architecture
What is a resource in HTTP
What is an URI
RFC 3986
What is URN
What is a URL
-
6Web Servers: OverviewVideo lesson
Web Servers: Overview
What is backend and the frontend
What is web browser
Static or Dynamic web server
DNS Servers
The most popular web servers
Servlet Containers
-
7HTTP: Part 1Video lesson
HTTP protocol versions
HTTP protocol specifics
Stateful VS Stateless protocols
HTTP Session Overview
HTTP Cookie Overview
HTTP Mechanics
Socket
-
8HTTP: Part 2Video lesson
HTTP request structure
What are MIME types
HTTP methods (GET, POST, PUT, DELETE, HEAD, CONNECT, OPTIONS, PATCH, TRACE)
Idempotent methods
HTTP request headers
HTTP response structure
HTTP response headers
HTTP status codes
-
9Apache Tomcat: Overview, Installation and First RunVideo lesson
Tomcat overview
Where to find official documentation for tomcat
Tomcat alternatives
Tomcat components(Coyote, Catalina, Jasper)
Tomcat versions
Download Tomcat
Install Tomcat on the local computer
Structure of the Tomcat
Run Tomcat
Configure Tomcat in Eclipse
-
10Apache Tomcat: Hometask with SolutionText lesson
-
13Apache Maven - BasicsVideo lesson
Why use maven
Main Maven features
Maven core concepts
Project object model (POM)
Maven lifecycle
Maven phases
Maven goals
Convention over configuration
Install Maven
Configure env variables
Check maven version
-
14The First Maven Project. Archetypes.Video lesson
Maven Archetypes
Create the first maven project based on the archetype
What is group id
What is artifact id
Naming conventions on group id, artifact id and version
Validate Maven project
pom.xml - detailed structure overview
Managing dependencies with Maven
Scope of dependencies
-
15Working with Maven ProjectVideo lesson
Create Maven project from Eclipse
Import Maven project
Convert Java project to Maven project
Maven directory structure
Eclipse & Maven
Build Profiles
Settings.xml
-
16Maven settings.xmlText lesson
-
17Execute Maven Goals & Advanced Dependency ManagementVideo lesson
Create the first application build
Structure of jar file
What is Manifest
Surefire plugin
HTML test report
Optional dependencies
Dependency exclusion
-
18Maven Web ProjectVideo lesson
Maven archetype for web apps
Structure of Maven Web project
Create the first web project
Run the first web project on the server
WEB-INF folder
META-INF folder
Dynamic web module project in Eclipse
War file structure
-
19Maven Multi-Module ProjectVideo lesson
Maven Inheritance
Maven Project Aggregation
Project Inheritance VS Project Aggregation
Project Variables
Maven Reactor
Practical exercise
Dependencies between modules
Advantages and Disadvantages of Maven multi-module projects
Import maven multi-module project into Eclipse
-
21Intro to Servlets: Hello World ServletVideo lesson
Why we need to learn Servlet Technology
What is a servlet
What is Java EE
What is Jakarta EE
Servlet Lifecycle
init(), service(), destroy()
Servlet API
URL Mapping Rules
Create HelloWorld Servlet
Eclipse configuration - use external or internal browser
-
22Servlet APIVideo lesson
WebServlet annotation
URL patterns
Load on startup
Servlet init parameters
Other WebServlet Annotation Attributes
HttpServlet
GenericServlet
HttpServletRequest
HttpServletResponse
RequestDispatcher
Forward VS Redirect
Send error
Set and read headers
-
23web.xml - Deployment DescriptorVideo lesson
What is web.xml
xml-based configuration VS annotation-based configuration
Welcome file list
Servlet mapping
Context parameters
Security constraints for web app
Configuration of security roles
Session config
-
27HTML BasicsVideo lesson
What is HTML
History of HTML
What is W3C
What is WHATWG
What is a DOM
HTML versions
HTML features
Create custom HTML page
HTML file structure
What is a HTML element
HTML Example
Review of Basic HTML Elements
Attributes of HTML Elements
Comments in HTML
HTML tables
HTML lists - Ordered & Unordered Lists
Inspect Elements in Chrome Browser
-
28СSS BasicsVideo lesson
What is CSS
CSS Variations
Goals of CSS
Advantages of using CSS
CSS Syntax
CSS Selectors
Element Selectors
ID Selectors
Class Selectors
Universal Selectors
Grouping Selectors
Attribute Selectors
Pseudo-Classes in CSS
Practical activity with CSS
Inline CSS
Internal CSS
External CSS
Comments in CSS
Cascading order in case of multiple stylesheets
List of CSS Properties
Work with CSS in Chrome Dev Tools
-
29HTML FormsVideo lesson
What is HTML form
When to use HTML forms
HTML Form Element
Nested HTML Form Elements
HTML Form Input Types
HTML Input Attributes
Input Restrictions
Create first HTML form
Disabled VS Readonly input fields
Hidden attributes
Form reset
HTML Form validation
Submit data to the servlet via form
Parse form input values on the server side
-
33JSP OverviewVideo lesson
JSP Overview
JSP VS HTML
JSP VS Servlets
JSP VS JavaScript
JSP Advantages
JSP Disadvantages
JSP Lifecycle
JSP Elements
JSP Implicit objects
JSP to Serlvet Translation Example
Expression Language
-
34First JSP Page & Practical ExamplesVideo lesson
How to create JSP Page
First JSP example
JSP comments demo
Directives demo
Declarations demo
Expressions demo
Scriptlets demo
Action Tags demo
Expression Language demo
-
35JSTL: Part 1Video lesson
JSTL Overview
Advantages and Disadvantages of JSTL
Classification of JSTL Tags
Setup JSTL
Core Tags
Formatting Tags
JSTL Functions
SQL Tags
XML Tags
Real life examples review
-
36JSTL: Part 2Video lesson
Core Tags
Formatting Tags
JSTL Functions
SQL Tags
XML Tags
Real life examples review
-
37Custom Tags in JSPVideo lesson
Custom Tags in JSP Overview
What is a Tag Library
What is a Tag Handler
Simple Tag Handlers
Classic Tag Handlers
Advantages of Custom Tags
JSP Custom Tags API
Simple attributes
Fragment attributes
Dynamic attributes
-
38MVC Design PatternVideo lesson
MVC Pattern: Overview
Controller
Model
View
Advantages and Disadvantages
MVC code examples
-
39Layered ArchitectureVideo lesson
Layered Architecture overview
Why we need Layered Architecture
Closed Layer concept
Layers of Isolation
Open Layer concept
Code example of Layered Architecture
Sinkhole anti-pattern
Layered Architecture and Monolithic Architecture
Advantages and Disadvantages of Layered Architecture
-
40How to be prepared for the interview?Text lesson
-
41Part 1: Java Servlets Interview - Questions and AnswersText lesson
-
42Part 2: Java Servlets Interview - Questions and AnswersText lesson
-
43Part 3: Java Servlets Interview - Questions and AnswersText lesson
-
44Part 4: Java JSP Interview - Questions and AnswersText lesson
-
45Part 5: Java JSP & JSTL Interview - Questions and AnswersText lesson
-
46Task OverviewVideo lesson
Review Exam task
Overview of the expected result
-
47Solution Overview: Part 1Video lesson
From Task #1 till Task #7 (inclusively)
-
48Solution Overview: Part 2Video lesson
From Task #8 till Task #13 (inclusively)
-
49Solution Overview: Part 3Video lesson
From Task #14 till Task #16 (inclusively)
-
51OWASP Top 10: OverviewVideo lesson
What is OWASP
What is OWASP Top 10
Why OWASP Top 10 is important
OWASP Top 10 2021
What is Common Weakness Enumeration (CWE)
What are Common Vulnerabilities and Exposures (CVE)
What is the Common Vulnerability Scoring System (CVSS)
OWASP Top 10 2017 VS OWASP 2021
-
52Broken Access ControlVideo lesson
What is Access Control
Authorization VS Authentication
Types of Access Control
OAuth (Overview)
JWT (Overview)
What is Broken Access Control
Impact
Insecure ID Vulnerability
Path Traversal Vulnerability
Poison Null Bytes Attack
Safelisting
Client Caching Vulnerability
Violation of the principle of least privilege
Elevation of privilege
Review Roles Management Approach
How to prevent (including design solutions)
Example of Attack Scenarios
-
53Cryptography Failures (Theory, Sensitive Data, Data Breach, Types of Failures)Video lesson
Cryptographic Failures: Overview
The most common root causes
Comparative analysis between OWASP Top 10 2017 & 2021
Notable Common Weakness Enumerations
Types of cryptographic failures
Personal data VS Sensitive data
Types of sensitive data
Cryptographic Failure vs. Data Breach
What leads to cryptographic failures
-
54Cryptography Failures (Practical Examples, SQL Injections, TLS/SSL, HTTPS)Video lesson
Example of attack scenraios
SQL Injections
TLS & SSL
HTTPS VS HTTP
Enabling HTTPS on Tomcat web server
-
55Cryptography Failures (Examples, Password Encryption, Hashing, Salting)Video lesson
Example of attack scenraios
Password encryption practical exercise
Passwords hashing
Salted passwords
Hashing algorithms (MD5, SHA, PBKDF2, BCrypt, and SCrypt)
How to prevent cryptographic failures
-
56Injection (Overview, Fuzzing, CWEs, Impact, Injection Types, Command Injection)Video lesson
Injection Risk Category: Overview
Fuzzing
Notable Common Weakness Enumerations (CWEs)
Impact
Comparison of Injection in OWASP Top 10 2021 and 2017
Injection Types
Command Injection
-
57Injection (Cross Site Scripting, Types of XSS, SQL, JPA, NoSQL Injections)Video lesson
Cross Site Scripting
Types of Cross Site Scripting
SQL Injection
JPA Injection
NoSQL Injection
-
58Injection (XPath Injection, Log Injection, Input Validation)Video lesson
XML: XPath Injection
Log Injection
How to prevent injection vulnerabilities
Input Validation: Goals
Input Validation: Strategies
Input Validation: Techniques
-
59Insecure Design (Overivew, CWEs, Shift Left Security, Threat Modeling Manifesto)Video lesson
Insecure Design Overview
Insecure Design VS Insecure Implementation
Shift left security approach
Notable CWEs
What is secure design
Threat Modeling
Goal of threat modeling
Threat Modeling Manifesto: Overview
Threat Modeling Manifesto: Values
Threat Modeling Manifesto: Principles
-
60Insecure Design (Secure Design Process, Security Controls, Metrics, Examples)Video lesson
Build a secure design process
Business impact analysis
Working with threat register
Security controls
Security design document
Secure Design Process Metrics
Example of Attacks
How to prevent
-
61Security Misconfiguration (Overview, CWEs, Types, Real-life attacks)Video lesson
Overview
Potential Impact
Notable CWEs
Security Misconfiguration in OWASP Top 10 2021 VS 2017
Types of security misconfiguration
Examples of real-life attacks
Federated Architecture
-
62Security Misconfiguration (Hardening, Zero Trust, Defense in Depth, Practice)Video lesson
Security Hardening
Zero Trust Security Model
NIST 800-207
Defense in Depth
NIST 800-123
Best Practices for System Hardening
Example of Attacks - Demo
How to prevent
-
63Vulnerable & Outdated ComponentsVideo lesson
Overview
Risk Factors
Why it is hard to update outdated components
Notable CWEs
How attackers use vulnerable components
Real-life example
OWASP Top 10 2021 VS 2017
Demo of dependency check plugin
Vulnerability scanners
How to prevent
-
64Identification & Authentication FailuresVideo lesson
Overview
Potential Impact
Notable CWEs
OWASP Top 10 2017 VS 2021
How attackers exploit authentication failures
Session fixation
Cross-Site Request Forgery (CSRF)
Execution After Redirect (EAR)
Risk factors
Multi-factor authentication (MFA)
Review of different factors
Session ID Entropy
Examples of Attacks
Credential stuffing
Brute force access
Session hijacking
How to prevent
-
65Software & Data Integrity FailuresVideo lesson
Overview
Potential impact review
Common Weakness Enumerations
OWASP Top 10 2017 VS 2021
Examples of Attacks
How to prevent
-
66Security Logging & Monitoring FailuresVideo lesson
What is logging and logs
Overview of Security Logging and Monitoring Failures Category
Potential Impact
Risk Factors
Challenges
Log Management Tools
Libraries for Logging in Java
Notable Common Weakness Enumerations
OWASP Top 10 2017 VS 2021
Attack Examples
How to Prevent
-
67Server-Side Request Forgery (SSRF)Video lesson
Overview
Trust relationships
Risk factors
Potential impact
Types of SSRF
OWASP Top 10 2017 VS 2021
Capital One Incident: Overview
SSRF Java Example
Examples of Attacks
How to prevent
-
68Introduction to JPA & ORMVideo lesson
What is ORM
What is JPA
What is Hibernate
ORM Frameworks
JPA VS ORM VS Hibernate
JPA Advantages
-
69First JPA Project: Entity, ID GenerationType, Composite Primary Keys, etc)Video lesson
Create a JPA project
Entities in JPA
Entity Annotation
Table Annotation
Column Annotation
ID Annotation
Generated Value Annotation
GenerationType.TABLE
GenerationType.SEQUENCE
GenerationType.IDENTITY
GenerationType.UUID
GenerationType.AUTO
Requirements for Entity Class
Composite Primary Keys
Temporal Annotation
Non-persisted fields (Transient Annotation)
Persist Enum types (Enumerated Annotation)
-
70First JPA Project - Part 2: EntityManager, persistence.xml, Transactions in JPAVideo lesson
Entity Manager Factory
Entity Manager
persistence.xml
Transactions in JPA
Transaction Types in JPA
JTA VS RESOURCE_LOCAL
Practical Exercise
-
71Operations with Entity (Create, Read, Update, Delete) & JPA Entity LifecycleVideo lesson
Insert JPA Entity
Select JPA Entity
Update JPA Entity
Delete JPA Entity
States of JPA Entity
New (Transient) State
Persistent (Managed) State
Detached (Unmanaged) State
Removed (Deleted) State
Handling of JPA Entity Lifecycle events
Entity Lifecycle Listener
-
72Locking JPA: Optimistic & Pessimistic LockingVideo lesson
Why we need locking
What is a Database Lock
Physical Locks
Logical Locks
Locking in JPA
Optimistic Locking
Pessimistic Locking
Optimistic VS Pessimistic locking
@Version Annotation
Explicit Lock Type
LockModeType Enum
Coding Demo
-
73Relationships Between EntitiesVideo lesson
Use case: When to use mapping in JPA
Types of Relationships in Relational Databases
Mapping Directions
Types of Mapping in JPA
@OneToOne
@OneToMany & @ManyToOne
@ManyToMany
How to Cascade operations with Entities
CascadeType Enum
Eager and Lazy Fetch Types
@JoinColumn
@JoinTable
-
74JPA Queries (Query, TypedQuery, NativeQuery, JPQL, Criteria API)Video lesson
Types of queries in JPA
Query, TypedQuery, NamedQuery
NativeQuery
Criteria API
What is a JPQL
Key JPQL features
Property to Show SQL queries sent to the DB
Practical Exercises
-
75Caching in JPA/HibernateVideo lesson
What is Caching
Cache structure in JPA/Hibernate
First-level cache
Second-level cache
Query-level cache
Cache providers
CacheConcurencyStrategies
Ehcache
Cache Eviction Policy
Custom configuration of Ehcache
StandardQueryCache
UpdateTimestampsCache
Persistence Strategies in Ehcache
Practical examples
-
76N+1: Problem and SolutionVideo lesson
What is N+1 problem
Why it is important to avoid it
N+1 problem solutions
Entity Graph
@NamedEntityGraph Annotation
@NamedAttributeNode Annotation
External Links May Contain Affiliate Links read more