I am trying to retrieve data from my database and show it in a table using jsp and servlet. I created the table and retrieve the data from the database but it is not showing in the table. I am not sure what is wrong. Here is my code so far:
JSP Page:
<h1>List of Cars in Inventory</h1>
<form name="table" action="Inventory" method="get">
<table>
<tr>
<td>Car ID</td>
<td>Car Make</td>
<td>Car Model</td>
<td>Car Year</td>
<td>Transmission Type</td>
<td>Rate Per Mile</td>
<td>Rate Per Day</td>
<td>Availability</td>
</tr>
<c:forEach var="vehicle" items="${list}">
<tr>
<td><c:out value="${vehicle.id}"/></td>
<td><c:out value="${vehicle.make}"/></td>
<td><c:out value="${vehicle.model}"/></td>
<td><c:out value="${vehicle.year}"/></td>
</tr>
</c:forEach>
</table>
</form>
Servlet Page:
public class Inventory extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
List<Vehicles> list = InventoryService.getListOfVehicles();
request.setAttribute("list", list);
request.getRequestDispatcher("inventory.jsp").forward(request,response);
}
Database Class:
public static List<Vehicles> getListOfVehicles()
{
Vehicles vehicles = new Vehicles();
List<Vehicles> vehicleList = new ArrayList<>();
try
{
Connection conn = DBConnection.getConnection();
String query = "SELECT * FROM Vehicles";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
while(rs.next())
{
vehicles.setId(rs.getInt("id"));
vehicles.setMake(rs.getString("make"));
vehicles.setModel(rs.getString("model"));
vehicles.setYear(rs.getString("year"));
vehicles.setRatePerMile(rs.getString("ratepermile"));
vehicles.setRatePerDay(rs.getString("rateperday"));
vehicles.setTaken(rs.getString("taken"));
vehicleList.add(vehicles);
}
}
catch (Exception e)
{
System.out.println(e);
}
return vehicleList;
}