IDEs and Editors for JSP and Servlet Development

If you are new to Java programming, you are probably starting by using notepad. When you want to compile and run a program, you need to open a DOS window and type javac and java MyProgram. Also, what you type is what you get: notepad does not help you any way with Java syntax or design. This is fine if you are just starting, and even experts sometimes use command-line Java options. However, a good Java-savvy editor or Integrated Development Environment (IDE) will make the job of creating Java code a lot easier.

  • Editors. Editors are simpler: they generally highlight the Java syntax, indent for you, balance your parentheses and braces, and let you compile from within the editor. But that's about it: they don't write code, integrate tightly with the compiler or app server, or have graphical Java development tools.
  • IDEs. IDEs are more complex: most of them have visual Java development tools, tight integration with the compiler or application server, and may include tools for debugging, refactoring, version control, and so forth.

Opinions diverge greatly on whether it is better to use a smart editor or a full-blown development environment. Some people strongly prefer the editors, feeling that the IDEs take too long to learn, interfere with really learning the APIs, force you into their style of code, and generate poor code for you. Other people strongly prefer the IDEs, standardize on certain IDEs throughout their organization, and liken people who won't use IDEs to programmers who refuse to move from assembly language to higher-level languages. There is no clear right answer, and my opinion is that it mostly boils down to taste. The one recommendation I can make is to avoid IDEs when first learning Java; otherwise you will spend your first few days learning the IDE instead of learning Java. So, if you are brand new to Java, download Java, grab one of the editors that understands Java, and start writing and running sample programs as soon as possible.

Editors for Java Programming

Search the Web:

This section is divided into four subsections: multi-OS editors, Windows editors, MacOS editors, and Unix/Linux editors.

Multi-OS Editors

  • Emacs. This is a powerful, free editor that does color syntax highlighting, automatic indentation, and paren/brace balancing. It also has a package (JDE) that lets you compile and run Java applications directly from the editor, just by using a pulldown menu. Also includes a good HTML mode and modes for many other programming languages. Runs on Unix too. You can either go to the emacs on MS Windows home page and choose the configuration you want, or go to the official emacs home and poke around from there. Emacs also runs on MacOS X. Although I personally prefer emacs because I'm used to it and it can be customized so completely, emacs is non-standard in a number of ways (especially the Cut/Copy/Paste keystrokes). So Windows users who don't already know emacs might prefer one of the other editors that seems more familiar.
  • Xemacs. This is a spinoff of GNU emacs that was originally designed to include better X-windows support on Unix. You can go to the Xemacs home page, screenshots, read about the difference between Xemacs and GNU emacs or download. Be sure you have the latest version of JDE (the Java-support package). XEmacs 21.5 works on MacOS X, but it does not feel very much like a Mac application. There is also a port of XEmacs 19.14 that works on all recent versions of MacOS, from 8.1 through MacOS X; see this page for details.
  • JEdit. Syntax highlighting for over 90 languages, including Java. Open source; written in Java.
  • NEdit. Provides syntax highlighting for many languages, including Java. Although developed originally for Unix/Linux, it can be used for MacOS X, OS/2 and MS Windows. However, NEdit still uses the Unix Look and Feel.

Windows Editors

  • TextPad TextPad is a powerful programming editor with good modes for Java, HTML, JSP, C, C++, and many other languages. It also has a good spellcheck mode (including within Java comments), and is quite customizable. It is nagware: you can use it indefinitely for free but it will nag you every so often, suggesting that you pay for it. If you have problems setting up TextPad to use Java, this forum will help.
  • UltraEdit. Another editor with an excellent Java mode. Can be set up to compile and run Java programs directly from the editor. Also supports syntax highlighting for C/C++, VB, HTML, Java, Perl, and others, and has decent spellchecking. You can download for free for 45 days, but have to pay $35. after that.
  • Visual SlickEdit. Excellent Java mode; runs on Unix too; and provides modes for many other languages. Also provides a small Java GUI builder (has a toolbar for creating buttons, labels, and other GUI components). Free download; costs $269 thereafter.
  • ConTEXT. Decent support for Java and several other languages. Totally free, although they do ask for voluntary donations.

Unix/Linux Editors

MacOS Editors

  • BBEdit. This is a very popular commercial editor that has excellent Java and HTML support, plus support for many other programming languages.
  • SpotCheck. A Commercial Java-only editor for MacOS. Almost qualifies as an IDE because it checks for errors while you type. Costs $20.

Integrated Development Environments

Search the Web:

Note that taste in IDEs is a highly personal matter, but Eclipse, JBuilder, and Sun Java Studio (in that order) appear to be the most popular choices, at least among the free and low-cost options. Also note that some developers prefer a good Java-savvy programming editor to an IDE. For those, see the Java editors section.


Free, open-source IDE. The most popular of the Java IDEs, but harder to set up and configure than the commercial ones. See this installation tutorial for setup help. Eclipse is the base IDE, but there are many Java-related plugins for Eclipse, and several commercial IDEs built on top of Eclipse. Here is information on a few:

Borland JBuilder

Borland JBuilder is a Java IDE for Windows, Solaris, and Linux. They offer a few different JBuilder versions. Look at their feature matrix to compare and contrast the different versions:

Sun Java Studio Creator

Java IDE for Windows, Solaris, and MacOS. Has very extensive drag-and-drop support for JavaServer Faces (JSF). Aims at making it easy for relative beginners to make complex server-side apps, but will be less popular for those not using JSF or for experts that prefer to work directly with the code. Built on the free, open-source NetBeans IDE.

IBM WebSphere Studio Site Developer for Java

Java IDE for Windows and Linux. Expensive but very powerful IDE for servlets, JSP, and other J2EE development. Not limited to use with the WebSphere app server.

Macromedia Dreamweaver

High-end Web-site development tool, not a general Java IDE. However, it has extensive support for JSP (including plugins for JSTL and JSF, with Tomcat integration). Not cheap.

WebLogic Workshop

BEA WebLogic Workshop 8.1 is a very powerful IDE for developing applications on the BEA WebLogic server. Weblogic Workshop runs on Windows 2000, XP, Linux and Solaris, and requires a Weblogic Server. You can download a free version or a Professional version.

Oracle JDeveloper

Oracle JDeveloper is powerful IDE with lots of support for J2EE capabilities (including EJB and Struts). Plenty of support for Oracle database access too, of course.

IntelliJ IDEA

An IDE that is considered powerful, yet relatively non-instrusive. Expensive ($499), but popular among people who like a smart editor and Java-related tools, but who don't like the IDE to write or modify their code.


New (2004) IDE from Xinox. JCreator has two editions: JCreator Pro (free 30 day trial), JCreator Standard (completely free).

Javelin from Step Ahead SW

High-level but very inexpensive Java IDE for Windows. If you like an IDE that lets you do lots of things visually without your needing to know many of the details, you will like Javelin. If you want control over the code and don't like IDEs to take over the code writing, you will not like Javelin.