| Time & Place: | Ref No. 22173: Tuesday & Thursday, 7:00–8:15 PM, Dale Mabry Room DTEC–427 | ||||||
|---|---|---|---|---|---|---|---|
| Instructor: | Name: Wayne Pollock E-mail: Internet: Office & Phone: DTEC–404, 253–7213 DM Office Hours: Monday–Thursday, 3:55–5:25 & 8:30–9:00; On-line Office Hours: Tuesday–Friday, 12:00 PM (noon)–1:00 PM; or by appointment.
| ||||||
| Text: | No book is required.
All resources will be provided by the instructor and/or found on the web.
However, for those who wish a good book, you can find most topics covered
in the COP-2800 text book:
Y. Daniel Liang, An Introduction to Java Programming, Comprehensive Eighth Edition, ©2010 Pearson Education, Inc. ISBN-10: 0132130807 ISBN-13: 9780132130806
Kathy Suerra and Bert Bates,
Head First Java,
©2009 O'Reilly Media.
ISBN-10: 0596009208
ISBN-13: 9780596009205
Cay Horstmann and Gary Cornel,
Core Java Volume 1 and
Core Java Volume 2, (latest editions of each),
©Prentice Hall.
| ||||||
| Description: | (This course is 3 credit hours long.) This course is a continuation of COP 2800 (Java Programming I). The focus is on the development of client-server applications and advanced GUI. Topics include Java features (such as enums, autoboxing, and generic types), multithreading, collections, files, advanced multimedia and GUIs, internationalization, and web programming (including database use, networking, security, servlets, Java Server Pages, JavaBeans, and Remote Method Invocation). | ||||||
| Objectives: | The student will demonstrate a knowledge of the following topics
through objective tests, hands-on activities, and projects:
| ||||||
| Prerequisite: | COP 2800, or permission of the instructor. Students enrolled in a degree or college credit certificate program must complete all prerequisites. Note! HCC registration computers may not check for prerequisites before allowing you to enroll. Be certain you have all required prerequisites or you won't have much of a chance of success. Also you may be dropped from the class. | ||||||
| Facilities: | All assignments can be performed on any computer that supports
Java 7 and the Java 6 EE development tools.
(These include the HCC classroom and Computer Lab
computers.)
You can obtain the JDK from
www.oracle.com,
The Glassfish Java EE
server (Open Source edition) from
glassfish.java.net,
Eclipse from eclipse.org,
NetBeans from NetBeans.org,
JUnit from junit.org,
Derby database from db.apache.org/derby/,
Maven2 from maven.apache.org,
and ant from ant.apache.org.
(These are all free tools, and often the tools of choice in the industry.)
You will need your own flash disk, writing materials (for taking notes), and three Scantron 882–E or 882–ES forms (for taking tests). You can use HawkNet (WebAdvisor) or FACTS.org to obtain your final grade for the course. Most college systems now use (or will in the future) a single sign-on user ID, known as HCC “NetID”. Visit netid.hccfl.edu to register and to update your credentials. (Your initial password is your uppercase first name initial, lowercase last name initial, and your seven digit student ID number.) Note the quickest way to resolve login issues is the HCC Live Web Portal (hcclive.hccfl.edu). Hawk Alert text messaging service allows you to receive important information regarding campus closures or emergencies. You may also sign up for financial aid notifications and registration and payment deadlines. This is a free service, although some fees may be applied by your cellular service provider or plan for text messages. To sign up, or for more information, visit www.hccfl.edu/alerts/.
HCC DM Open Lab
| ||||||
| Grading: |
Grading scale:
A=90-100, B=80-89, C=70-79, D=65-69, F=0-64 | ||||||
| Policies: |
| ||||||
| Projects: |
Projects will be assigned from the class web page
at various times.
You will have plenty of time to complete the projects, at
least 2 weeks and usually longer.
Although there will be some group programming projects and
in-class group exercises,
you must work individually on non-group projects,
typically outside of regular class hours.
Projects are graded on the following scale:
A = 95% (Excellent:
Good design with good comments, style, and extras) Minor extras worth +5 points, minor omissions or poor design worth -5. Projects are graded according to their design (25%), how well they compile and run (20%), how well your project meets the requirements specifications (20%), the coding style (15%), the amount (and quality) of your comments (10%), and your creativity in extending the project usefully or an innovative design that uses the features taught in class well (10%). Projects are not graded when turned in. They are graded all at once, sometime after the project deadline has passed (usually the next weekend). Further details will be provided with your first project. (See also submitting assignments below.) | ||||||
| Submitting Assignments: |
Most all assignments (except when noted) must be submitted by email to
.
Please use a subject such as Java II Project #1 Submission, so I can tell which emails are submitted work. (Questions get answered right away, but submissions may wait a while before I grade them.) Send only one assignment per email message. Email your Java source and HTML files by copy-and-paste. (Please do not send as attachments!)
Note: If
you use Microsoft Outlook Express or a similar
email program, please be aware that this program has a In the event a student submits more than once for the same assignment, I will ignore all but the last one received up to the deadline. Assignments submitted after the deadline will not count toward your grade except as allowed by the course late policy.
The HCC email server automatically accepts and
silently discards email with certain types of attachments.
For our class, the problem is with
To send email with a
To avoid having your submitted work rejected as As a last resort you can use waynepollocklive@yahoo.com, which doesn't filter any mail.
If you have an email problem you may turn in a printout instead.
Be sure your name is clearly written on the top of any pages
turned in.
Please staple multiple pages together (at the upper left). |
| HCC Academic Calendar: | |
|---|---|
| Classes Begin: | Monday 1/9/2012 (First class meeting: Tuesday 1/10/2012) |
| Add-Drop Ends: | Friday 1/13/2012 |
| Last Day to Withdraw: | Monday 3/26/2012 |
| Classes End: | Monday 5/7/2012 (Last regularly scheduled day of class: Thursday 5/3/2012) |
| Grades Available: | Wednesday 5/9/2012 (from FACTS.org or HawkNet) |
| HCC is closed on: |
Monday 1/16/2012 (Martin Luther King Jr. Day), Monday 2/20/2012 (Presidents' Day), Monday–Sunday 3/19/2012–3/25/2012 (Mid-Term Break), Friday–Sunday 4/6/2012–4/8/2012 (Spring Day), Thursday 4/12/2011 (Faculty In-Service Day) |
If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry campus: Student Services Building (DSTU) Room 204, voice phone: (813) 259–6035, TTD: (813) 253–7035, FAX: (813) 253–7336. Brandon campus: voice phone: (813) 253–7914.
HCC has a religious observance policy that accommodates the religious observance, practices, and beliefs of students. Should students need to miss class or postpone examinations and assignments due to religious observances, they must notify their instructor at least one week prior to a religious observance.
| Quotes: | Tell me and I'll listen. | — Lakota Indian saying | |
|---|---|---|---|
Learning is not a spectator sport! | — Chickering & Gamson |
| Dates Tue Thu |
Topics | Readings |
|---|---|---|
| 1/10 1/12 |
Review: Course policies.
Review Java 1 topics on request (Applications and applets,
bytecode, methods, scope, modifiers,
Object Oriented programming,
Wrapper classes, using BigDecimal
and BigInteger classes,
graphics, AWT,
swing, and SWT,
user interfaces, events, layout managers, and
MVC
(Model-View-Controller) architecture.)
Using Eclipse and NetBeans Java IDE. |
Software Engineering
Code of Ethics,
Eclipse Documentation (the Workbench User Guideand Java development user guidesections), NetBeans Documentation (the Java Quick Start Tutorialand Developing General Java Applications) Additional Links Java 7 SE API reference, tutortials, and sample code from Oracle, ant.apache.org, Eclipse, NetBeans, Eclipse tutorial, NetBeans Tutorial |
| 1/17 1/19 |
Exceptions review: checked vs. unchecked, using
and defining, try-catch-finally blocks,
using try-with-resources (Java 7).
System.exit, finalizers, and shutdown hooks. Boxing and unboxing. Initialization blocks. static import.
enums.
Annotations.
Covarient return types, clone method, copy constructors.
Varargs.
Reflection.
|
Chapters 13 (Exceptions),
Liang on-line supplements Java-L (initialization blocks),
Java-F (enums),
Reflection tutorial,
covariant return types tutorial,
Java tutortials for Initializing Fields(including static initialization blocks), Using Package Members(including static import), Enum Types, Annotations, The Numbers Classes(boxing/unboxing), Passing Information to a Method or a Constructor(varargs), Additional Links on-line Exception demos, on-line enum, boxing, init. blocks, annotations, covarient, and reflection resources |
|
1/24 1/26
1/31
|
Files and I/O (java.io, java.nio),
JFileChooser.
Object serialization.
Using CVS (team programming using a code
repository and versioning system).
Project #1 (IDE) due 1/31 |
Chapters 9.6-9.8, 19,
Oracle Java Tutorial for I/O,
CVS Tutorial for Eclipse (see also this
Eclipse
CVS FAQ and the
Eclipse CVS getting started guide),
CVS Tutorial for NetBeans
Additional Links on-line file, I/O, and CVS resources |
| 2/2 |
Java Collections: arrays (review), types/interfaces (List, Set, Map),
common implementations (Linked List, Hash, Tree).
java.util.Collections utility methods.
|
IBM Developerworks Java Collections tutorial
Additional Links Oracle Java Collections Tutorial, on-line Collections resources |
| 2/7 2/9 |
Generics.
The garbage collector and Java memory model,
Weak/soft references, WeakHashMaps.
Project #2 (CVS) due 2/9 |
generics.pdf
(tutorial from Joshua Bloch's Effective Java),
reference types tutorial (skip Reference Queues and Phamtom References)
Additional Links on-line memory, garbage collection, and Reference resources |
| 2/14 | Exam #1 | |
| 2/16 |
Internationalization (I18N),
Encoding (Unicode,
UTF-8,
ISO 8859-1).
Locales, java.text.*,
resource bundles, property files.
System properties.
Using the Preferences API. |
Internationalization tutorial from Oracle
Additional Links on-line I18N resources |
|
2/21 2/23
2/28
|
Object-oriented analysis and design.
Introduction to design patterns.
Model-View-Controller (MVC) pattern.
UML.
Project #3 (files and collections) due 2/21 |
Chapters 10 (Thinking in Objects),
Liang on-line supplements III-N (Design Patterns)
and III-W (UML),
CRC Cards,
UML Tutorial
Additional Links on-line design and UML resources |
|
3/1
3/6 3/8
|
Testing, using JUnit.
Using assertions.
Logging for Java.
Management and monitoring of applications and the JVM.
Project #4 (RFP) due 3/6 |
Liang on-line supplement III-P (assertions),
Official (short) JUnit tutorial,
Extreme Programming example: Bowling scores,
Java logging tutorial,
Monitoring Java programs using Jconsole
Additional Links on-line testing resources, logging and monitoring demos Liang on-line supplement III-X (JUnit) |
| 3/13 3/15 |
Multithreading (Concepts, issues, object locks,
synchronized, wait,
notify, notifyAll).
Timer classes.
|
Sun/Oracle Tutorial on Concurrency
Additional Links on-line Multi-Threading resources |
| 3/19 – 3/25 | Mid-Term Break — HCC closed | |
| 3/27 |
XML (SAX, DOM,
StAX, XSLT), JSON.
Project #5 (Mini-Golf part 1: requirements and design) due 3/27 |
Class XML Lecture Notes,
Liang on-line supplements V-C and V-D (XML)
Additional Links on-line XML and JSON resources |
| 3/29 | Exam #2 | |
| 4/3 4/5 | Database access (JDBC), SQL, Using ODBC. |
Database Concepts
(PDF)
Additional Links Liang on-line supplement IV-A, -B, -E, -F, -G, -H (databases), on-line database resources |
| 4/10 |
Overview of Ant build tool.
Overview of Maven build tool.
Project #6 (XML) due 4/10 |
TBD
Additional Links on-line Ant and Maven resources |
| 4/12 | In-Service Day — HCC closed | |
|
4/17 4/19
4/24 4/26
5/1
|
Overview of Java EE design: Web-, business-,
and EIS- tiers,
fat/thin clients, grids and clusters, applications and web services
(SOAP, WSDL, and UDDI).
EJBs.
Other Java EE technologies: JNDI, ...
Installing Glassfish and related software. Servlets (Handling GET and POST requests, using cookies and session tracking). JSP. Deployment: WARs and EARs. Project #7 (Mini-Golf part 2: tests and implementation) due 4/17 | Liang on-line supplement V-A (HTML), On-line Chapters 39–40, 42.6 (Ch. 41, 42 optional), on-line Java EE resources |
|
4/26
5/1
|
Additional topics (interest and time permitting): Using advanced layout managers (GridBag, Box, and Overlay and JlayerPane). Borders. PLAF. Toolbars and Actions. Swing and the MVC (Model-View-Controller) architecture. JTables (and JTrees). Networking (URLs, Sockets, UDP Datagrams, Client-Server). RMI. Java WebStart (JNLP). Java ME concepts. Graphics and the Java 2D API: Clipping, transformations, stroking. Printing in Java. Java Security: Signed Applets, Policy files, sealed packages. The jar utility, jar manifest files.
|
Chapters 33–36,
on-line PLAF resources,
Chapters 30, 43, on-line Networking Resources Chapters 32, Liang on-line supplements III-R (Java 2D), III-S (Adv. Layout managers), III-V, (PLAF), on-line JavaBeans, security, graphics, printing, WebStart, and JavaME resources |
| 5/3 |
Final Exam
Project #8 (Web Application ) due 5/3 |
| Resources | |||||
|---|---|---|---|---|---|
| Software Engineering Code of Ethics | Joint ACM and IEEE code of ethics and professional conduct | Debug Strategy | Excellent advice from Patricia Shanahan on debugging | ||
| Bytecode Demo | Bytecode Demo using javap | Pack.java | Demo of bitwise operators | ||
| Java Setup | Instructions for re-creating the Java setup of our classroom, including the install of NetBeans, Eclipse, JDK, Ant, Maven, JUnit, Derby database, and other tools | ||||
| ExceptionDemo.java | Demo of catching and throwing exceptions | TryWithResources.java | Demo of using Java7 automatic resource management (try-with-resources) | ||
| ShutdownHookDemo.java | Demo of using shutdown hooks | Finalizer.java | Demo of Finalizers | ||
| Student.java | Demo of the telescoping constructors pattern | InitBlockDemo.java | Initialization block demo | ||
| StudentBuilder.java | Demo of the builder pattern to replace complex constructors | StudentPQ.java | Slightly more complete (production quality) example of Student.java |
||
| Enum in Java 5 | Tutorial on Java 5 enums | CoinPurse.java | Demo of enums | ||
| BoxUnbox.java | Demo of Java 5 auto-boxing | MetadataDemo.java | Java 5 Annotations demo | ||
| VarArgs.java | Simple varargs Demo | Annotations | Java 5 Annotations lecture notes | ||
| CloneDemo.java | Shows how to implement clone, using covariant return types | ReflectionDemo.java | Simple Relection Demo | ||
| Top 25 Errors | A list of common security-related coding errors, from SANS.org and CWE.Mitre.org (See also CERT Secure Coding Standards for Java and other languages) | ISO 27000 (Wikipedia) | The ISO/IEC 27000-series (also known as
ISO27kfor short) comprises information security standards (Some of these standards are freely available here) |
||
| SEI Software Development | Information from the Software Engineering Institute (See also their software Architecture and their certification information) | IEEE Computer Society Software Professional Certification | Information about the CSDA and CSDP certifications | ||
| Software Engineering (Wikipedia) | This article discusses certifications and legal requirements | SWEBOK 2004 edition | The Software Engineering Body Of Knowledge defines what every software engineer should know (design, testing, and similar topics) | ||
| ISO 12207 (Wikipedia) | A popular ISO standard for software lifecycle processes | ISO 9000 (Wikipedia) | This standard refers to the process of creating software (certified compliance is required for software sold in the European Union) (For project management the most widely recognized certification is Project Management Professional (PMP)) | ||
| Project Proposal for a voice mail system | A project proposal | Object Categories | A guide to finding objects | ||
| CRC Cards | The original paper describing the CRC design method. (Another example.) | OOD Guide | OOA and OOD Study guide | ||
| Synopses of Design Patterns | A brief description of many Java patterns | Design Patterns | Tutorials, FAQs, and more | ||
| ootips.org | A large collection of OO tips, techniques, and design patterns | Java Design Patterns 101 | A tutorial on common design patterns from IBM Developerworks | ||
| www.UML.org | The site for UML standards, tutorials, and more | ||||
| UML Resource Center - IBM | UML tutorials | How to Design a Program | An over your shoulder look at thinking about design | ||
| Violet UML Editor | Originally written by Cay Horstman, this free Java application (a runnable jar file) is an excellent UML diagram editor | ArgoUML | Free UML diagramming tool that can produce code from the diagrams. (Not well maintained, but there is an Eclipse plug-in for it.) | ||
| Dia | Free diagramming tool (for UML and a lot more) | ||||
| UML Quick Reference (PDF) | A excellent reference card showing one each of everything | UML Reference (PDF) | A more complete UML reference | ||
| Testing Overview | Lecture Notes on Testing | Test Case Self-Assessment | Attempt to generate sufficient test cases for a simple program | ||
| TextKitTestSuite.java | Junit Testing Example for TextKit.java class | BankAccount.java | Demo using assertions for pre-, post-conditions, invariants | ||
| JUnit.org | Junit Testing | JUnit API Java docs | On-line JavaDocs for junit.* package |
||
| JUnit 4 Testing Tutorial (PDF) | Jump Into Junit 4 Testing, from IBM DeveloperWorks | ||||
| JMock.org | Jmock is a library that allows you to easily create mock objects for testing | Java Code Checker | PMD can report (likely) logic errors in your code | ||
| LoggingDemo.java | Short demo showing Java SE logging API (See also the Java logging tutorial) | Apache logging home | Download or read about log4j, logging in general, and the GUI log viewer chainsaw | ||
| Java Monitoring tutorial | See also Java Management and Monitoring resources | Management and Monitoring Demo | Shows how to run a managed application and how to monitor it. (See also docs for jconsole and jvisualvm tools) | ||
| Collections Tutorial from IBM Developerworks | Short tutorial on using Collections | generics.pdf | Excellent tutorial on using Generics from Joshua Bloch's Effective Java | ||
| Oracle Java Collections Tutorial | A more through tutorial on Collections | Oracle Guide to Java Collections | Additional Java Collection resources | ||
| Collections tutorial | Another Collections Tutorial from IBM DeveloperWorks | Generics tutorial | Generics Tutorial from IBM DeveloperWorks | ||
| CollectionsDemo.java | Demo of using various Java collections | Generics Tutorial from Sun (PDF) | Tutorial and complete reference to using Generics (See also this simpler Sun Generics Tutorial from Oracle) | ||
| Destutter.java | Demo List and some java.util.Arrays methods, tr remove adjacent duplicates | ||||
| HashCodes | Steps to create your own hashCode methods |
GenericDemo.java | Demo of a generic method | ||
| RAM layout | Shows how primitives and objects are referenced | Understanding Weak [and Soft] References | A short but good blog posting explaining Java's Reference types | ||
| Java Reference Objects | A short but through tutorial on Java's memory model, garbage collection,
and References (especially SoftReference and WeakReference) |
java.lang.ref Package Description | Java API docs for Reference objects | ||
| GenericRefDemo.java | Demo of a generic Cache class that uses SoftReferences, and a demo of WeakHashMaps | ReferenceDemo.java | Example of weak and soft reference use | ||
| Java Garbage Collection references | Discusses the various GC algorithms used with the HotSpot JVM and how to select one, and tune it for performance (See especially the Memory Management Whitepaper (PDF)) | Java (HotSpot JVM) non-standard option reference | Describes the non-standard options, useful to improve performance (of the garbage collector for example) | ||
| I18N (Internationalization Tutorial from Sun) | Tutorial on using I18N, Locales, and Resource Bundles | ISO-216 international paper sizes | A clear explaination of A4 and other international standard paper sizes | ||
| Java internationalization basics | A readable tutorial on I18N and L10N, from IBM DeveloperWorks | Locales and I18N | Some notes about using Locales and internationalizing programs | ||
| ISO-639 | English (and French) language names, and the standard 2 and 3 letter codes | ISO-3166 Country Codes | The official list of two and three letter country codes, used in locales | ||
| Encodings and Character Sets | More information then you want to know about Unicode, encodings, etc. | Font concepts | Explains Font terms and concepts as used in Java | ||
| CodePointDemo.java | Shows how to work with I18N Strings | ShowFonts.java | Show all local fonts, list font families | ||
| IGreet.java | Uses Locales, ListRecourceBundles for I18N | Stocks.java | An Internationalized Applet | ||
| Version.java | Displays the JVM version in your browser | Unicode symbols | Applet showing Unicode font listings, plus a few symbols | ||
| ShowProps.java | Lists Java system properties and their values | PrefsDemo.java | Shows the Java Preferences API | ||
| Multi-Threading Lecture Notes (PDF) | A discussion of the concepts and issues of using Threads | Java Concurrency / Multithreading Tutorial | A terse and up-to-date tutorial | ||
| Sun/Oracle Tutorial on Concurrency | Discusses all multi-threading features of Java 6 | ThreadLocal.java | Demo of ThreadLocal variables | ||
| DiningPhilosophers | Sun's DeadLock Thread Demo | Sort algorithm race | Sun's Multi-thread Sorting Demo | ||
| PServer1.java | Pseudocode of a Print Server | PServer2.java | Improved pseudocode of a Print Server | ||
| Oops.java | Demo of pausing inside of an event handler (and why it's not a good idea) | Threads.java | Mutli-threaded Demo showing suspend, resume, and stop | ||
| HoopsApp.java | Simple Animation using a Thread | Ssjava1.java | Swing animation, uses Timer |
||
| Bank.java | Mutli-threaded Demo of synchronized |
||||
| Java Tutorial for I/O | Official Oracle Java tutorial, including old (streams) and NIO (including Java 7 NIO.2) | FileKit.java | Show how to calculate the MD5 checksum of a file | ||
| Greet2.java | Shows non-GUI input with Scanner | FileDemo.java | Shows reading, writing files with encodings (Download UTF-8-demo.txt for FileDemo.java) | ||
| DirList.java | Prints a directory listing. | FileKit.java | Show how to calculate the MD5 checksum of a file | ||
| Person.java | A short demo to open, read, parse a file of data, and create a List of objects | People.txt | A (very) short text file to use with Person.java | ||
| RandomAccessDemo.java | A short demo to open, read, and write to an ASCII text data file | RandomAccess.dat | A (very) short text file to use with RandomAccessDemo.java | ||
| DeepCopy.java | A short demo of serialization, used to make deep copies of arrays and other ojects | NIO Tutorial (PDF) | from IBM DeveloperWorks | ||
| NioDemo.java | Uses java.nio classes to copy a file |
Tutorial for Java NIO (PDF) | A shorter (but slightly more readable) version of the
IBM tutorial on using java.nio |
||
| MemMapDemo.java | Uses java.nio memory-mapped I/O
(use with the sample file MemMapData.txt) |
Tutorial for NIO.2 | Short NIO.2 tutorial (with example code) from IBM DeveloperWorks | ||
| CVS Tutorial for Eclipse | Also see the Eclipse CVS FAQ, and the CVS Tutorial for NetBeans. Find more at the CVS home page | ||||
| XML Lecture Notes (PDF) | A copy of my lecture notes | XML Tutorial | An excellent hands-ontutorial, from w3schools.com |
||
| UseDOM.java | XML Demo of DOM API | HelloXML.java | XML Demo of SAX2 API | ||
| DOMDemo.java | Demo of XML DOM parsing | XmlNotepad.msi | A very old Microsoft (free) XML editor. (There are better ones!) | ||
| XML-XSL-Demo | XSL (XML Style Sheets) Demo | Xerces-J Setup | Some help to install Apache's Xerces-J XML parser on Windows | ||
| json.org | JSON documentation, including links for libraries for Java | JSON Demo | Demo of using JSON (See this JSON-sample.txt) | ||
| Ant.Apache.org | Home of the Apache Ant build tool | Apache Ant manual | Includes both a reference and tutorials | ||
| build.xml | A sample Ant build.xml file for a hello, worldapplication |
Apache Ant | from WikiBooks.org. See also this Ant Overview (PDF) from Apress.com | ||
| Excerpts from Java Programming with Ant | Includes tutorial chapter and an Ant task reference | Ant Best Practices | 15 good tips, from O'Reilly | ||
| Database Lecture Notes (PDF) | A brief overview of database concepts, and how to use databases in Java | Databases for System Administrators | Similar to the lecture notes, but with information appropriate for system administrators. (It does include a worked example of normalization) | ||
| Coffee Database | Directions to create an ODBC Text database on Windows | SquirrelSQL.org | A (free) GUI Java database client, to work with (nearly) any type of database | ||
| DBDump.java | Displays a table from a database | Grades.java | MultiThreaded Swing GUI and JDBC Demo | ||
| DerbyDemo.java | JDBC demo of the embedded Derby database | Java DB Manuals | Tutorials and reference for Java DB (a.k.a. Apache Derby) | ||
| myServlet.war | Example WAR (Web application ARchive) with a Servlet | Java EE Home | Sun Java EE site | ||
| Java EE Overview | Draft lecture notes | Hello, World RMI demo | Simple, basic RMI demo from Sun | ||
| JNDI Tutorial | Sun's JNDI on-line tutorial | Mastering Enterprise JavaBeans, 3rd Ed. | A great EJB book, for free as a PDF download | ||
| Designing Java EE Applications | A Sun Blueprint Article | Java EE Tutorial | A Sun Java EE Tutorial | ||
| Java EE Technology Center | An Oracle/Sun Java EE developer resources | ||||
| TheServerSide.com | A Java EE site with many tutorials | Java EE Architect's Handbook | A pretty good Java EE book, available for free from here | ||
| JBoss Home | JBoss Java EE Application Server | WebSphere | IBM's Java EE application server | ||
| Tomcat Setup | Apache's Tomcat web application Server install help for Windows (See also the popular Jetty web application server) | Credit Card Processing | A brief overview of e-commerce payment processing | ||
| CopyTest.java | Shows Graphic contexts are copies | HeavyLight.java | Shows difference of Heavy and Light weight components | ||
| Logo2D | Java2D Graphics Demo | Jade.java | Fancy Text Rendering | ||
| Smile2.java | Multimedia (with sound) applet | SmileJar.java | Graphics, in a jar | ||
| Printing Demos | Several examples of Java printing | JfileChooserDemo | Shows a GUI file chooser dialog | ||
| AWT - Swing Demo.java | Simple Swing demo, compares with AWT version | IntCalc.java | Interest Caclulator with Swing
PLAFdemo |
||
| SwingDemo1.java | Simple Swing demo | LblDemo.java | Swing JLabel demo | ||
| MultiLineDemo.java | Shows how to draw text with styles | ||||
| Ssjava2.java | Swing animation, uses JLayerPane |
||||
| JTableDemo.java | Simple JTable Demo | ClipEx.java | Demo of copy/paste clipboard access | ||
| SimpleBean.java | A Simple JavaBean Tutorial | Marquee | Marquee Java Bean | ||
| SBean.java | Simple Java Bean with BeanInfo, runnable jar | Download the BeanBuilder | A GUI Bean Developement Kit | ||
| JavaBeans home page | Read the Specifications and find other related resources | Download the BDK | The Bean Developement Kit (platform independent version from Sun) is interesting but obsolete | ||
| J2ME step by step (PDF) | Tutorial on J2ME (Java Micro Edition) | JNLP API Examples | |||
| ChatServer | Chat room Server | ||||
| Java Security | Tutorial on Java Security from Oracle | WriteFile.java | A signed Applet to create a file on the local system | ||
| Model Solutions to Assigned Projects | |||||
| Logo2D | Java2D Graphics Demo | Office Hours Project | Model Solution to Office Hours project #1 | ||