This tutorial demonstrates you about how to use mysql math's function sign() with java servlet.
Mysql SIGN() Function Example Using Java Servlet
This tutorial demonstrates you about how to use mysql math's function sign() with java servlet.
SIGN() function in mysql gives the value -1, 0 and 1 for the negative, 0 and positive values respectively.
Syntax :
sign(num);
Here the argument 'num' is a real number of which you want to find the sign.
Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlSignServlet which extends the HttpServlet class. In the body of class I overridden the method doGet() and created an objects of HttpServletRequest and HttpServletResponse into its parameter. Inside the doGet() method first I set the mime type that in which format the browser will show the output. In the next line I used the getWriter() method of ServletResponse interface with the object of HttpServletResponse. HttpServletResponse interface extends this method from the ServletResponse. In Next step I am taking input using the getParameter() method of ServletRequest with the object of HttpServletRequest. In continue we have to establish a connection between java code and database system. So, since I am using Mysql in the example given below therefore, I am loading the driver of mysql and make a connection by using the getConnection() method of DriverManager class. It returns a Connection. Further I passed the query "SELECT SIGN("+num+")"; (Here 'num' is a variable that stores the value given by the user in their respective textfields.) into the parameter of prepareStatement() method of Connection interface which gives an object of PreparedStatement interface. In the next line I used the executeQuery() method of PreparedStatement interface which returns a ResultSet object that holds the result of query. At last I have extracted the result from the ResultSet object.
Example :
sign.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>SIGN() Function</title> </head> <body> <form method="get" action="MysqlSignServlet"> <table> <tr> <td>Enter a number </td> <td> <input type="text" name="text1"/></td> </tr> <tr> <td></td> <td align="center"><input type="submit" value="OK"/></td> </tr> </table> </form> </body> </html>
MysqlSignServlet
import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MysqlSignServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); double num = Double.parseDouble(request.getParameter("text1")); String className = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://192.168.10.13"; String user = "root"; String password = "root"; Connection con; PreparedStatement ps; ResultSet rs; try { Class.forName(className); con = DriverManager.getConnection(url, user, password); String sql = "SELECT SIGN("+num+")"; ps = con.prepareStatement(sql); rs= ps.executeQuery(); while(rs.next()) { int sg = Integer.parseInt(rs.getString(1)); out.println("Returned value is = "+sg); if(sg==-1) { out.println("<br>You have entered a negative value = "+num+"."); } if(sg==0) { out.println("<br>You have entered the value 0."); } if(sg==1) { out.println("<br>You have entered a positive value "+num+"."); } } } catch(SQLException sx) { out.println(sx); } catch(ClassNotFoundException cx) { out.println(cx); } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>mysqlMathematicalFunction</display-name> <servlet> <servlet-name>MysqlSignServlet</servlet-name> <servlet-class>MysqlSignServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MysqlSignServlet</servlet-name> <url-pattern>/MysqlSignServlet</url-pattern> </servlet-mapping> </web-app>
Output :
When you will execute the value you will get the output as :
1.
2. When you will enter the value like below
3. You will get the output as :
[ 0 ] Comments