【Java开源代码栏目提醒】:网学会员,鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“RegistrationServlet.java”一文,供大家参考学习!
package ejava.servletsch32;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.util.Properties;
import java.util.Enumeration;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Cookie;
/**
* This servlet is used to handle user registration requests
*/
public class RegistrationServlet extends HttpServlet
{
public final static String REGISTRATION_HTML = "/registration.html";
/** 6 Months in seconds **/
public static int SIX_MONTHS_IN_SECONDS = 60*60*24*183;
public void service(HttpServletRequest servletRequest,
HttpServletResponse servletResponce)
throws ServletException, IOException
{
doPost(servletRequest, servletResponce);
}
/**
* Handles a POST request for registration
*/
public void doPost(HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
throws ServletException, IOException
{
boolean registered = false;
// Make Customer session object and get cookie
try{
// Create Customer object in session from POST data
String firstName = registerNewCustomer(servletRequest);
// Get session object and the cookie name value
HttpSession session = servletRequest.getSession(false);
String cookieValue
= (String)session.getAttribute(ServletsHelper.COOKIE_NAME);
// If no cookie, then add user's first name to cookie
if(cookieValue == null){
// create Cookie for this customer
Cookie cookie = new Cookie(ServletsHelper.COOKIE_NAME, firstName);
cookie.setMaxAge(SIX_MONTHS_IN_SECONDS);
servletResponse.addCookie(cookie);
}
registered = true;
}
catch(ServletException servletException){
log("Failed to Register :" + servletException);
}
// Generate registration success or failure information
sendSuccessOrFailInforamtion(registered, servletRequest, servletResponse);
}
/**
* Creates Customer object from post data and adds to session
*/
private String registerNewCustomer(HttpServletRequest servletRequest)
throws ServletException
{
// Extract all Post data into Java objects
String firstName =
(String)servletRequest.getParameterValues(Customer.FIRST_NAME)[0];
String lastName =
(String)servletRequest.getParameterValues(Customer.LAST_NAME)[0];
String[] values =
servletRequest.getParameterValues(Customer.MIDDLE_NAME);
String middleName = null;
if(values != null){
middleName =
(String)servletRequest.getParameterValues(Customer.MIDDLE_NAME)[0];
}
String password =
(String)servletRequest.getParameterValues(Customer.PASSWORD)[0];
String phone =
(String)servletRequest.getParameterValues(Customer.PHONE)[0];
String eMail =
(String)servletRequest.getParameterValues(Customer.EMAIL)[0];
String address_1 =
(String)servletRequest.getParameterValues(Address.ADDRESS_1)[0];
String address_2 =
(String)servletRequest.getParameterValues(Address.ADDRESS_2)[0];
String city =
(String)servletRequest.getParameterValues(Address.CITY)[0];
String state =
(String)servletRequest.getParameterValues(Address.STATE)[0];
String zip_code =
(String)servletRequest.getParameterValues(Address.ZIP_CODE)[0];
// Create an Address object from POST data
Address address = new Address(address_1, address_2, city,
state,zip_code);
// Create a Customer object from Address object and POST data
Customer customer = new Customer(firstName, lastName, middleName,
address, phone, eMail, pass
word);
// Get session and add Customer object to session
HttpSession session = servletRequest.getSession();
session.setAttribute(Customer.CUSTOMER_OBJECT, customer);
// Return user's first name
return firstName;
}
/**
* Send fail/success information to Client.
*/
private void sendSuccessOrFailInforamtion(boolean registered, HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
throws ServletException, IOException
{
// Create initial document type and headers
PrintWriter printWriter =
ServletsHelper.createInitialDocumentResponse(servletResponse);
// Write page body
writePageBody(registered, printWriter, servletRequest);
// Close with BODY and
HTML closing tags
ServletsHelper.createClosingDocumentResponse(printWri