forms Distributed Web Systems Laboratory exercises
Document Sample


Distributed Web Systems
Laboratory exercises
Handling HTML forms and request headers
Learning goals:
Learn to extract and process data submitted through HTML forms using servlets
Learn to access and analyse HTTP request headers with servlets
Explanations:
It is assumed in this lab that you are now familiar with the structure of a web application, the
contents of a web application deployment descriptor file, and with using Ant for building and
installing your web applications. If you have difficulties with any of these things, please
revisit the previous lab materials.
You may notice that you have to perform some routine tasks, such as printing out HTML
document headers, over and over in many different servlets. To avoid coding them again
every time, you can put the most frequently used bits of code into a separate helper class and
call them from your servlets. One such helper class called “ServletUtilities” is available on
the course web page. You may want to download it, save together with your other java
sources, and use in your application. For example, you may find its “headWithTitle” method
very useful for printing out HTML page headers.
What to do:
Create a new Ant project directory for this lab with the “src” and “web” sub-
directories. Put the Ant build files from the course web page into this project
directory.
Create a simple HTML page with the following
elements:
a. a welcome message;
b. a registration form with three text input
fields for user name, password and
telephone number;
c. a form submit button. Use an
appropriate action URL for this form
(e.g. “Register”). You will map a
servlet to this URL later on.
Please see an example in the illustration.
You are of course encouraged to use fancier
HTML formatting and layout for a nicer looking page.
Put this HTML page into the “web” sub-directory and name it as “index.html”, so that
it becomes the default page for your web application.
Distributed Web Systems
Write a servlet that performs the following functions:
a. Read the input data submitted by the user.
b. Check that the name field is not empty. If it is empty, the servlet should output
an error page that explains the problem to the user and asks her to repeat.
Provide a link back to the input form.
c. Check that the length of the password is at least 8 symbols. If the password is
too short, the servlet should output an error page that explains the problem to
the user and asks her to repeat. Provide a link back to the input form.
d. If the input data are acceptable, output a greeting web page that greets the user
by her name and also prints out the type of the web browser used for
registration.
Remember to place all your .java sources into the “src” sub-directory, so that Ant
could compile them automatically.
Create a web application deployment descriptor for your application and put it into
“web/WEB-INF”. You can modify the descriptor from the previous lab, or the one
available on the course web page. The URL pattern for your servlet must match the
action URL in the form on your “index.html” page.
Compile and deploy your application using Ant.
Verify the behaviour of your code for acceptable and incorrect inputs.
Well done! Now you can handle user input from HTML forms and also access information
from the HTTP request headers. In the rest of this lab, you will spend some more time
working with headers.
Write a servlet that prints out the following information:
a. Request method;
b. Request URL;
c. Request protocol;
d. A table displaying names and values for all HTTP headers in this request.
If your lab time is running out, you may use the ready code for this lab from the
course web page. However, do spend time in this case familiarising yourself with
that code.
Add this servlet to your application descriptor and create an appropriate URL
mapping for it there.
Re-deploy your application. That is, do “ant remove” followed by “ant install”.
Remember that all Ant commands must be issued in your project directory (where the
Ant build files are).
Call the servlet and analyse its output.
Distributed Web Systems
You are done! Remove your application.
Get documents about "