Learn to write server- or client-side applications in Java.
This course has been withdrawn
This course introduces you to the Java programming
language, and its Internet and intranet use.
The course starts with an introduction to the terminology and structure of
Java, so that you know your applet from your servlet, and the
difference between a JSP, a JVM and a JRE. We then go on to cover the fundamentals
of the Java language - comments, compiling, variables, constants, statements,
declarations, conditionals, loops, arrays, etc.
Java is an object oriented language; the course briefly covers the
principles of object orientation before it goes on to cover the definition
and creating of classes of objects, and the use of standard classes. We
look at static and dynamic methods, extending classes to create subclasses
via inheritance, polymorphism, overloading ... as well as constructors,
destructors, inner classes and much more.
It's important that you manage your design and code in an object
oriented language, and the course moves on to briefly introduce
design principles, such as UML, before spending rather longer on
Java-specific topics such as packages, beans, levels of access
to variables, jars, classpaths, and so on.
Handling text through string objects, and using standard collection
objects such as vectors, stacks and hashtables is covered once you
have a good grounding in how Java's objects work. We also cover
input, output and exception handing in some depth on this section
of the course. Threads, serialisation, synchronisation and
internationalisation will also be overviewed.
If you're going to be writing Java applications to run on a web
server, you'll need to know about servlets and probably JSP as
well; the course goes on to cover those subjects, giving you the
opportunity to write practical examples to have a Java program
look up information for Web presentation from a server-based
resource. For effective displaying of information, Java can
also run as an applet in your browser, and we'll show you how
to generate graphics through standard tools such as the AWT and
The course concludes with a section on resources that are available,
and a forward-looking lecture that overviews many more of the
facilities available in Java, and what they can do for you.
Practical experience in programming in another
Fortran or Perl
Getting the most from your Well House Consultants course
The Java language is now firmly established in a wide variety
of applications, with an incredible range of facilities and options
available to go with it. One of the most common uses of Java
programs is on a web server, where "Servelets" or "JSP"s provide
the logic behind web based applications from banking to weather
forecasting, and from government sites through scientific research.
|Java Introduction (module J601) Java source, compiler and class files.
The Java interpreter and virtual machine.
Applets, servlets, Java Server Pages and applications.
Java enabling other devices.
|Hello Java World (module J702) Basic program structure. First Output.
Sequence of statements. Comments.
|Variables (module J703) What is a variable?
Calculating with variables.
More variable types and flexible declarations and calculations.
Casting and functions.
Reading into a variable.
|Loops and Conditional Statements (module J704) Booleans.
While and for loops.
Labels and breaks.
|Arrays (module J705) Definition and declaration.
Array manipulation and replacement.
|Object Orientation: Individual Objects (module Q906) History - unstructured and structured code.
Introduction to object oriented programming.
Classes and methods.
Static and nonstatic.
Instances, constructors and destructors.
Accessing members of a class.
Loading and using classes.
Direct access to variables.
Encouraging class use.
|Objects and Classes (module J706) Overview.
Defining and using a method.
Defining a class.
Static methods and variables.
Direct variable access.
Overloading and multiple constructors.
|Strings (module J707) Character variables.
Creating string objects.
Operations on strings.
Accessing characters within strings.
|Packages (module J708) Overview.
Package directory structure.
Importing classes from a package.
Introduction to standard packages.
Packages, jars, wars, CLASSPATHS etc.
|Class Access (module J709) Private, public, package and protected.
|Object Orientation: Composite Objects (module Q909) Review of object orientation basics.
Base classes and subclasses.
Overriding and abstract classes.
Multiple inheritance and alternatives.
Hierarchy and visibility.
A note on design.
|Extending Classes and More (module J710) Deriving a new class from an existing one.
Inheriting methods and members.
The universal superclass.
The final modifier.
|Object Orientation: Design Techniques (module Q907) Overview - why design?
OOD, OOA, OOP.
Waterfall, spiral and Incremental models.
Micro, macro and specification.
Booch, Yourdon and the OO design wars.
Unified Modeling Language (UML).
Views, diagrams, model elements and general mechanisms.
Extending UML - stereotypes, tagged values and constraints.
Functions of tools such as Rational Rose.
Drawing support, model repository, navigation, code generation.
Configuration, version control and associated tools.
|Exceptions (module J712) trying and catching.
Defining your own exceptions.
|More Input and Output (module J713) Overview.
The wellreader class.
Input / output from basics.
Writing to a file.
Reading from a file.
|Fundamental classes (module J714) Fundamental packages.
Data type wrappers - why, methods available.
External low-level calls - System, Process, etc.
Garbage collection and finalization.
Vectors, stacks, hashtables and enumerations.
The String Tokenizer.
Collections and iterators.
ArrayLists, HashMaps and HashSets.
Sorting in Java.
Comparator classes and the comparable interface.
|Servlets (module J901) Java Servlet Development Kit.
Applet v Servlet (v ASP v CGI!); SSI.
JSP (Java Server Pages).
"Hello World" servlet.
Tracking sessions (state).
Graphics from a servlet.
|JSP - JavaServer Pages (module J907) Introduction.
The Structure of a JSP page.
What basics can I put in my HTML?
Entering data into a form.
What happens to the form data?
What happens next?
How To create a form.
A simple "Hello" application.
Constructing the HTML form.
Using the GET and POST methods.
Writing the bean.
Getting data from the form to the bean.
Checking the request object.
Getting data from the bean to the JSP page.
How to run the example.
Using scripting elements.
How to add scripting.
The difference between <%, <%=, and <%!
Using scripting elements in a JSP file.
Mingling scripting elements with tags.
When are the scripting elements executed?
How to run the examples.
|Java Roadmap - Beyond the Fundamentals (module J606) Java releases.
Java Runtime Environments.
"Stand Alone" Java programs.
Java Server Pages.
Application Programmer Interfaces (APIs).
Useful "basic" classes.
The Java foundation classes.
The Threads API.
Serializable and transient.
|Servlets in More Detail (module J906) Reading from a form.
The life of a servlet.
Other facilities of servlets.
|Putting it all together (module J909) Tailored Exercise - trainees write a server and/or client.
Application - a multithreaded talker server.
Clients use Swing GUI.
May also involve network programming, JDBC and other facilities.
Trainees conclude with complete example.
|Java Beans (module J812) What are beans?
Rules for writing beans.
Indexed, bound and constrained properties.
|Naming Conventions and Code Management (module J608) Within a class - variable naming.
Further coding standards.
The specification of the interface to a class.
Interface and class names.
Beanable and other standards.
Designing for the future.
Grouping classes into packages.
Naming conventions for packages.
Private, package, protected, public.
Deploying multiple classes.
Directories and files, jars.
Accessing shared classes.
CLASSPATH (and CLASSDIR).
In other virtual machines.
|Serialization (module J809) What is serialisation and how to use it.
|Internationalization (module J810) Local representations.
|JDBC - Relational Database Access (module J811) The JDBC Interface.
Driver managers and drivers.
Type 1, 2, 3 and 4 drivers.
How odbc, jdbc and SQL relate.
Obtaining and installing JDBC drivers.
Example - a MySQL jdbc driver class.
Connection to a database in Java.
Running enquiries against a relational database.
|HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, frames, forms, applets, images, etc.
Which HTML standard?
|HTML for Web Application Authors (module Q625) Frames and Images.
Applets and other Objects.
|Java in the Web Page (module J711) Structure overview.
Including Java in your page; HTML tags.
Abstract Windowing Toolkit and Swing - first examples.
|Extending Graphics in Java (module J902) Overview, concepts and design.
Background, Swing, "Hello Swing World".
Containers (frames, panels, panes)
Listeners and Observers - the Swing event model.
Labels, buttons, check boxes and lists.
Text, editors and passwords.
Icons, borders and combo boxes.
Scrolling and sliding.
Menus, dialogs, option panes and toolbars.
Choosers, timers, progress indication.
TUTOR and COURSE AUTHOR
Graham Ellis - firstname.lastname@example.org
] [about Graham
Public courses run at
Well House Manor
- our own
purpose fitted training centre and business hotel / conference centre in
• Download Melksham Map - [pdf file (750k)
] • Google Map - [Link
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
(£2280.00 inc VAT)
(£1860.00 inc VAT)
| With hotel rooms
(£4500.00 inc VAT)
(£3660.00 inc VAT)
| With hotel rooms
(£6720.00 inc VAT)
(£5460.00 inc VAT)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
If you're using Java for larger, threaded, or distributed applications,
you'll want to follow on to cover some other modules available
through Java Extra
If you're going to be responsible for deploying Java applications on the
web, you might also like to look at our Deploying Apache and Tomcat
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
Certification? - [Link]
FOR FURTHER INFORMATION
Public (scheduled) courses
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions
Covering topics such as delegate substitution, payment, cancellation policy and other matters.