Before you can develop an application written in the Java programming language, you will need the Java Platform Standard Edition (Java SE) development kit. It has the necessary Java Virtual Machine 1 (JVM), core Application Programming Interfaces (API)s, and the compiler you'll need for most and perhaps all of your development.
Note: Mac users should go to Apple's Mac OS X Java Runtime Environment. Then return for Java programming information and tutorials.
If you are used to working in an Integrated Development Environment (IDE) or want to learn, you can download Java SE with the NetBeans IDE.
For some projects, you'll want additional bundles. Some of the more popular downloads are listed below. If you're not certain what you need, start with Java SE. You'll discover other tools as you become familiar with the Java platform.
The development kits above include the APIs necessary to whatever type of applications you develop in the Java programming language. The APIs and compiler are explained briefly below.
Once you have the development kits you need, you are ready to begin writing code in the Java programming language. Programs are written in three basic flavors: applets, applications, and servlets/JSP pages. Applets run in the JVM built into a web browser; applications run in the JVM installed on a computer system; and servlets/JSP run in the JVM installed on a web server.
While applets and applications usually have some kind of user interface coupled to backend functionality, servlets provide backend functionality only. The user interface for a servlet is usually an HTML form in a browser that invokes the servlet, but any applet or application that opens a hypertext transfer protocol (HTTP) request can call a servlet. JSP, on the other hand, combines the servlet and HTML into a single component. Instead of using an HTML page with a separate servlet, you use an HTML page with regular HTML tags in combination with scriptlets, short bits of code. The entire page is then processed into a servlet when it's accessed or submitted and the results return to the same HTML page that contains the code.
Once you've downloaded the development kit you've chosen, see Getting Started for detailed instructions on how to set up your Solaris, Windows, or Mac environment.