Метод doGet сервлета...
Листинг 5.24. Метод doGet сервлета SubmitOrder (SubmitOrder.java)
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.XmlEcomBook.Chap05.*;
// Explain why we used a servlet: easier to code, debug
public class SubmitOrder extends HttpServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse res)
throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
try {
HttpSession session = req.getSession();
Order order = (Order)session.getAttribute( "order" );
Authorization auth = TestPaymentAuthorizer.getAuthorization(order );
order.setAuthorization( auth );
if( auth.isApproved() ) {
//Emailer.sendConfirmation( order );
writeOrder( order );
getServletContext()
.getRequestDispatcher("/Approved.jsp").forward(req, res);
}
else {
getServletContext()
.getRequestDispatcher("/Declined.jsp").forward(req, res);
}
}
catch( Exception e )
{
e.printStackTrace(out);
} }
Метод writeOrder используется для записи информации о заказе в файл XML. Этот метод помещает все файлы с заказами, поступившими в течение одного дня, в отдельную папку. Поэтому для определения даты (год, месяц и число месяца) создается специальный объект, GregorianCalendar. В имени папки указывается соответствующая дата, а название файла содержит идентификатор заказа. Метод mkdir класса File вызывается для проверки наличия данной папки, а затем с помощью метода writeXML объекта Order информация о заказе заносится в файл, как показано в листинге 5.25.
Содержание раздела