Write a SERVLET program to display the details of Product (ProdCode, PName, Price) on the browser in tabular format. (Use database)
Database Table (MySQL Example)
CREATE TABLE product (
prodcode INT PRIMARY KEY,
pname VARCHAR(50),
price DOUBLE
);
INSERT INTO product VALUES
(101, 'Laptop', 55000),
(102, 'Mouse', 500),
(103, 'Keyboard', 1200),
(104, 'Printer', 15000);
Servlet Program(ProductServlet.java)
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/ProductServlet")
public class ProductServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Product Details</title></head><body>");
out.println("<h2>Product Details</h2>");
try {
// Load JDBC Driver
Class.forName("com.mysql.cj.jdbc.Driver");
// Establish Connection
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/shop",
"root",
"root"
);
// SQL Query
String sql = "SELECT * FROM product";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// HTML Table
out.println("<table border='1' cellpadding='10'>");
out.println("<tr>");
out.println("<th>Product Code</th>");
out.println("<th>Product Name</th>");
out.println("<th>Price</th>");
out.println("</tr>");
while (rs.next()) {
out.println("<tr>");
out.println("<td>" + rs.getInt("prodcode") + "</td>");
out.println("<td>" + rs.getString("pname") + "</td>");
out.println("<td>" + rs.getDouble("price") + "</td>");
out.println("</tr>");
}
out.println("</table>");
// Close resources
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
out.println(e);
}
out.println("</body></html>");
out.close();
}
}
web.xml (Optional)
<web-app>
<servlet>
<servlet-name>ProductServlet</servlet-name>
<servlet-class>ProductServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ProductServlet</servlet-name>
<url-pattern>/ProductServlet</url-pattern>
</servlet-mapping>
</web-app>