Home

Servlet-era archive

mycgiserver archive: the free Java servlet hosting era and projects

A free host for Java servlets, more than 900 member addresses that other sites once linked to, and a handful of projects still linked two decades later.

An open drawer packed with old floppy and cartridge disks

Around the turn of the millennium, putting a Java servlet on the public web was not a casual thing. Most cheap web hosts offered Perl and PHP; Java needed a servlet container, a JVM that stayed in memory, and usually a server you paid for. mycgiserver.com filled that gap for hobbyists and students. It offered free Java servlet and JSP hosting, roughly from 1999 to at least 2006, and a lot of early Java code ended up there.

How the service worked

Each member got an account and a home directory reachable at a tilde address, such as /~ranab/ or /~amri/. Static pages, applets, downloads and JSP files lived in that directory. Compiled servlets ran under a shared /servlet/ path with the member's package name in front, so a class named Security in the kalish package answered at /servlet/kalish.Security. That naming scheme is still visible in every old link pointing here.

The result looked a lot like a university web server. Personal homepages sat next to serious open source projects, coursework, a few blogs and plenty of experiments. Developer sites linked to the projects, among them W3C mailing lists, apache.org, O'Reilly, curl, Slashdot and faqs.org, and many of those links still exist.

In January 2004 the front page announced that mycgiserver.com would continue, with help from Javalobby, the Java developer community. The service then ran as MyJavaServer, a name that read simply as "my Java server", with Javalobby in its navigation. In January 2006 the MyJavaServer front page counted 47,312 registered developers and listed J2SE 5.0 and Servlet 2.3 as its platform.

After the service ended, the domain was parked for years. The address now hosts a guide to running Java apps today, and this page keeps the record of what was here.

Member projects still linked today

The mycgiserver projects below are the ones other websites link to most. Each description is built only from the project's address and the link text other sites used, so it is short where little more is known. The original pages and servlets are no longer online.

Security Test Port Scanner servlet by kalish

A servlet at /servlet/kalish.Security, linked under the name "Security Test Port Scanner". The name describes it: a port scanner presented as a security test. Over the years the member's home page at /~kalish/ collected links from more sites than any other member address on the domain. Neither is online anymore.

Rana Bhattacharyya's Java FTP Server

Rana Bhattacharyya published an open source FTP server written in Java at /~ranab/ftp/, and other sites still link to it as "Rana Bhattacharyya's FTP Server" or "Open-source Java FTP server". A second project in the same account, at /~ranab/img/, was linked as "GIFImage". The pages are gone from this address.

Indonesia SVG maps by amri

The account at /~amri/ was linked as "Indonesia SVG Maps". The page addresses end in .cocoon.xml, which shows they were served through Apache Cocoon, an XML publishing framework that ran on Java. Other pages were linked as "SVG Widgets", a map browser and a geographic client. One citation of the converter page records access in June 2004. None of these pages are online now.

PHP tutorial by koruth

A PHP tutorial at /~koruth/, its table of contents linked as "PHP Tutorial - Contents". It is an odd thing to find on a Java host, and it has more live links from other sites than any other single member page. The tutorial is no longer online here.

Giulio Piancastelli's weblog

The account /~gpiancastelli/ held the weblog of Giulio Piancastelli, first served through a JSP page at archives.jsp?post= and later as static archives under /blog/. Other weblogs linked to single posts: generating RSS fragments with XOM, what the RSSLibJ library could not do yet, whether to test private methods, and "Fun with Jython". One post was linked under the title "Weblog of the Year for 2004". The weblog is no longer online here.

Whitespace paper and beautifier by lisali

The lisali account held a paper on whitespace in HTML pages generated from XSLT, at an address with a doubled tilde, /~~lisali/papers/1.2/paper.htm. It was cited in several threads of the XSL mailing list about output of non-breaking spaces. The C-C++ Beautifier HOW-TO listed a beautifier at /~lisali/jccb among tools for other languages, and a chapter page of Jane Eyre in the same account was also linked. The pages are offline.

Cosmic Trip, a Java Web Start game

The member movegaga published a game called Cosmic Trip at /~movegaga/cosmictrip.html, with a .jnlp file next to it. JNLP files launched Java Web Start, which installed and started a desktop Java application from a link. A page at /~movegaga/blktiger.htm in the same account was also linked. The game pages are offline.

The Oracle of Google servlet by Morat

At /~Morat/ was "The Oracle of Google". Its servlet, /servlet/Morat.GoogleTest, took a question and a list of possible answers in the address and picked one. Other sites linked to individual runs: who coined the word "robot", who India's President was, how many planets there are. One link text notes that the Oracle picked the right answer despite a misspelling. The servlet no longer runs.

Thinlet, an LGPL Java GUI toolkit

The account /~thinlet/ hosted Thinlet, linked as "thinlet (LGPL)", with an overview, a download page, demos and an AmazonBrowser demo started through Java Web Start. A forum for the project ran as a servlet at /servlet/thinlet.Forum. The project pages and the forum are no longer online at this address.

JSP tag libraries by eboudrant

Links to /~eboudrant/ point straight at a "taglibs" section, so the page carried JSP tag libraries, reusable custom tags for JSP pages. A borcon2002 folder sat in the same account. The pages are offline.

jspListView by codemeister

The member codemeister published jspListView, with an introduction at /~codemeister/lvintro.html plus contact and links pages. The name points to a list view component for JSP. Those pages are gone.

Lanled by kast

At /~kast/ was Lanled, offered as a download in lanled.zip. Other sites still link to the account under that name, but the address and anchors say nothing more about what the program did, and the download is no longer available.

Swing notes by Kleopatra

A set of Swing pages at /~Kleopatra/swing/, starting from swingentry.html, with subpages on tables such as focuscycle.html and merlinedit.html. The pages are not online anymore.

GatorJUG, the Gainesville Java user group

The Gainesville Gator Java user group kept its site at /~gatorjug/, with a page of past meetings and an RSS feed linked as the "GatorJUG podcast". The site and the feed have stopped.

Go4java certification site

/~go4java/ was linked as "Go4java- Java Certification Site". A page named ansmock2.htm suggests answers to a mock exam. The site is offline.

Network notes in the ethicalhackers account

The account /~ethicalhackers/ held a set of short networking pages, linked as a Trojan port list, "ALL ABOUT IP ADDRESSES", and notes on NetBIOS and netstat, plus an author page about Gaurav Kumar. These pages are no longer online.

FanTasm in the bratalarm account

The page /~bratalarm/programs.html was linked from Iczelion's Win32 Assembly Homepage under the name FanTasm, which places the bratalarm account among assembly language programmers rather than Java developers. The programs page is no longer online.

Classic Java tools in context

Most of these classic Java tools came from one stretch of Java's history: applets and Java Web Start on the desktop, servlets and JSP on the server, and XML frameworks like Cocoon in between. Applets and Web Start are no longer part of current JDKs, while servlets survived and became Jakarta Servlet. Code written for mycgiserver used the javax.servlet package. Tomcat 9 still runs that namespace on Java 8, while Tomcat 10.1 and 11 need the jakarta imports and at least Java 11 or 17.

Free Java servlet hosting then and now

Free Java servlet hosting in the mycgiserver style, a shared container with a personal directory, is rare today. Its replacement is the free tier of a cloud platform that runs your whole app in a container. The trade-offs moved rather than disappeared. Render's free web service has 512 MB of RAM and spins down after 15 minutes without traffic. Koyeb's free instance has 512 MB, scales to zero after an hour and is labeled as not for production. Azure App Service F1 allows 60 CPU minutes a day. Oracle Cloud's Always Free tier gives you a full VM, but you install the JDK and the container yourself.

The free Java hosting comparison lists those limits in one table, and the deployment guide walks through putting a servlet or Spring Boot app on one of them. If you are reviving an old servlet, check the Java versions timeline first, since the JDK you pick decides which Tomcat branch you can run.

Sources

  1. tomcat.apache.org/whichversion.html
  2. render.com/docs/free
  3. koyeb.com/docs/reference/instances
  4. azure.microsoft.com/en-us/pricing/details/app-service/linux
  5. docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm

Archive / FAQ

Good questions.
Clear answers.

What was mycgiserver?

mycgiserver.com was a free hosting service for Java servlets and JSP pages, active roughly from 1999 to at least 2006, in its later years under the name MyJavaServer. Members got an account with a home directory at /~username/ and could deploy servlets that ran under /servlet/. Developers used it to publish tools, tutorials and demos at a time when running Java on the web usually meant renting a server.

Can I still open the old member pages?

No. The original member pages and servlets are no longer online at this address. This page lists the projects that other websites still link to and describes each one from what its address and the links pointing to it show. Where an author published a project elsewhere, a search for the project name is the best route.

Is free Java servlet hosting still available?

Yes, in a different form. Instead of a shared servlet container with a tilde account, you get a free tier on a platform that runs your app in a container. Render, Koyeb, Azure App Service and Oracle Cloud all have free options, each with limits such as sleep after inactivity or a daily CPU quota.

Why do old servlets not run on a current Tomcat?

Servlets from that era used the javax.servlet package. Tomcat 9 still implements Servlet 4.0 in the javax namespace and runs on Java 8, so old code can work there. Tomcat 10.1 and 11 use the jakarta namespace, which means changing the imports before an old servlet will compile and deploy.

Find your next step.