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
|