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辆车,车辆不多。 –