0
我想從我的數據庫中檢索數據,並使用jsp和servlet將其顯示在表中。我創建了表並從數據庫中檢索數據,但未在表中顯示。我不知道什麼是錯的。這是我到目前爲止的代碼:在表中顯示數據庫JSP
JSP頁面:
<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頁面:
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);
}
數據庫類:
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;
}
檢查在地址欄中的網址是您SERVET的URL。使用你的調試器。或者至少在代碼中使用println語句。檢查你的servlet是否被執行。檢查你的數據庫類中發生了什麼。檢查查詢是否返回數據。檢查列表是否爲空。檢查生成的HTML是否正確。這是程序員的日常工作。請注意,您在Database類中多次存儲單個Vehicles實例。順便說一下,這個班級應該被命名爲車輛,而不是車輛。一個實例代表1輛車,車輛不多。 –