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)
