I have a jsp page with 3 text fields name,age ,city.i populated these datas into a database table.I have another jsp page with 4 fields name, city , age and phone.Once the user enter the name, city and age should be automatically populated from database throush servlet..Can u give me the code!!!!!!!!
Hi Friend,
Try the following code:
1)insert.jsp:
<%@page import="java.sql.*"%> <html> <form method="post" action="insert.jsp"> <table> <tr><td>Name:</td><td><input type="text" name="name"></td></tr> <tr><td>Age:</td><td><input type="text" name="age"></td></tr> <tr><td>City:</td><td><input type="text" name="city"></td></tr> <tr><td></td><td><input type="submit" value="Submit"></td></tr> </table> </form> </html> <% String name=request.getParameter("name"); if(name!=null){ int age=Integer.parseInt(request.getParameter("age")); String city=request.getParameter("city"); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:student"); Statement st=con.createStatement(); int i=st.executeUpdate("insert into data(name,age, city) values('"+name+"',"+age+",'"+city+"')"); out.println("Data is inserted successfully"); } %>
2)ajax.jsp:
<%@ page import="java.sql.*" %> <html> <head> <script type="text/javascript"> function showData(value){ xmlHttp=GetXmlHttpObject() var url="../AjaxServlet" url=url+"?name="+value 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 strar = showdata.split(":"); document.getElementById("age").value= strar[1]; document.getElementById("city").value= strar[2]; } } function GetXmlHttpObject(){ var xmlHttp=null; try { xmlHttp=new XMLHttpRequest(); } catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </head> <body> <form name="employee"> <br><br> <table border="0" width="400px" align="center" bgcolor="#CDFFFF"> <div id="mydiv"></div> <tr><td><b>Name:</b></td><td> <input type="text" name="name" id="name" onkeyup="showData(this.value);"></td></tr> <tr><td ><b>Age:</b></td><td> <input type="text" name="age" id="age" ></td></tr> <tr><td><b>City:</b></td><td> <input type="text" name="city" id="city" ></td></tr> <tr><td><b>Phone No:</b></td><td> <input type="text" name="phoneno" id="phoneno"></td></tr> </table> </form> <table border="0" width="100%" align="center"> <br> <br> </table> </body> </html>
continue........
3)AjaxServlet.java:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class AjaxServlet extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); String name = req.getParameter("name").toString(); System.out.println(name); String data =""; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:student"); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("select * from data where name='"+name+"'"); while(rs.next()) { data =":"+Integer.toString(rs.getInt("age")) + ":" + rs.getString("city"); } out.println(data); System.out.println(data); } catch (Exception e) { System.out.println(e); } } }
Thanks
hi thank you for your reply.With this code i can insert the data successfully into database but once i give submit button in insert.jsp it should be forwarded to ajax.jsp.In ajax.jsp once i give the name;;;age and city are not automatically fetched......can u help me??????
And can u send me the code for the same scenario using setAttribute and getparameter in servlet
Ads