jsp by keralaguest


									Distributed Web Systems

                                    Laboratory exercises
                                    Introduction to JSP

Learning goals:

    Practice writing JSP pages
    Learn to use JSP expressions, scriptlets, and JSP directives


Recall the work you did for Lab “Handling HTML forms”. If you missed that lab, just look
up its description on the course web page. In the first part of that lab, you needed to create a
registration HTML form and write a servlet that processes input data from that form.

In this lab, you will need to create exactly the same registration form application. However,
instead of a servlet, you will need to use a JSP for data processing.

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

    Copy your “index.html” file from the “Handling HTML forms” Lab into the “web”
     sub-directory of your new project. If you did not do that Lab, create a new
     “index.html” file with the registration form as described in the lab sheet (or download
     a ready one from the course web page).

    Modify your “index.html” so that the form action calls a JSP instead of a servlet (e.g.

    Write a JSP that performs exactly the same functions that your servlet in the
     “Handling HTML forms” Lab. That is:

           a. Read the input data submitted by the user.
           b. Check that the name field is not empty. If it is empty, you 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, you 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

       Hint: you can use JSP scriptlets for conditional data processing (e.g. checking validity
       of the input data).
Distributed Web Systems

    Put this JSP into your “web” sub-directory.

    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. Notice: though you do not have servlets in this
     application, you still need to provide a descriptor. So, all you will need to do is to
     simply remove all servlet definitions and mappings.

    Build and deploy your application using Ant (Notice: there are no .java files to
     compile here, so Ant will simply copy files from your “web” into your “build” sub-
     directory for deployment).

    Verify the behaviour of your code for acceptable and incorrect inputs.

In the remainder, let’s practice some JSP directives.

    Write a JSP that displays a random number between 1 and 42 (or what’s the highest
     number in lotto?). The JSP should display only the number, no HTML formatting,
     page headers, etc.

    Put this JSP into your “web” sub-directory.

    Write a JSP to display results of a lotto draw:

           a. Display the date of the draw as today’s date using the Java’s “Date” class.
              Hint: you might need to include some additional Java packages to use this
           b. 6 lucky numbers (i.e. 6 random numbers, please use some nice HTML
           c. The bonus number (i.e. one more random number).

           Since you already have a JSP that displays a random number, you should reuse it
           in your “lotto” JSP.

    Add these JSPs into your “web” sub-directory.

    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).

    Write down your numbers.

    Now… Are you feeling lucky? Call your “lotto” JSP and see if you are!

    If you have got time left, try figure out what may go wrong with your lotto draw. Can
     you fix it?

    Remember to remove your application when you are done.

To top