I want to display values from database into table based on condition in query, how to display that? For example i have some number of books in database but i want to display books based on either bookname or authorname, for this i created one html page with fields bookname and authorname and search button and also action for that, if i enter either bookname or authorname and click on search button the values from database based on the bookname or authorname entered must be display as view.
Here is an application that search book by author's name.
1)search.jsp:
<html> <head> </head> <body> <br><br><br><br><br><br> <form method="post" name="frm" action="..//search"> <table border="0" width="300" align="center" bgcolor="#CDFFFF"> <tr><td colspan=2 style="font-size:12pt;color:#00000;" align="center"> <h3>Search</h3></td></tr> <tr><td ><b>Authors Name</b></td> <td>: <input type="text" name="name" id="name"> </td></tr> <tr><td colspan=2 align="center"> <input type="submit" name="submit" value="Search"></td></tr> </table> </form> </body> </html>
2) Search.java:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import javax.sql.*; import java.sql.*; import java.util.*; public class Search extends HttpServlet{ public void doPost(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 = "register"; String driver = "com.mysql.jdbc.Driver"; String userName = "root"; String password = "root"; Statement st; try { Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); System.out.println("Connected to the database"); String name = request.getParameter("name"); String query = "select * from books where authorname='"+name+"%'"; st = conn.createStatement(); ResultSet rs = st.executeQuery(query); out.println("<table border='1'><tr><th>Row Num</th><th>BookCode</th><th>Author Name</th><th>Book Title</th></tr>"); while(rs.next()){ out.println("<tr><td>"+rs.getString(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td></tr>"); } out.println("</table>"); conn.close(); System.out.println("Disconnected from database"); } catch (Exception e) { e.printStackTrace(); } } }
3)web.xml:
<servlet-name>Search</servlet-name> <servlet-class>Search</servlet-class> </servlet> <servlet-mapping> <servlet-name>Search</servlet-name> <url-pattern>/Search</url-pattern> </servlet-mapping>
For information, please go through the following links: