Электронный магазин на Java и XML

         

Метод 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.



Содержание раздела