by Dinesh Thakur Category: Servlet with MySql Database

This Function 'Date_Diff' will subtract the Two Dates.

first i make a table in database named 'dbase' within the reference of mySql(php myAdmin).then i import all the required java package from java library. I make a class named 'MySqlDateDifference' extends the 'HttpServlet'. I use here serviceMethod() which is use to getting request from the doGet()Method for output. Before activating all the variable i loaded all the required drivers for the database accessing then after i declare variables like first i declare 'connection'(this variable will act as to create a link between database and the actual code. Here i declare second one is 'resultSet' this will take the responsible for fetching the value from columns and the selected rows. Here i declare one more 'preparedStatement' this will use to executing the selected query like executeQuery() as (Select DATEDIFF('2014-05-30','2014-05-29')). I use doGet()Method which will bring the output on the web browser.

i use 'HTML' code and tags for getting output in tabular form that make output in the manner way.

 

EXAMPLE

 
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MySqlDateDifference extends HttpServlet
 {
     public void service(HttpServletRequest rq, HttpServletResponse rp)throws IOException, ServletException
      {
          rp.setContentType("text/html");
          PrintWriter disp = rp.getWriter();
          String driver = "com.mysql.jdbc.Driver";
          String url = "jdbc:mysql://localhost/dbase";
          String uid = "root";
          String psw = "root";
          Connection con=null;
          PreparedStatement ps = null;
          ResultSet rs;
          try
           {
              Class.forName(driver);
              con = DriverManager.getConnection(url,uid,psw);
              ps=con.prepareStatement("Select DATEDIFF('2014-05-30','2014-05-29') AS dfd");
              rs = ps.executeQuery();
              String title = "Date Difference Beetween Two Dates";
              String docType ="<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n";
            disp.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" +
              "<body bgcolor=\"#f4efef\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<ul>\n" +
              "<table width=\"50%\" border=\"1\" align=\"center\">\n" + "<th>Date Difference </th>\n"+ "</body> </html>");
              while(rs.next())
                  {
                      String curr = rs.getString(1);
                   disp.println("<tr><td align=\"center\">" + curr +"</td></tr>" );  
                  }     
           }          
                   catch(Exception e) 
                         {
                                e.printStackTrace();
                         }
                                disp.close();
        }
                                  public void doPost(HttpServletRequest rq,HttpServletResponse rp)throws IOException,ServletException
                                    {
                                     doGet(rq,rp);
                                    }
 }
 
WEB.XML
 
<servlet>
   <servlet-name>MySqlDateDifference</servlet-name>
   <servlet-class>MySqlDateDifference</servlet-class>
</servlet>
<!-- servlet mapping -->
<servlet-mapping>
   <servlet-name>MySqlDateDifference</servlet-name>
   <url-pattern>/MySqlDateDifference</url-pattern>
</servlet-mapping>




About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.



Related Articles