【发布时间】:2016-03-01 13:29:06
【问题描述】:
我不明白如何将值传递和显示到使用ResultSet 在servlet 中获得的jsp。我看到了很多例子。我不明白foreach 循环。为什么有两个变量?没有人使用jsp:useBean 了吗?
如何传递和显示数据。我尝试使用 bean 类,但 ResultSet 中的数据是一个表,我不知道如何设置和获取所有行的值。
请帮忙。
这是 servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Connection connection = null;
Statement stmt = null;
try {
StringBuffer data = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(NewServlet.class.getName()).log(Level.SEVERE, null, ex);
}
connection = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=DesktopScreen","sa","sa123");
stmt = connection.createStatement();
String query = "select * from ClientLogin";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String UniqueId,ClientId,RequestedDateTime,ConnectionStatus;
UniqueId = rs.getString("UniqueID");
ClientId = rs.getString("ClientId");
RequestedDateTime = rs.getString("RequestDateTime");
ConnectionStatus = rs.getString("ConnectionStatus");
BeanClass beanClass = new BeanClass();
beanClass.setUniqueId(UniqueId);
beanClass.setClientId(ClientId);
beanClass.setConnectionStatus(ConnectionStatus);
beanClass.setRequestDateTime(RequestedDateTime);
data = new StringBuffer();
data.append(UniqueId);
data.append(ClientId);
data.append(RequestedDateTime);
data.append(ConnectionStatus);
}
request.setAttribute("data", data);
request.getRequestDispatcher("Display.jsp").forward(request, response);
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
out.println("</center>");
out.print("</table>");
out.println("</body>");
out.println("</html>");
out.close();
try {
connection.close();
} catch (SQLException ex) {
Logger.getLogger(NewServlet.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
【问题讨论】: