Multiple form in Jsp
In this section, we have developed an Multiple form application . We created two file userform.jsp and UserForm.java.
Brief description of the flow of the application:
- User opens userform.jsp in the browser having four forms with its corresponding buttons.
- Clicks on particular form button it calls the Servlet "UserForm.java" and inserts the record into database.
- Clicked button is disabled and all remaining buttons will be enabled.
Step 1: Create a web page ("userform.jsp") to
create the multiple form.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script> function disableBttn(val){ xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var username= document.forms[val-1].username.value; var fname= document.forms[val-1].fname.value; var email= document.forms[val-1].email.value; var url="http://localhost:8080/userform/userForm"; url=url+"?username="+username+"&fname="+fname+"&email="+email+"&val="+val; xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var showdata = xmlHttp.responseText; var val = parseInt(showdata.toString()); for(var i=1;i<=8;i++) { if(i==val){ // To Disable the Button document.forms[i-1].button.disabled=true; } else { document.forms[i-1].username.value=""; document.forms[i-1].fname.value=""; document.forms[i-1].email.value=""; // To Enable the Button document.forms[i-1].button.disabled=false; } } } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </HEAD> <BODY> <br><br> <center> <table bgcolor="#efefef"> <tr><td colspan=3 align="center"><b>Multiple Form In Jsp</b></td></tr> <tr><td colspan=3 align="center"><b> </b></td></tr> <tr> <td> <% for(int i=1;i<=2;i++) { %> <form name="f<%=i%>"> <fieldset style="width:250px;"> <legend><b>#Form<%=i%></b></legend> <table width="250px" border=0 align="center"> <tr><td>Username</td><td><input type="text" name="username"></td></tr> <tr><td>Name</td><td><input type="text" name="fname"></td></tr> <tr><td>Email</td><td><input type="text" name="email"></td></tr> <tr> <td colspan=2 align="center"> <input type="button" name="button" value="Button<%=i%>" onclick= "disableBttn(<%=i%>);"> </td> </tr> </table> </fieldset> </form> <% } %> </td><td> <% for(int i=3;i<=4;i++) { %> <form name="f<%=i%>"> <fieldset style="width:250px;"> <legend><b>#Form<%=i%></b></legend> <table width="250px" border=0 align="center"> <tr><td>Username</td><td><input type="text" name="username"></td></tr> <tr><td>Name</td><td><input type="text" name="fname"></td></tr> <tr><td>Email</td><td><input type="text" name="email"></td></tr> <tr> <td colspan=2 align="center"> <input type="button" name="button" value="Button<%=i%>" onclick="disableBttn(<%=i%>);"> </td> </tr> </table> </fieldset> </form> <% } %> </td> </tr> </table> </center> </BODY> </HTML>
Step:2Create a Servlet ("UserForm.java") to insert the data.
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import javax.sql.*; import java.sql.*; public class UserForm extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println("MySQL Connect Example."); Connection conn = null; String url = "jdbc:mysql://localhost:3306/"; String dbName = "userdetails"; String driver = "com.mysql.jdbc.Driver"; String userName = "root"; String password = "root"; String uname = request.getParameter("username"); String fname = request.getParameter("fname"); String email = request.getParameter("email"); String val = request.getParameter("val"); Statement st; try { Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); //out.println("Connected to the database"); String query= "insert into userform set username='"+uname+"',fname=' "+fname+"',email='"+email+"'"; System.out.println("query " + query); //out.println("<br>"); st = conn.createStatement(); int i = st.executeUpdate(query); if(i>0) { out.println(val); } conn.close(); System.out.println("Disconnected from database"); } catch (Exception e) { e.printStackTrace(); } } }
Step 3:
"web.xml" to mapping the Servlet ("UserForm.java")
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>userform</servlet-name> <servlet-class>UserForm</servlet-class> </servlet> <servlet-mapping> <servlet-name>userform</servlet-name> <url-pattern>/userForm</url-pattern> </servlet-mapping> </web-app> |
Output of this Program: