This function ‘AVG'(Average) will present the average of selected numeric column or row.
Then first i made a table named ‘worker’ with selected fields and values in it in the database named ‘dbase’ within the reference of mySql(php myAdmin).after that i import all the required java packages from java library. Then i made a class named ‘MySqlAVGFunction’ extends the ‘HttpServlet’. Then i use serviceMethod() which will getting the request from doGet()Method for Output. After i loaded all the important drivers for Database accessing. Now i declare variables which are necessary for database using like i declare Connection (this variable will use to create a link between database and java code or actual code this will bring us allotment to make a link between both procedures and then after i define resultSet variable this will be responsible for the fetching value from the required columns and rows as required by the condition or query. The next will be the prepared Statement that will responsible for the executing the query like executeQuery() as (SELECT AVG(salary) AS av FROM worker). Then after i use doGet()Method which will use to show output on the web browser as required.
On the web Browser i use ‘Html’ tags to print the output in tabular form on the web browser this will present output in a 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 MySqlAVGFunction 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 AVG(salary) AS av FROM worker");
rs = ps.executeQuery();
String title = "Using AVG(Average) Function";
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>Total</th>\n"+ "</body> </html>");
while(rs.next())
{
String avg = rs.getString("av");
disp.println("<tr><td align=\"center\">" + avg +"</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>MySqlAVGFunction</servlet-name>
<servlet-class>MySqlAVGFunction</servlet-class>
</servlet>
<!-- servlet mapping -->
<servlet-mapping>
<servlet-name>MySqlAVGFunction</servlet-name>
<url-pattern>/MySqlAVGFunction</url-pattern>
</servlet-mapping>