Internet Programming 2 - Course: Server-side with Java Servlets

The goal of the Internet Programming 2 - course was to learn HTTP server-side programming. I chose to use Java servlets with Apache Tomcat as a servlet container/engine.

Here you can view my solutions of the course assignments.

About this Course

Since cheap Web hosting for servlets are more rare than for example cheap PHP hosting(which I have for this site), I host the servlets from home with this free domain: webpelican.servebbs.com.
I didn't use any domain registration company for this domain name - I simply used a free domain that some companies offer.

If you already have a server set up at home I recommend you to to install your own servlet engine - such as Tomcat Apache - to get a basic understanding of how servlets work.

You could then start expermenting within your local network, and perhaps use a domain service that offers a free domain to make the servlets on your local network accessible to users on the Internet without having them remember your ip-address. This can usually be done for both dynamic and static ip-addresses.

Eventually, when going online for real with your Web applications / Servlets, you could start thinking about domain registration companies and dedicated servlet hosting.

Feel free to use and/or alter any code in any way you like.


Select course assignments from the menu on the left.

Course Description

  • Supporting techniques:
    • HTTP servers, servlet container (Apache, Tomcat)
    • HTTP (GET, POST etc) The doGet and doPost methods of a Java Servlet, i.e. HttpServlet class.
  • Output:
    • Text (environment variables etc)
    • Picture
    • Automatic reload (client pull and server push)
  • Input:
    • URL and links
    • Forms (GET, POST, File upload)
  • Code separation
  • Session handling:
    • Rewriting (links, forms)
    • Save on client-side(cookies, safe cookies)
  • E-mail:
    • Sending email with a servlet (with and without attachments)
    • Receiving email with a servlet(with and without attachments)
  • Databases(connect a servlet to a database):
    • Lightweight (DBM)
    • Relational/SQL:
      • I/O (three-tier, SQL-injection, MySQL)
      • Transactions
      • Effectiveness (Connection pooling)
  • Content handling:
    • Manuell content handling(publishing systems, WIKI, syndication)
    • Automatic content handling (channels, free text search, search engines)
«  Previous Next  »
Loading