Displaying DB records in Servlet using a method

M

Mohammed Mazid

Can anyone please suggest me an efficent way of doing the following
source code, such that I create each FlightInformation object and that
object uses a method to display a row?

The method must contain HTML tags.

//Assume the imports are done

public class FlightServlet extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html";

//Initialize global variables
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
response.setContentType(CONTENT_TYPE);
SetupFlightDB flightDB = new SetupFlightDB();
FlightInformation flightInfo1 = flightDB.flightDetails("BA123");
FlightInformation flightInfo2 = flightDB.flightDetails("BA453");
FlightInformation flightInfo3 = flightDB.flightDetails("BA978");
FlightInformation flightInfo4 = flightDB.flightDetails("BD029");
FlightInformation flightInfo5 = flightDB.flightDetails("IWD203");
FlightInformation flightInfo6 = flightDB.flightDetails("IWD453");
FlightInformation flightInfo7 = flightDB.flightDetails("JM223");
FlightInformation flightInfo8 = flightDB.flightDetails("KL134");
FlightInformation flightInfo9 = flightDB.flightDetails("KL234");
FlightInformation flightInfo10 = flightDB.flightDetails("OU892");
out.print("<H1>The table of flights is shown below</H1>");
out.println("<TABLE BORDER>");
out.println("<H2>Test flight details:</H2>");
out.println("<TR>");
out.println("<TH>FlightNo</TH><TH>Date</TH><TH>Location</TH><TH>Departure
Time</TH><TH>Arrival Time</TH><TH>Airline</TH>");
out.println("</TR>");
out.println("<td>" );
out.println(flightInfo1.getFlightNo());
out.println("<br>");
out.println(flightInfo2.getFlightNo());
out.println("<br>");
out.println(flightInfo3.getFlightNo());
out.println("<br>");
out.println(flightInfo4.getFlightNo());
out.println("<br>");
out.println(flightInfo5.getFlightNo());
out.println("<br>");
out.println(flightInfo6.getFlightNo());
out.println("<br>");
out.println(flightInfo7.getFlightNo());
out.println("<br>");
out.println(flightInfo8.getFlightNo());
out.println("<br>");
out.println(flightInfo9.getFlightNo());
out.println("<br>");
out.println(flightInfo10.getFlightNo());
out.println("</td>" );
out.println("<td>" );
out.println(flightInfo1.getFlightDate());
out.println("<br>");
out.println(flightInfo2.getFlightDate());
out.println("<br>");
out.println(flightInfo3.getFlightDate());
out.println("<br>");
out.println(flightInfo4.getFlightDate());
out.println("<br>");
out.println(flightInfo5.getFlightDate());
out.println("<br>");
out.println(flightInfo6.getFlightDate());
out.println("<br>");
out.println(flightInfo7.getFlightDate());
out.println("<br>");
out.println(flightInfo8.getFlightDate());
out.println("<br>");
out.println(flightInfo9.getFlightDate());
out.println("<br>");
out.println(flightInfo10.getFlightDate());
out.println("</td>" );
out.println("<td>" );
out.println(flightInfo1.getLocation());
out.println("<br>");
out.println(flightInfo2.getLocation());
out.println("<br>");
out.println(flightInfo3.getLocation());
out.println("<br>");
out.println(flightInfo4.getLocation());
out.println("<br>");
out.println(flightInfo5.getLocation());
out.println("<br>");
out.println(flightInfo6.getLocation());
out.println("<br>");
out.println(flightInfo7.getLocation());
out.println("<br>");
out.println(flightInfo8.getLocation());
out.println("<br>");
out.println(flightInfo9.getLocation());
out.println("<br>");
out.println(flightInfo10.getLocation());
out.println("</td>" );
out.println("<td>" );
out.println(flightInfo1.getDepTime());
out.println("<br>");
out.println(flightInfo2.getDepTime());
out.println("<br>");
out.println(flightInfo3.getDepTime());
out.println("<br>");
out.println(flightInfo4.getDepTime());
out.println("<br>");
out.println(flightInfo5.getDepTime());
out.println("<br>");
out.println(flightInfo6.getDepTime());
out.println("<br>");
out.println(flightInfo7.getDepTime());
out.println("<br>");
out.println(flightInfo8.getDepTime());
out.println("<br>");
out.println(flightInfo9.getDepTime());
out.println("<br>");
out.println(flightInfo10.getDepTime());
out.println("</td>" );
out.println("<td>" );
out.println(flightInfo1.getArrTime());
out.println("<br>");
out.println(flightInfo2.getArrTime());
out.println("<br>");
out.println(flightInfo3.getArrTime());
out.println("<br>");
out.println(flightInfo4.getArrTime());
out.println("<br>");
out.println(flightInfo5.getArrTime());
out.println("<br>");
out.println(flightInfo6.getArrTime());
out.println("<br>");
out.println(flightInfo7.getArrTime());
out.println("<br>");
out.println(flightInfo8.getArrTime());
out.println("<br>");
out.println(flightInfo9.getArrTime());
out.println("<br>");
out.println(flightInfo10.getArrTime());
out.println("</td>" );
out.println("<td>" );
out.println(flightInfo1.getAirline());
out.println("<br>");
out.println(flightInfo2.getAirline());
out.println("<br>");
out.println(flightInfo3.getAirline());
out.println("<br>");
out.println(flightInfo4.getAirline());
out.println("<br>");
out.println(flightInfo5.getAirline());
out.println("<br>");
out.println(flightInfo6.getAirline());
out.println("<br>");
out.println(flightInfo7.getAirline());
out.println("<br>");
out.println(flightInfo8.getAirline());
out.println("<br>");
out.println(flightInfo9.getAirline());
out.println("<br>");
out.println(flightInfo10.getAirline());
out.println("</td>" );
}
}

Thank you
 
D

David Postill

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

(e-mail address removed)
(Mohammed Mazid) wrote:

| Can anyone please suggest me an efficent way of doing the following
| source code, such that I create each FlightInformation object and that
| object uses a method to display a row?
|
| The method must contain HTML tags.

Five things spring to mind.

1/ use an array to store your flight info data.

2/ write a method that, given an flight info array element, outputs whatever you need

3/ use a for loop to output the data for each flight info element.

4/ call the method inside the for loop.

5/ Buy and read the book "Refactorin" by Martin Fowler...

<davidp />

- --
David Postill

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0.3 - not licensed for commercial use: www.pgp.com
Comment: Get key from pgpkeys.mit.edu:11370

iQA/AwUBP8UpMHxp7q1nhFwUEQLZmACg7gvHINnXnVraDb9rqJkIFPdfz9EAn0Xu
GqMC6VKbSD7EXLb9eX3xyC/j
=nikA
-----END PGP SIGNATURE-----
 
D

David Postill

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

GMT, "Ike"

| What is Refactorin about? -Ike

Typo, should have read "Refactoring". See <http://www.refactoring.com/> for more info

<davidp />

- --
David Postill

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0.3 - not licensed for commercial use: www.pgp.com
Comment: Get key from pgpkeys.mit.edu:11370

iQA/AwUBP8YwCXxp7q1nhFwUEQLx4gCbBMdZYSQtop//qdeBN4tA24Eo2UwAn1Tn
AF3UOc1jmwAaor93DRErztni
=S82S
-----END PGP SIGNATURE-----
 
S

steve souza

The open source FormattedDataSet API was designed to create dynamic
text (html, xml and more) just like what you are trying to do. I
believe it is the easiest way I have seen to generate dynamic text
too.

For example if you had your flight info in an array you could display
your array as an html table as easy as the following:

FormattedDataSet fds=FormattedDataSet.createInstance();
String html=fds.getFormattedDataSet(flightInfoArray, "htmlTable");
String xml=fds.getFormattedDataSet(flightInfoArray, "xml");

Note the method takes 2 arguments: data and formatting. As a
developer you can change add new formatting by creating simple
templates.

For more information and to see a live demo app that works with arrays
go to http://www.fdsapi.com

Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top