// Copyright © 2001 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. package jblog; import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.net.URLEncoder; /** * display servlet for * a very simple java web log * * @author Liz Warner */ public class Show extends HttpServlet { private static int numPerPage = 10; private PrintWriter out = null; private MySQLConnector mydb = null; private void printEntries(int start) { try { // create a new MySQLConnector object mydb = new MySQLConnector(); // get a valid Statement object from the connector Statement stmt = mydb.connect(); // select the most recent log entries from the db ResultSet rs = stmt.executeQuery("SELECT data, DATE_FORMAT(created,'%M %d, %Y %H:%i') as nice_date from blog order by created desc limit " + start + ", " + numPerPage); int counter = 0; while (rs.next() ) // iterate through the list of entries, and print them to the page { out.println("<b>" + rs.getString("nice_date") + "</b><br>" + rs.getString("data") + "<br><br>"); counter++; } if (counter == numPerPage ) { int next = start + numPerPage; out.println("<br><br><a href=\"/blog/Show?start=" + next + "\">More</a><br><br>"); } else // out of entries - time to go back to the beginning { out.println("That's it. Go back to <a href=\"/blog/Show\">The Beginning</a> <br>"); } // disconnect from mysql mydb.disconnect(stmt); } catch (Exception ex) { out.println("Error retrieving data: " + ex.toString() + "<br>"); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); out = response.getWriter(); // print the HTML header out.println("<html><head<title>Java Web log</title></head>"); out.println("<body bgcolor=\"white\">"); out.println("<h1> My Web log </h1>"); int start; try { start = Integer.parseInt( request.getParameter("start") ); } catch (NumberFormatException ne) { // bad number. start at zero start = 0; } // call the printEntries method to display log entries printEntries(start); out.println("</body>"); out.println("</html>"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // goPost just calls goGet doGet(request,response); } }