AddObjectToSessionServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * This servlet reads data(parameters) from an http request and adds them to the
 * Customer Object. Finally, store the Object Customer to Session.
 
 @author Sofoklis Stouraitis
 */
public class AddObjectToSessionServlet extends HttpServlet {

  /**
   * Handles HTTP Post requests.
   
   @param request
   *            the request object
   @param response
   *            the response object
   
   @throws IOException
   *             if an input or output error is detected when the servlet
   *             handles the POST request
   @throws ServletException
   *             if the request for the POST could not be handled
   */
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {

    response.setContentType("text/html; charset=ISO-8859-7");
    PrintWriter out = new PrintWriter(response.getWriter()true);
    /*
     * Enable Session
     */
    HttpSession session = request.getSession(true);

    /*
     * gets parameters from the request.
     */
    String name = request.getParameter("nameField");
    String surname = request.getParameter("surnameField");
    String username = request.getParameter("usernameField");
    String password = request.getParameter("passwordField");
    String preferences = request.getParameter("preferencesField");
    String gender = request.getParameter("genderField");
    String age = request.getParameter("ageField");

    try {
      out.println("<html>");
      out.println("<head>");
      out.println("<Meta Http-Equiv='Content-Type' Content='text/html; Charset=windows-1253'>");
      out.println("<title>AddObjectToSessionServlet</title>");
      out.println("</head>");
      out.println("<body bgcolor='#99CCFF'>");
      out.println("<h1>AddObjectToSessionServlet is running...</h1>");

      /*
       * checks if all the parameters have value.
       */
      if (!(name.length() 0|| !(surname.length() 0)
          || !(username.length() 0|| !(password.length() 0)
          || preferences.equals("0"|| gender == null || age == null) {
        out.println("<h1>Δεν έχετε συμπληρώσει όλα τα στοιχεία σας!!!</h1>");
        return;
      }

      /*
       * Converts parameter's values from ISO-8859-1 to ISO-8859-7 (Greek)
       * in case the user typed data in Greek.
       */
      name = new String(name.getBytes("ISO-8859-1")"ISO-8859-7");
      surname = new String(surname.getBytes("ISO-8859-1")"ISO-8859-7");
      username = new String(username.getBytes("ISO-8859-1")"ISO-8859-7");
      password = new String(password.getBytes("ISO-8859-1")"ISO-8859-7");
      preferences = new String(preferences.getBytes("ISO-8859-1"),
          "ISO-8859-7");
      gender = new String(gender.getBytes("ISO-8859-1")"ISO-8859-7");
      age = new String(age.getBytes("ISO-8859-1")"ISO-8859-7");

      /*
       * Initialize Customer Object and put the data.
       */
      Customer customer = new Customer();
      customer.setName(name);
      customer.setSurname(surname);
      customer.setUsername(username);
      customer.setPassword(password);
      customer.setPreferences(preferences);
      customer.setGender(gender);
      customer.setAge(age);

      /*
       * Store Object customer to Session in a variable named 'Customer'
       */
      session.setAttribute("Customer", customer);

      out.println("<h2>Τα αντικείμενο Customer αποθηκεύτηκε στο Session!</h2>");
      out.println("<br><a href='ReadObjectFromSessionServlet'>Ανάγνωση του αντικειμένου Customer από το ReadObjectFromSessionServlet</a>");
      out.println("</body>");
      out.println("</html>");

    catch (Exception ex) {
      out.println("Exception: " + ex.getMessage());
      out.println("</body>");
      out.println("</html>");
    }
  }
}// End of class