package com.oreilly.javaxp.httpunit;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
/**
* Newsletter subscription servlet. This servlet delegates to a JSP
* for page rendering.
*
* @author Eric M. Burke
* @version $Id: NewsletterServlet.java,v 1.1 2002/08/08 00:26:21 jepc Exp $
*/
public class NewsletterServlet extends HttpServlet {
protected void doGet(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
dispatchToSubscriptionPage(req, res);
}
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
if (req.getParameter("subscribeBtn") != null) {
handleSubscribeButton(req, res);
} else if (req.getParameter("unsubscribeBtn") != null) {
// @todo - handle this
}
dispatchToSubscriptionPage(req, res);
}
private void dispatchToSubscriptionPage(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
RequestDispatcher dispatcher =
req.getRequestDispatcher("subscription.jsp");
dispatcher.forward(req, res);
}
private void handleSubscribeButton(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
String name = req.getParameter("nameField");
String email = req.getParameter("emailField");
// email is required
if (email == null || email.trim().length() == 0) {
req.setAttribute("errorMessage",
"Email address is required");
dispatchToSubscriptionPage(req, res);
} else {
// @todo - subscribe the user!
}
}
}
|