About Advanced Java Training
The course builds a strong understanding of JDBC Technology. It gives in to demonstrate why Servlets are the cornerstone of Java’s Web platform. It then shows how JSP is built on the Servlet architecture. Additionally, the class shows students how to use JSTL, custom tags and expression language to reduce Java code in Web pages while adding tremendous power and capability to those pages. The class culminates in an exploration of Java MVC frameworks like Struts at a high level.
This is not a class that focuses on theory. Participants will find the course is loaded with practical labs and simulations. After taking this class, developers will be able to build Web applications that perform well, are scalable, and that are easier to maintain.
Advanced Java Training Course Prerequisite
Basic Knowledge of Core Java is required. An understanding of Web technologies like HTML and HTTP is helpful.
Advanced Java Training Course Objective
Learn the fundamentals of JDBC and using the different interfaces in the JDBC API. Learn how to use Java servlets in the role of Web application control. Identify the options to state management in a Java Web application and understand the pros/cons of each. Understand how JSPs can help to separate Web logic and functionality from page layout. Explore how to make JSPs smaller and more powerful with JSTL, custom tags and expression language. Explore strategies in the exchange of data between Web pages (views) and business processing (model). Learn the meaning and importance of MVC
Advanced Java Training Course Duration
60 Working days, daily one and half hour
Advanced Java Training Course Content Overview
Introduction
- About Java Platforms
- Applications of Java
- About API (Application Programming Interface)
- Static Blocks
- Introduction to interfaces
- Runtime Polymorphism
- What is Persistence?
- File management system
- Disadvantages of File management system
- Database management system
- Advantages of Database management system
JDBC
- Introduction to JDBC
- Why JDBC? & ODBC Vs JDBC
- Approch-1 Vendor specific library
- Disadvantages
- Approch-2 X/Open standards
- Disadvantages
- Approch-3 ODBC standards
- Disadvantages
- Approch-4 JDBC standards
- Advantages
JDBC API and JDBC Drivers
- About JDBC API
- What is a JDBC Driver?
- JDBC architecture
- Types of JDBC Drivers
- JDBC-ODBC bridge driver
- Advantages & Disadvantages
- Native API Partly Java Driver
- Advantages & Disadvantages
- Net-Protocol all/pure java driver
- Advantages & Disadvantages
- Native-Protocol pure java driver
- Advantages
JDBC API
- JDBC Packages
- sql, Javax.sql
- Interfaces and classes in above packages
- Versions of JDBC API
- Steps for developing JDBC application
SQL
- Introduction to SQL
- Types of SQL queries
Establishing Connection to Database
- About DriverManager class
- Methods of DriverManager
- What is registering driver with DriverManager
- Different methods of registering driver with DriverManager
- About getConnection method of DriverManager
- Syntax of URL to communicate with database
- Autoloading of class driver in JDBC 4.0
- Example with Application
Statement interface
- What is Statement? & Need of Statement
- Characteristics of Statement
- How to get Statement object?
- Methods of Statement
- Passing SQL statements to Database
- About execute, executeUpdate, executeQuery, largeExecute Updates methods
- Example with Application
PreparedStatement interface
- What is PreparedStatement?
- Need of PreparedStatement
- Difference between Statement and PreparedStatement
- How to get PreparedStaement object
- Defining parameters
- How to pass values to PerparedStatement object
- What is SQL Injection attack & how to overcome
- Example with Application
Resultset Interface
- What is ResultSet?,
- Need of ResultSet
- How to get resultset object
- Methods of ResultSet
- Reading data, Various types of ResultSet
- Resultset types
- TYPE_SCROLL_SENSITIVE
- TYPE_SCROLL_INSENSITIVE
- TYPE_FORWARD_ONLY
- Resultset modes
- CONCUR_READ_ONLY, CONCUR_UPDATABLE
- Example with Application
SQL 99 Datatypes
- BLOB
- Inserting blob type, Reading blob type
- CLOB
- Inserting clob type, Reading clob type
- Array, Inserting array type
- Reading array type
- Object, Inserting object
- Reading object
- Example with Application
Metadata
- Resultset Metadata
- Need of ResultsetMetaData
- How to get metadata
- DatabaseMetadata
- How to get database metadata
- Parameterizedmetadata
- How to get parameterizedmetadata
- Example with Application
CallableStatement
- About CallableStatement
- Advantage of CallableStatement
- Creating CallableStatement object
- Calling Procedure using CallableStatement
- Calling functions using Callable Statement
- About PL/SQL Programming vs Manual on Batch Queries
Batch updates
- What is batch processing
- Batch updates using Statement object
- Batch updates using PreparedStatement object
Transaction Management
- Transaction Definition
- ACID Properties
- Atomicity, Consistency,Isolation, Durability
- Methods in Transaction Management
- setAutoCommit(), setSavePoint()
- commit(), rollback()
- Example with All Application
Connection Pooling
- What is connection pooling?
- Advantages of connection pooling
- Disadvantage of DriverManager
- About DataSource
- JDBC connection pooling
- Isolation Levels
- Example with Application
RowSet
- What is RowSet?
- What is difference between ResultSet and RowSet
- Types of RowSets
- JdbcRowSet
- CachedRowSet
- WebRowSet
- Example with Application
Communicating with difference databases
- Communicating with MYSQL
- Working with CSV files
- Communicating with MS-EXCEL
- Communicating with PostgreSql
- Example with Application
JDBC 4.0 Features
- Auto-loading of JDBC driver class
- Connection management enhancements
- Support for RowIdSQL type
- DataSet implementation of SQL using Annotations
- SQL exception handling enhancements
- SQL XML support
- Example with Application
Working With Properties File
- Working With Date Values
- Procedure To Create Desktop icon (jar file execution)
SERVLET
JEE
- JEE technology
- Components of JEE technology
- What is Enterprises Application
- What is Web Application
- Types of Web Application
- Presentation Oriented Web Application
- Service Oriented Web Application
- About Web Client, About WebServer
- About ApplicationServer
- Diff Between WebServer And Application Server
Introduction
- Server side technologies
- Need of server side technologies
- Client side technologies
- What is Servlet? & Advantages of Servlet
- Difference between CGI and Servlet
Servlet API
- Versions of Servlet API
- Packages of Servlet API
- About Servlet Container
- Responsibilities of Servlet Container
HTTP Protocol
- What is HTTP?
- What is HTTP Request format & Response format
Developing Servlet
- Servlet interface
- Methods of Servlet interface
- Developing servlet by implementing Servlet interface
- Life cycle methods of Servlet
- Webapplication directory structure
- Deployment descriptor file (web.xml)
- What is deployment?
- Types of deployments
- Deployment, Console deployment
- Tool deployment
- Deployment webapplication in tomcat server
- URL patterns
Developing And Deploying Servlet Apps in Diff Servers Like
- Tomcat Server
- JBoss Server / WildFly
- Weblogic Server
- GlassFish
ServletRequest
- Methods of ServletRequest
- About request parameters
- About request headers
ServletResponse
- Methods of ServletResponse
- MIME types
- Generating response
ServletConfig
- What is ServletConfig?
- What is need of ServletConfig
- Methods of ServletConfig
- Different ways of getting ServletConfig object.
- Defining config initial parameters in web.xml
GenericServlet
- What is GenericServlet?
- Methods of GenericServlet
- About init(ServletConfig),init() method
Working with welcome-file
- Configuring welcome-file in web.xml
Methods of loading Servlet
- About load on start up
- When client send first request
ServletContext
- What is ServletContext?, Need of ServletContext
- Methods of ServletContext
- Different ways of getting ServletContext object
- Context init parameters
- Defining Context init parameters in web.xml
HttpServlet
- What is HttpServlet?
- Methods of HttpServlet
- HTTP Request methods
- About public service and protected service methods
- About doXXX() methods
- Difference between GenericServlet and HttpServlet
- Diff Between doGet(-,-) and doPost(-,-) methods
HttpServletRequest
- HttpServletRequest VS ServletRequest
- How to read request parameters of HttpServletRequest
- How to read request headers of HttpServletRequest
HttpServletResponse
- HttpServletResponse VS ServletResponse
- About HttpServletResponse methods
- Response status codes
- Html To Servlet Communication
- Form Validations
- Different Types of Form Components
- Working With Multiple Hyperlinks
- Working With Multiple Submit Buttons
- War File Creation
- Servlet To DataBase Software Communication
- What is need of RequestDispatcher?
- RequestDispatching methods
- Include
- Forward
- Difference between include and forward methods
- Getting RequestDispatcher
- Using ServletRequest
- UsingServletContext
- Difference between getting RequestDispatcher using ServletRequest and ServletContext
- What is Servlet Collaboration?
Redirecting
- About sendRedirect method
- Difference between sendRedirect and forward methods
- setStatus, response.setHeader methods
Attributes
- What is Attribute
- Difference between parameter and attribute
- Scope of Attributes
- Request scope, Context scope
- Session scope
- Adding, removing and modifying attributes
Thread Saftey In Servlet Programming
State and Session Management
- About connectionless protocol
- About connection oriented protocol
- Stateless protocol
- What is state/session management
- Need of session management
- Session management methods
- URL rewriting, Hidden form fields
- Cookies, HttpSession
URL Rewriting
- What is URL rewriting
- URL rewriting techniques
- Disadvantages of URL rewriting
Hidden form fields
- What is hidden form fields
- Disadvantages of hidden form fields
Cookies
- What is Cookie,
- How to create Cookie
- Methods of Cookie
- Types of Cookies
- Non Persistent Cookie
- Persistent Cookie
- How to add cookie to response
- How to read cookie from request
- Deleting cookie from servlet
- Properties of Cookie
- Disadvantages of Cookies
HttpSession
- What is HttpSession
- Advantage of HttpSession
- How to create HttpSession object
- How to read HttpSession object from request
- Invalidating HttpSession
- Using invalidate method
- Using session config in web.xml
- By setting time
- HttpSession attribute
Error Handling in Servlet
- Configuring in web.xml
- Programmatically
Filters
- What is Filter?
- Need of Filter & Lifecycle of Filter
- Filter mapping in web.xml
- About FilterConfig
- Defining config parameters in web.xml
- About FilterChain interface
- Methods of FilterChain
- What is Filter chaining?
- Working with filter chaining
Listeners
- What is Listener?
- Usage of Listener
- About Event Delegation Model Architecture
- Types of Listeners
- RequestListener
- ServletContextListener
- HttpSessionListener
- Types of Attribute Listener
- Request AttributeListener
- HttpSessionAttributeListener
- ServletContextAttributeListener
- About Event classes
Authentication and Authorization(Security In Servlet Programming)
- Understanding Authentication Mechanism
- HTTP basic authentication
- HTTP Digest authentication
- HTTPS Client authentication
- HTTP form based authentication
Working Connection Pooling
- Connection pooling in difference servers
- Tomcat, Weblogic, Glassfish
- JBoss Server / WildFly
- Developing servlet using serverside connection pooling
Working with domains
- Creating domain in weblogic server
- Deploying webapplication using console
- Creating domain in glassfish server
- Deploying webapplication using console
Working with Servlet 2.5/3.0/3.1 features
- Async Servlet
- File Uploading and Downloading
- Non-blocking I/O
- HTTP protocol upgrade mechanism
- Different Types Of URL Patterns
- Dynamic Registration Of Servlet (Developing Servlet Program Without web.xml)
Annotations in Servlet Programming
- Introduction to Annotations
- Types of Annotations
- Annotations Vs web.xml
JSP
Introduction
- What is JSP?
- Advantages of JSP & Applications of JSP
- Difference between JSP & Servlet
JSP Basics
- JSP Life cycle, JSP Lifecycle methods
- jspInit, _jspService
- jspDestroy, Saving jsp file as a,
- Public resource, Private resouse
- JSP tags
JSP Tags
- three categories of tags
- scripting elements, directives
- standard actions
Scripting Elements
- What is scripting elements
- Types of scripting elements
- Declaration tag
- Expression tag
- Scriptlet
JSP implicit object
- What is jsp implicit objects
- Need of jsp implicit objects
- Implicit objects of jsp
- Request, Response, Page
- pageContext, out, session
- exception, application, config
Directives
- What is directive?
- Types of directives
- Page directive, Include directive
- Taglib directive
Standard Actions
- What is standard action
- Standard actions
- <jsp:include>
- <jsp:forward>
- <jsp:param>
- <jsp:useBean>
- <jsp:setProperty>
- <jsp:getProperty>
- Working with <jsp:include>
- Difference between <jsp:include> and <%@include> directive
- Working with <jsp:forward>
Java Bean
- What is java bean?
- Usage of bean
- Properties of bean
Using Java Bean in JSP
- About <jsp:useBean>
- Attributes of <jsp:useBean>
- Working with scope of bean object
- Using bean with <jsp:include> and <jsp:forward>
- Assigning values to bean using <jsp:setProperty>
- Reading values from bean using <jsp:getProperty>
Expression Language
- What is Expression Language
- Advantage of Expression Language
- Syntax of defining expression
- Basic Operators in EL
- Implicit objects In EL
- pageScope, requestScope
- sessionScope, applicationScope
- param, paramValues, header
- headerValues, initParam, cookie
- pageContext, Defining functions
Working JSTL
- What is JSTL?, Version of JSTL
- Classification of JSTL tags
- Core tags, Formatting tags
- SQL Tags, XML tags
- JSTL Functions
- How to use JSTL in webapplication
- Working with Core tags, Formatting tags & SQL tags
- Working JSTL functions
Custom Tags
- What is tag?, Java based tag
- Components of tag library
- The Tag Handler Class
- The Tag Library Descriptor File
- Imports a tag library (referencing URL of descriptor file)
- Defines tag prefix
- Uses tags, About tag handler
- Tag interface, SimpleTag
- TagSupport, BodyTagSupport
- SimpleTagSupport
- Developing tag using SimpleTagSupport class
- Lifecycle of custom tag
- Tag hander class with attributes
- Developing tag with body
MVC Architecture
- MVC Design pattern
- MVC-1 Page Centric
- Advantages & Disadvantages
- MVC-2
Developing Project using MVC
- Integrating JDBC , Servlets And JSP