package de.tutorials.java.ee.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import de.tutorials.java.ee.dao.GreetingsDAO;
import de.tutorials.java.ee.po.GreetingPO;
/**
* Servlet implementation class DefaultServlet
*/
@WebServlet("/DefaultServlet")
public final class DefaultServlet extends HttpServlet
{
private static final Logger logger = Logger
.getLogger(DefaultServlet.class
.getSimpleName());
private static final long serialVersionUID = 1L;
private GreetingsDAO dao;
/**
* @see HttpServlet#HttpServlet()
*/
public DefaultServlet()
{
super();
}
/**
* @see Servlet#init(ServletConfig)
*/
@Override
public void init(final ServletConfig config) throws ServletException
{
try
{
this.dao = new GreetingsDAO();
final GreetingPO greeting1 = new GreetingPO();
final GreetingPO greeting2 = new GreetingPO();
final GreetingPO greeting3 = new GreetingPO();
greeting1.setGreetingDate(new Date());
greeting1.setName("saftmeister");
greeting1.setGreetingText("Wass???? Mit JSP??? Warum nicht JSF?");
greeting2.setGreetingDate(new Date());
greeting2.setName("Messmar");
greeting2.setGreetingText("Ich will halt wissen, wie es damit geht...");
greeting3.setGreetingDate(new Date());
greeting3.setName("saftmeister");
greeting3.setGreetingText("Na gut, aber nur weil du so nett fragst :-)");
this.dao.save(greeting1);
this.dao.save(greeting2);
this.dao.save(greeting3);
}
catch (final Exception ex)
{
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doGet(final HttpServletRequest request,
final HttpServletResponse response) throws ServletException, IOException
{
try
{
response.setContentType("text/xml");
final PrintWriter writer = response.getWriter();
final JAXBContext context = JAXBContext.newInstance(Greetings.class);
final Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
final Greetings wrapper = new Greetings(this.dao.getAll());
marshaller.marshal(wrapper, writer);
}
catch (final JAXBException ex)
{
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doPost(final HttpServletRequest request,
final HttpServletResponse response) throws ServletException, IOException
{
}
}