<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FServlet%2FDatabase</id>
		<title>Java Tutorial/Servlet/Database - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FServlet%2FDatabase"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Database&amp;action=history"/>
		<updated>2026-04-07T20:25:24Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Database&amp;diff=4888&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Database&amp;diff=4888&amp;oldid=prev"/>
				<updated>2010-06-01T05:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:06, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Database&amp;diff=4887&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Database&amp;diff=4887&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Read data from Database and display it in a HTML table ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.Date;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
public class AllEmployeesServlet extends HttpServlet {&lt;br /&gt;
  protected void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, IOException {&lt;br /&gt;
    response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = response.getWriter();&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;All Employees&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;center&amp;gt;&amp;lt;h1&amp;gt;All Employees&amp;lt;/h1&amp;gt;&amp;quot;);&lt;br /&gt;
    Connection conn = null;&lt;br /&gt;
    Statement stmt = null;&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;sun.jdbc.odbc.JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
      conn = DriverManager.getConnection(&amp;quot;jdbc:odbc:Employees&amp;quot;);&lt;br /&gt;
      stmt = conn.createStatement();&lt;br /&gt;
      String orderBy = request.getParameter(&amp;quot;sort&amp;quot;);&lt;br /&gt;
      if ((orderBy == null) || orderBy.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
        orderBy = &amp;quot;SSN&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      String orderByDir = request.getParameter(&amp;quot;sortdir&amp;quot;);&lt;br /&gt;
      if ((orderByDir == null) || orderByDir.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
        orderByDir = &amp;quot;asc&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      String query = &amp;quot;SELECT Employees.SSN, Employees.Name, &amp;quot; + &amp;quot;Employees.Salary, &amp;quot;&lt;br /&gt;
          + &amp;quot;Employees.Hiredate, Location.Location &amp;quot; + &amp;quot;FROM Location &amp;quot; + &amp;quot;INNER JOIN Employees &amp;quot;&lt;br /&gt;
          + &amp;quot;ON Location.Loc_Id = Employees.Loc_Id &amp;quot; + &amp;quot;ORDER BY &amp;quot; + orderBy + &amp;quot; &amp;quot; + orderByDir&lt;br /&gt;
          + &amp;quot;;&amp;quot;;&lt;br /&gt;
      ResultSet rs = stmt.executeQuery(query);&lt;br /&gt;
      while (rs.next()) {&lt;br /&gt;
        long employeeSSN = rs.getLong(&amp;quot;SSN&amp;quot;);&lt;br /&gt;
        String employeeName = rs.getString(&amp;quot;Name&amp;quot;);&lt;br /&gt;
        long employeeSalary = rs.getLong(&amp;quot;Salary&amp;quot;);&lt;br /&gt;
        Date employeeHiredate = rs.getDate(&amp;quot;Hiredate&amp;quot;);&lt;br /&gt;
        String employeeLocation = rs.getString(&amp;quot;Location&amp;quot;);&lt;br /&gt;
        out.print(employeeSSN + &amp;quot;::&amp;quot;);&lt;br /&gt;
        out.print(employeeName + &amp;quot;::&amp;quot;);&lt;br /&gt;
        out.print(employeeSalary + &amp;quot;::&amp;quot;);&lt;br /&gt;
        out.print(employeeHiredate + &amp;quot;::&amp;quot;);&lt;br /&gt;
        out.print(employeeLocation + &amp;quot;::&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      out.println(&amp;quot;An error occured while retrieving &amp;quot; + &amp;quot;all employees: &amp;quot; &lt;br /&gt;
          + e.toString());&lt;br /&gt;
    } catch (ClassNotFoundException e) {&lt;br /&gt;
      throw (new ServletException(e.toString()));&lt;br /&gt;
    } finally {&lt;br /&gt;
      try {&lt;br /&gt;
        if (stmt != null) {&lt;br /&gt;
          stmt.close();&lt;br /&gt;
        }&lt;br /&gt;
        if (conn != null) {&lt;br /&gt;
          conn.close();&lt;br /&gt;
        }&lt;br /&gt;
      } catch (SQLException ex) {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/center&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Returns the list of the most popular flavors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
*  Copyright (c) 2002 by Phil Hanna&lt;br /&gt;
*  All rights reserved.&lt;br /&gt;
*  &lt;br /&gt;
*  You may study, use, modify, and distribute this&lt;br /&gt;
*  software for any purpose provided that this&lt;br /&gt;
*  copyright notice appears in all copies.&lt;br /&gt;
*  &lt;br /&gt;
*  This software is provided without warranty&lt;br /&gt;
*  either expressed or implied.&lt;br /&gt;
*/&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.net.*;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
/**&lt;br /&gt;
* Returns the list of the most popular flavors&lt;br /&gt;
*/&lt;br /&gt;
public class FlavorListServlet extends HttpServlet&lt;br /&gt;
{&lt;br /&gt;
   public static final String JDBC_DRIVER =&lt;br /&gt;
      &amp;quot;com.mysql.jdbc.Driver&amp;quot;;&lt;br /&gt;
   public static final String URL =&lt;br /&gt;
      &amp;quot;jdbc:mysql://localhost/IceCream&amp;quot;;&lt;br /&gt;
   public void doGet(&lt;br /&gt;
         HttpServletRequest request,&lt;br /&gt;
         HttpServletResponse response)&lt;br /&gt;
      throws ServletException, IOException&lt;br /&gt;
   {&lt;br /&gt;
      PrintWriter out = response.getWriter();&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      // Get the bounds of the ranks to be listed&lt;br /&gt;
      // or use defaults&lt;br /&gt;
      int lowLimit = getLimit(request.getParameter(&amp;quot;lowLimit&amp;quot;), 0);&lt;br /&gt;
      int highLimit = getLimit(request.getParameter(&amp;quot;highLimit&amp;quot;), 100);&lt;br /&gt;
      Connection con = null;&lt;br /&gt;
      try {&lt;br /&gt;
         &lt;br /&gt;
         // Connect to the ice cream database&lt;br /&gt;
         Class.forName(JDBC_DRIVER);&lt;br /&gt;
         con = DriverManager.getConnection(URL);&lt;br /&gt;
         // Run a query to get the top flavors&lt;br /&gt;
         String sql =&lt;br /&gt;
            &amp;quot;SELECT  RANK, NAME&amp;quot;&lt;br /&gt;
            + &amp;quot;   FROM flavors&amp;quot;&lt;br /&gt;
            + &amp;quot;   WHERE RANK BETWEEN ? AND ?&amp;quot;&lt;br /&gt;
            + &amp;quot;   ORDER BY RANK&amp;quot; ;&lt;br /&gt;
         PreparedStatement pstmt = con.prepareStatement(sql);&lt;br /&gt;
         pstmt.setInt(1, lowLimit);&lt;br /&gt;
         pstmt.setInt(2, highLimit);&lt;br /&gt;
         ResultSet rs = pstmt.executeQuery();&lt;br /&gt;
         // Print as an ordered list&lt;br /&gt;
         out.println(&amp;quot;&amp;lt;ol&amp;gt;&amp;quot;);&lt;br /&gt;
         while (rs.next()) {&lt;br /&gt;
            int rank = rs.getInt(1);&lt;br /&gt;
            String name = rs.getString(2);&lt;br /&gt;
            out.println(&amp;quot;   &amp;lt;li&amp;gt;&amp;quot; + name + &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
         out.println(&amp;quot;&amp;lt;/ol&amp;gt;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      catch (SQLException e) {&lt;br /&gt;
         throw new ServletException(e.getMessage());&lt;br /&gt;
      }&lt;br /&gt;
      catch (ClassNotFoundException e) {&lt;br /&gt;
         throw new ServletException(e.getMessage());&lt;br /&gt;
      }&lt;br /&gt;
      // Close the database&lt;br /&gt;
      finally {&lt;br /&gt;
         if (con != null) {&lt;br /&gt;
            try { con.close(); }&lt;br /&gt;
            catch (SQLException ignore) {}&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   /**&lt;br /&gt;
   * Subroutine to get the integer value of one of&lt;br /&gt;
   * the limit parameters.&lt;br /&gt;
   * @param parm the parameter value, which may be null&lt;br /&gt;
   * @param defaultValue the default value&lt;br /&gt;
   */&lt;br /&gt;
   private static int getLimit(String parm, int defaultValue)&lt;br /&gt;
   {&lt;br /&gt;
      int limit = defaultValue;&lt;br /&gt;
      if (parm != null) {&lt;br /&gt;
         try {&lt;br /&gt;
            limit = Integer.parseInt(parm);&lt;br /&gt;
         }&lt;br /&gt;
         catch (NumberFormatException ignore) {&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
      return limit;&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Database Connection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
class ConnectionHolder implements HttpSessionBindingListener {&lt;br /&gt;
  private Connection con = null;&lt;br /&gt;
  public ConnectionHolder(Connection con) {&lt;br /&gt;
    // Save the Connection&lt;br /&gt;
    this.con = con;&lt;br /&gt;
    try {&lt;br /&gt;
      con.setAutoCommit(false);  // transactions can extend between web pages!&lt;br /&gt;
    }&lt;br /&gt;
    catch(SQLException e) {&lt;br /&gt;
      // Perform error handling&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public Connection getConnection() {&lt;br /&gt;
    return con;  // return the cargo&lt;br /&gt;
  }&lt;br /&gt;
  public void valueBound(HttpSessionBindingEvent event) {&lt;br /&gt;
    // Do nothing when added to a Session&lt;br /&gt;
  }&lt;br /&gt;
  public void valueUnbound(HttpSessionBindingEvent event) {&lt;br /&gt;
    // Roll back changes when removed from a Session&lt;br /&gt;
    // (or when the Session expires)&lt;br /&gt;
    try {&lt;br /&gt;
      if (con != null) {&lt;br /&gt;
        con.rollback();  // abandon any uncomitted data&lt;br /&gt;
        con.close();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException e) {&lt;br /&gt;
      // Report it&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/* Actual Servlet */&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
  public void init() throws ServletException {&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;oracle.jdbc.driver.OracleDriver&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (ClassNotFoundException e) {&lt;br /&gt;
      System.out.println(&amp;quot;Couldn&amp;quot;t load OracleDriver&amp;quot;);&lt;br /&gt;
      throw new UnavailableException(&amp;quot;Couldn&amp;quot;t load OracleDriver&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/plain&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    HttpSession session = req.getSession(true);&lt;br /&gt;
    Connection con;&lt;br /&gt;
    synchronized (session) {&lt;br /&gt;
       ConnectionHolder holder =&lt;br /&gt;
        (ConnectionHolder) session.getAttribute(&amp;quot;servletapp.connection&amp;quot;);&lt;br /&gt;
       if (holder == null) {&lt;br /&gt;
        try {&lt;br /&gt;
          holder = new ConnectionHolder(DriverManager.getConnection(&lt;br /&gt;
            &amp;quot;jdbc:oracle:oci7:ordersdb&amp;quot;, &amp;quot;user&amp;quot;, &amp;quot;passwd&amp;quot;));&lt;br /&gt;
          session.setAttribute(&amp;quot;servletapp.connection&amp;quot;, holder);&lt;br /&gt;
        }&lt;br /&gt;
        catch (SQLException e) {&lt;br /&gt;
          log(&amp;quot;Couldn&amp;quot;t get db connection&amp;quot;, e);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
       con = holder.getConnection();&lt;br /&gt;
    }&lt;br /&gt;
     try {&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      stmt.executeUpdate(&amp;quot;UPDATE INVENTORY SET STOCK = (STOCK - 10) &amp;quot;);&lt;br /&gt;
      stmt.executeUpdate(&amp;quot;UPDATE SHIPPING SET SHIPPED = (SHIPPED + 10) &amp;quot;);&lt;br /&gt;
      res.sendRedirect(res.encodeRedirectURL(req.getContextPath() + &amp;quot;/servlet/CardHandler&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      try {&lt;br /&gt;
        con.rollback();&lt;br /&gt;
        session.removeAttribute(&amp;quot;servletapp.connection&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      catch (Exception ignored) { }&lt;br /&gt;
      out.println(&amp;quot;Order failed. Please contact technical support.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Database Gif Decoder ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
  Connection con;&lt;br /&gt;
  public void init() throws ServletException {&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;sun.jdbc.odbc.JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
      con = DriverManager.getConnection(&amp;quot;jdbc:odbc:imagedb&amp;quot;, &amp;quot;user&amp;quot;, &amp;quot;passwd&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (ClassNotFoundException e) {&lt;br /&gt;
      throw new UnavailableException(&amp;quot;Couldn&amp;quot;t load JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException e) {&lt;br /&gt;
      throw new UnavailableException(&amp;quot;Couldn&amp;quot;t get db connection&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    try {&lt;br /&gt;
      res.setContentType(&amp;quot;image/gif&amp;quot;);&lt;br /&gt;
      ServletOutputStream out = res.getOutputStream();&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      ResultSet rs = stmt.executeQuery(&lt;br /&gt;
        &amp;quot;SELECT IMAGE FROM PICTURES WHERE PID = &amp;quot; + req.getParameter(&amp;quot;PID&amp;quot;));&lt;br /&gt;
      if (rs.next()) {&lt;br /&gt;
        BufferedInputStream gifData =&lt;br /&gt;
          new BufferedInputStream(rs.getBinaryStream(&amp;quot;image&amp;quot;));&lt;br /&gt;
        byte[] buf = new byte[4 * 1024];  // 4K buffer&lt;br /&gt;
        int len;&lt;br /&gt;
        while ((len = gifData.read(buf, 0, buf.length)) != -1) {&lt;br /&gt;
          out.write(buf, 0, len);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        res.sendError(res.SC_NOT_FOUND);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch(SQLException e) {&lt;br /&gt;
      // Report it&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Database ResultSet Display Helper ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
  private Connection con = null;&lt;br /&gt;
  public void init() throws ServletException {&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;com.sybase.jdbc.SybDriver&amp;quot;);&lt;br /&gt;
      con = DriverManager.getConnection(&amp;quot;jdbc:sybase:Tds:dbhost:7678&amp;quot;, &amp;quot;user&amp;quot;, &amp;quot;passwd&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (ClassNotFoundException e) {&lt;br /&gt;
      throw new UnavailableException(&amp;quot;Couldn&amp;quot;t load database driver&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException e) {&lt;br /&gt;
      throw new UnavailableException(&amp;quot;Couldn&amp;quot;t get db connection&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Phonebook&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;quot;);&lt;br /&gt;
    HtmlSQLResult result = new HtmlSQLResult(&amp;quot;SELECT NAME, PHONE FROM EMPLOYEES&amp;quot;, con);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H2&amp;gt;Employees:&amp;lt;/H2&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(result);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void destroy() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (con != null) con.close();&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException ignored) { }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class HtmlSQLResult {&lt;br /&gt;
  private String sql;&lt;br /&gt;
  private Connection con;&lt;br /&gt;
  public HtmlSQLResult(String sql, Connection con) {&lt;br /&gt;
    this.sql = sql;&lt;br /&gt;
    this.con = con;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {  // can be called at most once&lt;br /&gt;
    StringBuffer out = new StringBuffer();&lt;br /&gt;
    // Uncomment the following line to display the SQL command at start of table&lt;br /&gt;
    // out.append(&amp;quot;Results of SQL Statement: &amp;quot; + sql + &amp;quot;&amp;lt;P&amp;gt;\n&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      if (stmt.execute(sql)) {&lt;br /&gt;
        // There&amp;quot;s a ResultSet to be had&lt;br /&gt;
        ResultSet rs = stmt.getResultSet();&lt;br /&gt;
        out.append(&amp;quot;&amp;lt;TABLE&amp;gt;\n&amp;quot;);&lt;br /&gt;
        ResultSetMetaData rsmd = rs.getMetaData();&lt;br /&gt;
        int numcols = rsmd.getColumnCount();&lt;br /&gt;
    &lt;br /&gt;
        // Title the table with the result set&amp;quot;s column labels&lt;br /&gt;
        out.append(&amp;quot;&amp;lt;TR&amp;gt;&amp;quot;);&lt;br /&gt;
        for (int i = 1; i &amp;lt;= numcols; i++)&lt;br /&gt;
          out.append(&amp;quot;&amp;lt;TH&amp;gt;&amp;quot; + rsmd.getColumnLabel(i));&lt;br /&gt;
        out.append(&amp;quot;&amp;lt;/TR&amp;gt;\n&amp;quot;);&lt;br /&gt;
        while(rs.next()) {&lt;br /&gt;
          out.append(&amp;quot;&amp;lt;TR&amp;gt;&amp;quot;);  // start a new row&lt;br /&gt;
          for(int i = 1; i &amp;lt;= numcols; i++) {&lt;br /&gt;
            out.append(&amp;quot;&amp;lt;TD&amp;gt;&amp;quot;);  // start a new data element&lt;br /&gt;
            Object obj = rs.getObject(i);&lt;br /&gt;
            if (obj != null)&lt;br /&gt;
              out.append(obj.toString());&lt;br /&gt;
            else&lt;br /&gt;
              out.append(&amp;quot;&amp;amp;nbsp;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
          out.append(&amp;quot;&amp;lt;/TR&amp;gt;\n&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        // End the table&lt;br /&gt;
        out.append(&amp;quot;&amp;lt;/TABLE&amp;gt;\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        // There&amp;quot;s a count to be had&lt;br /&gt;
        out.append(&amp;quot;&amp;lt;B&amp;gt;Records Affected:&amp;lt;/B&amp;gt; &amp;quot; + stmt.getUpdateCount());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException e) {&lt;br /&gt;
      out.append(&amp;quot;&amp;lt;/TABLE&amp;gt;&amp;lt;H1&amp;gt;ERROR:&amp;lt;/H1&amp;gt; &amp;quot; + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    return out.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Update Database ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
  public void doPost(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                                throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/plain&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    Connection con = null;&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;sun.jdbc.odbc.JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
      con = DriverManager.getConnection(&amp;quot;jdbc:odbc:ordersdb&amp;quot;, &amp;quot;user&amp;quot;, &amp;quot;passwd&amp;quot;);&lt;br /&gt;
      // Turn on transactions&lt;br /&gt;
      con.setAutoCommit(false);&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      stmt.executeUpdate(&amp;quot;UPDATE INVENTORY SET STOCK = (STOCK - 10) &amp;quot;);&lt;br /&gt;
      stmt.executeUpdate(&amp;quot;UPDATE SHIPPING SET SHIPPED = (SHIPPED + 10)&amp;quot;);&lt;br /&gt;
      con.rumit();&lt;br /&gt;
      out.println(&amp;quot;Order successful!  Thanks for your business!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      // Any error is grounds for rollback&lt;br /&gt;
      try {&lt;br /&gt;
        con.rollback();&lt;br /&gt;
      }&lt;br /&gt;
      catch (SQLException ignored) { }&lt;br /&gt;
      out.println(&amp;quot;Order failed. Please contact technical support.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    finally {&lt;br /&gt;
      // Clean up.&lt;br /&gt;
      try {&lt;br /&gt;
        if (con != null) con.close();&lt;br /&gt;
      }&lt;br /&gt;
      catch (SQLException ignored) { }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>